Lập trình nút nhấn đơn giản

Một phần của tài liệu Giáo trình vi điều khiển cơ bản dùng c++ (Trang 28 - 30)

Ở các bài trước mình đã hướng dẫn các bạn xuất dữ liệu từ vi điều khiển rồi thì hôm nay mình sẽ viết bài viết về nhận dữ liệu từ nút nhấn, có thể là tín hiệu điều khiển .v.v.. tùy vào ứng dụng của bạn

Để vi điều khiển nhận được xung điều khiển thì rất là đơn giản chỉ cần nối dữ liệu vào post của VĐK ở đây sử dụng nút nhấn.

Trong lập trình để kiểm tra sự kiện nào đó thì các bạn có thể sử dụng câu điều kiện trong vòng lặp VD:

sbit nut = P1^0; //khai báo biến kiểu bit, P1.0 làm nút nhấn while(1){ //Chờ khi nào chân P1.0 xuống mức thấp

if(nut==0){ //code ctr }

}

Viết ngắn gọn:

while(nut); //khi p1.0 xuống 0 làm điều kiện sai vòng lặp sẽ thoát //code ctr

OK đây là code tham khảo, mỗi khi nhấn nút thì LED nháy 3 lần, giữ nút thì LED nhấp nháy liên tục:

#include

void delay(unsigned char t){ //Chuong trinh tao tre 50ms unsigned char i; for(i=0;i<t;i++){ TH0=0x3c; TL0=0xb0; TR0=1; while(!TF0); TF0=TR0=0; } }

//Khai bao bien kieu bit

sbit nut = P1^0; //Chan P1.0 lam nut an sbit led = P3^0; //Chan P3.0 gan led unsigned char j;

/* Ctr khi nhan nut thi LED nhap nhay tan so 1Hz */ void main(){

TMOD=0x01;//Sd timer0 lam delay delay(20); //led sang khi cap nguon led=0; //roi tat led

while(1){

while(nut); //Cho nhan nut thi chay code ben duoi for(j=0;j<3;j++){//vong lap for

led=1; //led sang delay(10); //tre 0.5s

led=0; //led tat delay(10); //tre 0.5s }

}} }

Một phần của tài liệu Giáo trình vi điều khiển cơ bản dùng c++ (Trang 28 - 30)