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

標題: 單片機廚房定時報警系統源程序與proteus仿真設計等詳細資料 [打印本頁]

作者: GUOXU    時間: 2018-5-22 10:00
標題: 單片機廚房定時報警系統源程序與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)







歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日本少妇做爰全过程毛片 | 欧美日韩亚洲一区二区三区 | 日韩视频精品 | 成av人片一区二区三区久久 | 亚洲免费在线观看 | 看片黄全部免费 | 亚洲精品小视频 | 久久精品久久久久久久 | 久久久精品 | 国产精品美女在线观看 | cao视频 | 夜晚福利视频 | 狠狠做深爱婷婷久久综合一区 | 国产精品久久久一区二区三区 | 欧美另类z0zx974 | 性视频网 | av在线免费观看网站 | 久久精品视频一区 | 欧美性视频在线 | 欧美视频一二三区 | 日日操日日射 | 成人网av| 国产丝袜一区 | 成人免费看片视频 | 久草手机在线视频 | av在线资源网 | 最新国产在线视频 | 国产精品久久久久久久久久久久久久久 | 久久在线免费视频 | 日韩欧美在线一区 | 日本欧美久久久久免费播放网 | 亚洲欧美一区二区三区在线 | 国产精品777 | 国产又粗又猛视频免费 | 国产精品一区二区三区不卡 | 日韩精品视频在线 | 蜜桃色一区二区三区 | 国产精品欧美一区二区 | 午夜久久久| www.色婷婷 | 免费一级黄色 |