Đếm số lần nhấn của 3 cặp nút nhấn ???

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • mvuongvn
    Thành viên mới
    • Oct 2011
    • 12

    #1

    Đếm số lần nhấn của 3 cặp nút nhấn ???

    Khi e bấm nút nào đó thì nó nháy rồi mới chịu sáng. E muốn hỏi làm sao để nó sáng liên tục k bị tắt khi bấm nút
    E mô phỏng thì nó chỉ bị chớp khi bấm nút thôi nhưng sao khi e gửi bài này qua cho thằng bạn thì mấy con led nó bị chớp chớp k sáng liên tục được ?
    Thanks

    dkdongco.rar

    Code:
    #include <16f877a.h>
    #include <def_877a.h>
    #fuses   NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOBROWNOUT,NOLVP,NOCPD,NOWRT
    #use delay(clock=20000000)
    
    int16 led[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
    int16 a,b,c;
    
    
    void hienthi() 
    {
          portd=led[a]; RC4=0; delay_us(400); RC4=1;
          portd=led[b]; RC5=0; delay_us(400); RC5=1;
          portd=led[c]; RC6=0; delay_us(400); RC6=1;
    }
    
    void main()
    {
       trisd = 0x00;
       portd = 0x00;
       trisc = 0x00;
       portc = 0x00;
     while(1)
    {
      
       if(RA0==0) 
       {
          a++;
          while(RA0==0);
          delay_ms(10);
          if(a==10) a=0;
       }
       
       else if(RA1==0)
       {
          a--;
          while(RA1==0);
          delay_ms(10);
          if(a==-1) a=9;
       }
          
       else if(RA2==0) 
       {
    
          b++;
          while(RA2==0);
          delay_ms(10);
          if(b==10) b=0;
    
       }
       else if(RA3==0)
       {
          b--;
          while(RA3==0);
          delay_ms(10);
          if(b==-1) b=9;
    
       }  
      
       else if(RA4==0)
       {
          c++;
          while(RA4==0);
          delay_ms(10);
          if(c==10) c=0;
    
          
       }
       else if(RA5==0)
       {
          c--;
          while(RA5==0);
          delay_ms(10);
          if(c==-1) c=9;
    
    }
    hienthi();
    }
    }
    Click image for larger version

Name:	Untitled.jpg
Views:	1
Size:	108.9 KB
ID:	1415117
  • takado
    Thành viên chính thức
    • May 2009
    • 81

    #2
    if(RA0==0)
    {
    a++;
    while(RA0==0);// lỗi ở đây
    delay_ms(10);
    if(a==10) a=0;
    }
    Yêu em do duyên số
    lấy em do sự cố xảy ra.........

    Comment

    • mvuongvn
      Thành viên mới
      • Oct 2011
      • 12

      #3
      E chỉ muốn mỗi lần bấm nó thay đổi 1 đơn vị thôi. Bỏ dòng đó đi nó nhảy mấy đơn vị lận

      Comment

      Về tác giả

      Collapse

      mvuongvn Tìm hiểu thêm về mvuongvn

      Bài viết mới nhất

      Collapse

      Đang tải...