View Single Post
Old 18-02-2011, 03:36 PM   #9
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Thumbs up

Trích:
Nguyên văn bởi kiemkhach10 View Post
với cách mắc này thì cách bắt phím như thế nào nhỉ các bác?( bắt các phím đơn và bắt nhiều phím một lúc)
cám ơn các bác!
Mình viết lại đoạn code lấy từ trang chaokhun và có chỉnh sửa một chút nhé
Nếu bạn sử dụng thì chỉnh sửa lại cho phù hợp (ở đây mình chỉ viết dưới dạng thuật toán)
Code:
key[]=-1//xoa mang key[] ve -1
for(i=0;i<4;i++)  /* 4-DIGIT scanning */
    {
    position = digit;
    bus_led = buffer[i];//data_led
    delay_ms(5)
    bus_led = off;
    /*phan lay ma phim*/
    if (RB5==1)
        key[i] = 1; //cac phim dc bam se dc set len 1 trong mang key
        
    digit<<=1;
    }
    
if (key[] != -1)//kiem tra mang key[i], co cai nao khac -1 thi thuc hien
    {
    if(flag1== 0)
      	{
        flag1=1;
        delay = 50;//thiet lap thoi gian delay phim
        for(i=0;i<4;i++)
            {
            switch(key[i])
              {
              case (0): /* key position 0*/
              break;
              case (1): /* key position 1*/
              break;
              case (2): /* key position 2*/
              break;
              case (3): /* key position 3*/
              break;
              }
            }
        }
    }
if (flag1 !=0)//sau khi bam nut thi delay phim
    {
    delay--;
    if(delay==0)flag1=0;
    }
tham khảo http://www.kmitl.ac.th/~kswichit/clock/clock.htm

thay đổi nội dung bởi: nhanh0112, 18-02-2011 lúc 03:49 PM.
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn