AVR单片机按键处理与按键防抖动程序

来源:本站
导读:目前正在解读《AVR单片机按键处理与按键防抖动程序》的相关信息,《AVR单片机按键处理与按键防抖动程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《AVR单片机按键处理与按键防抖动程序》的详细说明。
简介:本文给大家分享了一个AVR单片机按键处理与按键防抖动程序。

  #include  #include #includeunsigned char A,B;unsigned char n; bit step1, step2, step3,step4;                     //使用几个位变量记忆按键状态    /#include  #include #includeunsigned char A,B;unsigned char n; bit step1, step2, step3,step4;                     //使用几个位变量记忆按键状态    //*************************************************** interrupt [10] void TC2_OVF(void){   if(n<255) n++;                     if(PIND.2==1 && n>8) step1=1;                    //按键松开一定时间后开始进入可用状态  if(PIND.2==0 && step1) {step1=0; step2=1; n=0;}  //按键由可用状态进入到按下状态  if(PIND.2==1 && step2) {step2=0; step3=1; n=0;}  //按键由按下状态进入到松开状态      //-------------------------------------------------                                                      //按键按下后...  if(step2)  {    n++;    if(n>60)                                       //如果按下超过一定时间     {      A+=1;      n=40;      step4=1;    }  }       //-------------------------------------------------      if(step3)                                        //按键松开后...  {    step3=0;    if(step4) step4=0; else A+=1;  }}//***************************************************//www.avrdiy.com panxiaoyivoid main(void){     PORTB&=209;         DDRB|=46;                                        //设置单片机的4个LCD引脚输出0          lcd_init();                                      //lcd初始化                  lcd_cls();                                       //清屏,光标回位         DDRD.2=0;   PORTD.2=1;                                       //PD2设置为输入,上拉电阻有效(接按键)    TCCR2B|=4;                                       //T/C2采用系统时钟的64分频   #asm("sei");                                     //全局中断使能  TIMSK2|=1;                                       //T/C2计数溢出中断使能    while (1)  {       B+=1;         lcd_gotoxy(12,1);     lcd_putsf("AVRDIY.COM",10);           lcd_gotoxy(15,3);    lcd_putchar(B/100+48);                         //显示变量B    lcd_putchar(B/10%10+48);    lcd_putchar(B%10+48);        lcd_gotoxy(52,3);      lcd_putchar(A/100+48);                         //显示变量A    lcd_putchar(A/10%10+48);       lcd_putchar(A%10+48);       };}

提醒:《AVR单片机按键处理与按键防抖动程序》最后刷新时间 2024-03-14 00:57:59,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《AVR单片机按键处理与按键防抖动程序》该内容的真实性请自行鉴别。