久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機廚房定時報警系統源程序與proteus仿真設計等詳細資料

[復制鏈接]
跳轉到指定樓層
樓主
以51單片機為核心設計一個廚房定時報警器。具有倒計時計時,時間設置,完成蜂鳴器報警提示功能。系統主要由51單片機進行控制各個電路的配合,從而完成倒計時計時報警提示功能。電路包括:單片機最小系統電路,按鍵設置電路,數碼管顯示電路,蜂鳴器報警電路。


51單片機做的廚房定時報警器的設計說明如下:


單片機源程序如下:
  1. #include <reg52.h>
  2. #define uint unsigned int
  3. void delay(uint z);
  4. sbit P20=P2^0;             //數碼管公共端1
  5. sbit P21=P2^1;             //數碼管公共端2
  6. sbit P22=P2^2;             //數碼管公共端3
  7. sbit P23=P2^3;             //數碼管公共端4
  8. sbit FMQ=P1^4;                 //蜂鳴器
  9. sbit zanting=P1^0;         //暫停
  10. sbit qidong=P1^1;         //啟動
  11. sbit jia=P1^2;                 //加
  12. sbit jian=P1^3;             //減
  13. char time=100;                 //初值
  14. char i=0,h;
  15. unsigned char code led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //數碼管0~9

  16. void delay(uint z)        //延時
  17. {
  18.         uint x,y;
  19.         for(x=z;x>0;x--);
  20.         for(y=100;y>0;y--);
  21. }

  22. void main()
  23. {
  24.         FMQ=1;    //關閉蜂鳴器
  25.         EA=1;     //總中斷開關
  26.         ET0=1;    //開啟計數
  27.         ET1=1;    //開啟計數
  28.         TMOD=0X11;//計時器方式控制
  29.         TR0=1;    //運行控制器
  30.         TR1=1;    //運行控制器

  31.         TH0=0x3c;
  32.         TL0=0xb0; //初值重裝
  33.         
  34.         TH1=0xec;
  35.         TL1=0x78; //初值重裝

  36.         IT0=1;    //中斷開啟
  37.         IT1=1;    //中斷開啟

  38.         EX0=1;    //中斷允許
  39.         EX1=1;    //中斷允許

  40.         while(1);
  41. }

  42. void zhongt() interrupt 1
  43. {
  44.         TH0=0x3c;       //重裝初值 50ms定時
  45.         TL0=0xb0;
  46.         h++;

  47.         if(zanting==0)  //判斷暫停按鍵是否按下
  48.     {        
  49.                 delay(500);
  50.                 TR0=0;      //運行控制器
  51.         }
  52.         if(jia==0)  //判斷按鍵是否按下
  53.     {        
  54.                 delay(500);
  55.                 time++;
  56.                 while(jia == 0);   
  57.         }
  58.         if(jian==0)  //判斷按鍵是否按下
  59.     {        
  60.                 delay(500);
  61.                 time--;
  62.                 while(jian == 0);              
  63.         }
  64.         if(h==20)       //循環20次  延時1s
  65.         {        
  66.             h=0;            //計數值復位
  67.             time--;            //數減一
  68.             if(time==0) //如果數為0時
  69.             {        
  70.                         P0= led[0];                //顯0
  71.                         P2=0xff;                //位選全選,全顯0
  72.                 while(1)
  73.                     {
  74.                                  FMQ=0;
  75.                                   delay(50000);
  76.                                   FMQ=1;
  77.                                   delay(50000);
  78.                           }
  79.                 }
  80.         }
  81. }

  82. void zhont() interrupt 3
  83. {
  84.         TH1=0xf8;     //重裝初值 高八位
  85.         TL1=0x30;     //低八位        動態數碼管延時2ms
  86.         i++;
  87.         
  88.         if(qidong==0) //判斷啟動按鍵是否按下
  89.         {
  90.                 TR0=1;
  91.         }

  92.         if(jia==0)  //判斷按鍵是否按下
  93.     {        
  94.                 delay(500);
  95.                 time++;
  96.                 while(jia == 0);
  97.                      
  98.         }
  99.          
  100.         if(jian==0)  //判斷按鍵是否按下
  101.     {        
  102.                 delay(500);
  103.                 time--;
  104.                 while(jian == 0);     
  105.         }
  106.         if(i==1)     //百位數碼管
  107.         {
  108.                 P20=0;
  109.                 P21=0;
  110.                 P22=0;
  111.                 P23=0;
  112.                 P0=led[time/1000];//位
  113.                 //delay(5);
  114.                P20=1;
  115.         }
  116.         if(i==2)     //位數碼管
  117.         {
  118.                 P20=0;
  119.                 P21=0;
  120.                 P22=0;
  121.                 P23=0;
  122.                 P0=led[time/100%10];//百位
  123.                 //delay(5);
  124.                P21=1;
  125.         }
  126.         if(i==3)     //十位位數碼管
  127.         {
  128.                 P20=0;
  129.                 P21=0;
  130.                 P22=0;
  131.                 P23=0;
  132.                 P0=led[time/10%10]; //十位
  133.                 //delay(5);
  134.                 P22=1;
  135.         }         
  136. ……………………

  137. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
廚房定時器.zip (114.82 KB, 下載次數: 77)


評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品一区在线观看 | 蜜臀久久99精品久久久久野外 | 91视频进入| av黄色在线 | 成人在线视频看看 | 中文字幕不卡在线88 | 亚洲欧美日韩电影 | 一区二区三区国产 | 欧美极品在线播放 | 日韩成人免费视频 | 91豆花视频| 99久久婷婷国产综合精品电影 | 免费成人高清 | 国产亚洲精品精品国产亚洲综合 | 国产伦精品一区二区 | 成年网站在线观看 | 国产成人精品久久久 | 亚洲人成在线播放 | 国产欧美日韩一区二区三区 | 四虎最新视频 | 国产成人综合网 | 国产精品久久久久久一区二区三区 | 羞视频在线观看 | 久久久这里都是精品 | 成人精品久久日伦片大全免费 | 国产亚洲精品美女久久久久久久久久 | 欧美色综合天天久久综合精品 | 精品欧美乱码久久久久久 | av天天看| 粉嫩高清一区二区三区 | 国产免费观看视频 | 亚洲欧美国产精品久久 | 欧美日韩一区二区三区四区 | 日本福利片 | 国产精品久久一区二区三区 | 亚洲三区在线观看 | 国产探花在线观看视频 | 在线一区二区三区 | 一级a性色生活片久久毛片 午夜精品在线观看 | 国产成人免费视频 | 久久亚洲一区 |