E đang tập tọe học vdk và có copy dc vài code về chỉnh sửa nhưng đang muốn hỏi về nút ấn 
Ctrinh của e là ntn: Nếu P3_1=0 (ấn nút) thì ctrinh chạy luôn và ko nhận dữ liệu từ P3_1 nữa nghĩa là nhấn hay giữ thì mặc kệ nó
Ctrinh chạy xong thì chờ khoảng 30 giây nếu ko có P3_2=0 (ấn nút P3_2 hoặc reset vdk ) thì lại chạy lại 1 lần nữa ctrinh mà vừa nãy chạy xong, rồi cho con vdk này đơ luôn ko làm j nữa, chờ dc reset (ấn nút P3_2 hoặc reset vdk ) thì hoạt động lại như ban đầu.
Và đây là code mong các cao thủ sửa giúp:

Ctrinh của e là ntn: Nếu P3_1=0 (ấn nút) thì ctrinh chạy luôn và ko nhận dữ liệu từ P3_1 nữa nghĩa là nhấn hay giữ thì mặc kệ nó
Ctrinh chạy xong thì chờ khoảng 30 giây nếu ko có P3_2=0 (ấn nút P3_2 hoặc reset vdk ) thì lại chạy lại 1 lần nữa ctrinh mà vừa nãy chạy xong, rồi cho con vdk này đơ luôn ko làm j nữa, chờ dc reset (ấn nút P3_2 hoặc reset vdk ) thì hoạt động lại như ban đầu.
Và đây là code mong các cao thủ sửa giúp:
Code:
#include <REG2051.H>
void delay(unsigned char t){
unsigned char i;
for(i=0;i<t;i++){
TMOD=0x01;
TH0=0x61; //-50000 us 3c b0
TL0=0xa8;
TR0=1;
while(!TF0); //cho timer0 tràn
TF0=TR0=0;
}
}
void main(){
unsigned int k, l, a;
unsigned char m1[2]={0x06,0x0f}; //mang bit cho P1
unsigned char m2[6]={0x06,0x0a,0x06,0x0c,0x06,0x16}; //mang bit cho P1
for(l=0;l<3;l++) //Chuong trinh chay
{
for(k=0;k<2;k++)
{
P1=m1[k];
delay(20);
}
}
for(a=0;a<6;a++)
{
P1=m2[a];
delay(30);
} //het
}

Comment