Em đang làm cái đồ án về khóa điện tử sử dụng 89c51, lcd và bàn phím 4x4. Cái đoạn code bên dưới e sửa hoài mà vẫn chua được! ví dụ khi ta đặt pass là 6 số 0 thì khi nhập 2 số 0 thì nó cũng chấp nhận. hoặc khi đặt pass là 001 thì khi nhập 100 nó vẫn nhận dạng là nhập đúng pass. Mọi người có cách nào hay hơn không chỉ giùm e với!
void commond(void) //xử lý chuỗi pass khi nhập vào từ bàn phím
{
quetphim(); //gọi hàm quét phím
if(gt!=gt1) //gt là giá trị nhận dược sau khi quét phím;ban đầu gt1=0
number =( number* 10 + gt); //number là chuỗi pass nhập vào
gt1=gt;
if(k==0) //k là số lần nhấn phím
{
ghilenh(0xC0); //dưa con trỏ lcd về đầu dòng thứ hai
chuoi(" "); //ghi chuỗi lên lcd
}
else
{
ghilenh(0xC0+k);
chuoi("*");
void commond(void) //xử lý chuỗi pass khi nhập vào từ bàn phím
{
quetphim(); //gọi hàm quét phím
if(gt!=gt1) //gt là giá trị nhận dược sau khi quét phím;ban đầu gt1=0
number =( number* 10 + gt); //number là chuỗi pass nhập vào
gt1=gt;
if(k==0) //k là số lần nhấn phím
{
ghilenh(0xC0); //dưa con trỏ lcd về đầu dòng thứ hai
chuoi(" "); //ghi chuỗi lên lcd
}
else
{
ghilenh(0xC0+k);
chuoi("*");
Comment