欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于C51單片機中斷系統做兩位電子秒表70秒倒計時例子

[復制鏈接]
跳轉到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg51.h>


  2. char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};      //共陰極LED字模


  3. sbit P3_0=P3^0;                                                          //定義位變量
  4. sbit P3_1=P3^1;

  5. unsigned char  x,y,num=70,n=0;          //宏定義 num為秒表時間設置函數


  6. void delay(unsigned int time)
  7. {                                          //延時1ms函數
  8.      unsigned int j=0;
  9.         for(;time>0;time--)
  10.       for(j=0;j<125;j++);
  11. }
  12. void key() interrupt 1
  13. {                                                                                                 //中斷函數               
  14.      TL0 = 0xB0;                                                        //初值重裝
  15.      TH0 = 0x3C;
  16.      n++;                                                               //計時
  17.      if(n==20)                                                          //1s到了
  18.         {
  19.                 n=0;                                                    //每秒重置一次
  20.                 if(num==0)  num=70;                                    //每70s循環
  21.                 x=num/10;                                               //LED顯示十位
  22.                 y=num%10;                                               //LED顯示個位
  23.                 num--;                                                  //每定時1s,倒計時減一秒
  24.         }
  25. }
  26. void main()
  27. {
  28.     TMOD = 0x01;                                                        //T0工作在方式1
  29.     TL0 = 0xB0;                                                         //50ms
  30.     TH0 = 0x3C;
  31.     ET0 = 1;                                                            //開定時器0中斷允許位
  32.     EA = 1;                                                             //開總中斷
  33.     TR0 = 1;                                                            //開定時器0
  34.     while(1)
  35.         {                                                                           //數碼管的動態顯示
  36.         P3_1 = 1;                                                       //數碼管的個位顯示
  37.         P2 = led_mod[x];
  38.         P3_0 = 0;
  39.         delay(5);

  40.         P3_0 = 1;                                                       //數碼管的十位顯示
  41.         P2 = led_mod[y];
  42.         P3_1 = 0;  
  43.         delay(5);
  44.                 }
  45. }
復制代碼

所有資料51hei提供下載:
基于C51中斷系統做兩位電子秒表例子.rar (32.25 KB, 下載次數: 34)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:535215 發表于 2020-11-28 18:23 | 只看該作者
good
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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