标题: 怎么用单片机外部中断做一个2位的计数器? [打印本页]

作者: 江北丨    时间: 2022-3-17 19:18
标题: 怎么用单片机外部中断做一个2位的计数器?


作者: munuc_w    时间: 2022-3-18 08:48
两位计数器,十进制的话,最大值99。定义一个全局变量,每中断一次变量++,大于99清零。
作者: lkc8210    时间: 2022-3-18 09:29
手按计数器就不需要用中断吧?
  1. sbit Key_Add = P3^2;
  2. sbit Key_Rst = P3^3;
  3. char num = 0;

  4. void key_Proc()//多键短按
  5. {
  6.         static u16 Delay_XD=0;                        //消抖计数
  7.         if(!Key_Add || !Key_Rst)
  8.         {
  9.                 if(Delay_XD<0xFFFF)Delay_XD++;
  10.                 //else Delay_XD = 0;                //连按功能
  11.                 if(Delay_XD==0xFF)                        //消抖
  12.                 {
  13.                         if(!Key_Add)
  14.                         {
  15.                                 num++;
  16.                         }
  17.                         if(!Key_Rst)
  18.                         {
  19.                                 num=0;
  20.                         }
  21.                 }
  22.         }
  23.         else                                                        //按键抬起
  24.                 Delay_XD=0;                                        //Delay_XD清0
  25. }
复制代码

这里为什么用74HC245?
作者: yueguang3048    时间: 2022-3-18 11:31
lkc8210 发表于 2022-3-18 09:29
手按计数器就不需要用中断吧?

这里为什么用74HC245?

为了让数码管 亮些




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1