Có lẽ chúng ta đã quá quen với các loại button, nút nhấn rồi. Tuy nhiên, có thể, chỉ có thể thôi nhé, bạn vẫn chưa biết hết về các loại nút nhấn phổ biến. Vì vậy, hôm nay, mình sẽ tổng hợp giúp bạn các loại button phổ biến và cách dùng của nó.
Button là nút bấm, bạn có thể tìm thấy nó ở mọi thứ trong cuộc sống, chẳng hạn như cái nút trong bàn phím của bạn .
Các loại button
Button có rất nhiều loại, và mỗi loại lại có ứng dụng riêng của nó. Vì vậy, chỉ cần vận dụng hợp lý và sáng tạo các loại button - nút bấm, bạn sẽ làm nên những dự án cực.
Đây là loại button rất phổ biến, cũng như đèn LED, loại button này cũng có các kính thước cạnh 6mm hoặc 12m. Loại 6mm hay được dùng trong các dự án nhỏ và loại còn lại dùng cho các dự án bự hơn và cần nút to để ngầu hơn. Mình thì cực thích loại 12mm vì nó to, dễ hàn và bấm sướng tay, không đau tay như loại 6mm. Và giá thành thì khá rẻ, loại 6mm có giá khoảng 1500 dồng và 2500 đồng cho loại 12mm.
Loại này tuy là 4 chân, nhưng thực chất cũng chỉ là 2 chân mà thôi, bạn xem hình dưới là rõ ngay.
Ngoài ra, vì có 4 chân nên nó khá vững chãi và rất khó hư !
Nút nhấn (button) được sử dụng rất nhiều trong cuộc sống hằng ngày chúng ta điều tiếp xúc với nó.
Nút nhấn có rất nhiều trạng thái khác nhau như là : tích cực mức thấp, tích cực mức cao,nhấn giữ thì thực hiện chương trình…….. Nói chung là vậy nhưng trong bài này mình chỉ giới thiệu với các bạn 2 cách thường dùng nhất là :
a. Tích cực mức thấp.
Đây là cách mà chúng ta thường sử dụng nhất.
b. Tích cực mức cao.
Cách này thì rất ít khi chúng ta sử dụng.
- Đây là ảnh mô phỏng protues.
- Đây là code chương trình.
#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#define _XTAL_FREQ 8000000 // if 4Mhz is XT
// CONFIG
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)
void main(void)
{
TRISA = 0X01;
TRISB = 0X01;
TRISD = 0X00;
PORTD = 0X00;
ADCON1 = 0x07; // off ADC
while(1)
{
if(PORTAbits.RA0==0)
{
__delay_ms(100);
if(PORTAbits.RA0==0)
{
}
}
if(PORTBbits.RB0==1)
__delay_ms(100);
if(PORTBbits.RB0==1)
{
}
}
}
- Link download project Click here
Xem thêm tại Blog Programming PIC
Nguồn: Programming PIC