找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13266|回復: 10
收起左側

51單片機定時鬧鐘仿真程序

  [復制鏈接]
ID:331502 發(fā)表于 2019-3-13 17:34 | 顯示全部樓層 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
dsn.PNG

定時鬧鈴的基本功能
1.定時鬧鈴的基本功能:
         使用3位七段顯示器來顯示定時時間和所剩的時間(以秒為單位)
         具有3個按鍵來設置定時的時間:
         操作鍵K1:開始定時(默認為60秒)
         操作鍵K2:增加定時時間(以一秒為單位遞增)
         操作鍵K3:減少定時時間(以一秒為單位遞減)
         定時時間到時蜂鳴器發(fā)出蜂鳴聲一分鐘后停止
2.定時鬧鈴的可選功能:
         3位七段顯示器采用動態(tài)顯示。
         當操作鍵K2被長時間按下(超過3秒)則以十秒為單位增加定時時間
         當操作鍵K3被長時間按下(超過3秒)則以十秒為單位減少定時時間

buzzer蜂鳴器需要把它設置里的operatingvoltage 里的電壓改為2v可以響,默認的12V不可以響
程序:
  1. #include<reg51.h>
  2. #include<stdio.h>
  3. unsigned char codetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  4. void show(int n);
  5. void staticshow(int a);
  6. void delay();
  7. void displaydelay();
  8. bit t=0;
  9. bit m=0;
  10. sbit up=P1^1;
  11. sbit down=P1^2;
  12. sbit start=P1^0;
  13. sbit buzzer=P1^3;
  14. void main()
  15. {
  16. TMOD=0x01;
  17. TH0=0x3c; //高位
  18. TL0=0xaf; //低位,高低16位換的十進制數(shù)是65535減去放大的倍數(shù)的數(shù),就是65535-放大倍數(shù)=0xTH0TL0,所以放大倍數(shù)基本在50000倍是極限了
  19. ET0=1;
  20. EA=1;
  21. TR0=1;
  22. while(1);
  23. }
  24. void show(int n)
  25. {
  26. P0=table[n/100];
  27. P2=~0x01;
  28. displaydelay();
  29. P2=0xff;
  30. P0=table[(n%100)%10];
  31. P2=~0x04;
  32. displaydelay();
  33. P2=0xff;
  34. P0=table[(n%100)/10];
  35. P2=~0x02;
  36. displaydelay();
  37. P2=0xff;
  38. }
  39. void staticshow(int a)
  40. {
  41. P0=table[a/100];
  42. P2=~0x08;
  43. displaydelay();
  44. P2=0xff;
  45. P0=table[(a%100)%10];
  46. P2=~0x20;
  47. displaydelay();
  48. P2=0xff;
  49. P0=table[(a%100)/10];
  50. P2=~0x10;
  51. displaydelay();
  52. P2=0xff;
  53. }
  54. void delay()
  55. {
  56. int i=30000;
  57. while(i--);
  58. }
  59. void displaydelay()
  60. {
  61. int i=2000;
  62. while(i--);
  63. }
  64. Timer0_int() interrupt 1
  65. {
  66.          staticchar i=20;//這里的“static”必須有,不然無法完成定時效果
  67.          staticint n=7;
  68.          staticint a=7;
  69.          staticint x=0;
  70.          staticint y=0;
  71.          staticint g=1;
  72.          buzzer=0;
  73.          show(n);
  74.          staticshow(a);
  75.          if(up==0)
  76. {
  77. n=n+g;
  78. a=a+g;
  79. if(y>0)
  80. {
  81. g=1;
  82. x=0;
  83. }
  84. delay();
  85. x++;
  86. if(x>=3)
  87. {
  88. g=10;
  89. }

  90. if(i==1000)
  91. {
  92. n=0;
  93. a=0;
  94. }
  95. }
  96. if(down==0)
  97. {
  98. n=n-g;
  99. a=a-g;
  100. if(x>0)
  101. {
  102. g=1;
  103. y=0;
  104. }
  105. delay();
  106. y++;
  107. if(y>=3)
  108. {
  109. g=10;
  110. }
  111. if(n==-1)
  112. {
  113. n=999;
  114. a=999;
  115. }
  116. }
  117.          if(start==0||t==1)
  118.          {
  119.          t=1;
  120.          if(i)
  121.          {
  122.          i--;
  123.          }
  124.          else
  125.          {
  126.          n--;
  127.          if(n==0)
  128.          {
  129.          buzzer=1;
  130.          t=0;
  131.          delay();
  132.          }
  133.          i=9;
  134.          }
  135.          }
  136.          TH0=0x3c;
  137.          TL0=0xaf;
  138. }
復制代碼


全部資料51hei下載地址:
3位led定時鬧鐘.rar (28.38 KB, 下載次數(shù): 173)

評分

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

查看全部評分

回復

使用道具 舉報

ID:576350 發(fā)表于 2019-7-2 13:49 | 顯示全部樓層
解壓不了啊
回復

使用道具 舉報

ID:576350 發(fā)表于 2019-7-2 14:14 | 顯示全部樓層
解壓不了
回復

使用道具 舉報

ID:607762 發(fā)表于 2019-11-14 22:31 | 顯示全部樓層
運行不對啊
回復

使用道具 舉報

ID:635436 發(fā)表于 2019-11-18 16:14 | 顯示全部樓層
第26行table未定義標識符
回復

使用道具 舉報

ID:629890 發(fā)表于 2019-12-18 19:03 | 顯示全部樓層

沒消抖嗎,閃的也太厲害了。。。
回復

使用道具 舉報

ID:709567 發(fā)表于 2020-3-16 20:38 | 顯示全部樓層
有大神可以簡單講解一下程序嗎?我是匯編小白呀
回復

使用道具 舉報

ID:713556 發(fā)表于 2020-3-22 18:36 | 顯示全部樓層
看不是太懂  難搞
回復

使用道具 舉報

ID:741893 發(fā)表于 2020-5-18 23:38 | 顯示全部樓層
為什么不用7seg-mpx6-cc
回復

使用道具 舉報

ID:767212 發(fā)表于 2020-6-2 09:45 | 顯示全部樓層
這個好用嗎
回復

使用道具 舉報

ID:764107 發(fā)表于 2020-6-2 10:18 | 顯示全部樓層
沒有時和分的顯示嗎?我覺得可以添加個小時和分鐘的顯示,這樣看起來才實用一點
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

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