找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1805|回復: 3
打印 上一主題 下一主題
收起左側

怎么用單片機外部中斷做一個2位的計數器?

[復制鏈接]
跳轉到指定樓層
樓主
ID:1011162 發(fā)表于 2022-3-17 19:18 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:752974 發(fā)表于 2022-3-18 08:48 | 只看該作者
兩位計數器,十進制的話,最大值99。定義一個全局變量,每中斷一次變量++,大于99清零。
回復

使用道具 舉報

板凳
ID:161164 發(fā)表于 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 發(fā)表于 2022-3-18 11:31 | 只看該作者
lkc8210 發(fā)表于 2022-3-18 09:29
手按計數器就不需要用中斷吧?

這里為什么用74HC245?

為了讓數碼管 亮些
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表