找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1805|回复: 3
打印 上一主题 下一主题
收起左侧

怎么用单片机外部中断做一个2位的计数器?

[复制链接]
跳转到指定楼层
楼主

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:752974 发表于 2022-3-18 08:48 | 只看该作者
两位计数器,十进制的话,最大值99。定义一个全局变量,每中断一次变量++,大于99清零。
回复

使用道具 举报

板凳
ID:161164 发表于 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?
回复

使用道具 举报

地板
ID:45879 发表于 2022-3-18 11:31 | 只看该作者
lkc8210 发表于 2022-3-18 09:29
手按计数器就不需要用中断吧?

这里为什么用74HC245?

为了让数码管 亮些
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表