|
以51單片機(jī)為核心設(shè)計(jì)一個(gè)廚房定時(shí)報(bào)警器。具有倒計(jì)時(shí)計(jì)時(shí),時(shí)間設(shè)置,完成蜂鳴器報(bào)警提示功能。系統(tǒng)主要由51單片機(jī)進(jìn)行控制各個(gè)電路的配合,從而完成倒計(jì)時(shí)計(jì)時(shí)報(bào)警提示功能。電路包括:?jiǎn)纹瑱C(jī)最小系統(tǒng)電路,按鍵設(shè)置電路,數(shù)碼管顯示電路,蜂鳴器報(bào)警電路。
0.png (48.01 KB, 下載次數(shù): 53)
下載附件
2018-5-23 03:22 上傳
51單片機(jī)做的廚房定時(shí)報(bào)警器的設(shè)計(jì)說(shuō)明如下:
屏幕截圖(11).png (292.27 KB, 下載次數(shù): 43)
下載附件
2018-5-22 09:58 上傳
屏幕截圖(12).png (476.4 KB, 下載次數(shù): 87)
下載附件
2018-5-22 09:58 上傳
屏幕截圖(13).png (346.27 KB, 下載次數(shù): 55)
下載附件
2018-5-22 09:58 上傳
屏幕截圖(14).png (343.43 KB, 下載次數(shù): 45)
下載附件
2018-5-22 09:58 上傳
屏幕截圖(15).png (1.51 MB, 下載次數(shù): 54)
下載附件
2018-5-22 09:58 上傳
屏幕截圖(16).png (342.5 KB, 下載次數(shù): 57)
下載附件
2018-5-22 09:59 上傳
單片機(jī)源程序如下:
- #include <reg52.h>
- #define uint unsigned int
- void delay(uint z);
- sbit P20=P2^0; //數(shù)碼管公共端1
- sbit P21=P2^1; //數(shù)碼管公共端2
- sbit P22=P2^2; //數(shù)碼管公共端3
- sbit P23=P2^3; //數(shù)碼管公共端4
- sbit FMQ=P1^4; //蜂鳴器
- sbit zanting=P1^0; //暫停
- sbit qidong=P1^1; //啟動(dòng)
- sbit jia=P1^2; //加
- sbit jian=P1^3; //減
- char time=100; //初值
- char i=0,h;
- unsigned char code led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //數(shù)碼管0~9
- void delay(uint z) //延時(shí)
- {
- uint x,y;
- for(x=z;x>0;x--);
- for(y=100;y>0;y--);
- }
- void main()
- {
- FMQ=1; //關(guān)閉蜂鳴器
- EA=1; //總中斷開(kāi)關(guān)
- ET0=1; //開(kāi)啟計(jì)數(shù)
- ET1=1; //開(kāi)啟計(jì)數(shù)
- TMOD=0X11;//計(jì)時(shí)器方式控制
- TR0=1; //運(yùn)行控制器
- TR1=1; //運(yùn)行控制器
- TH0=0x3c;
- TL0=0xb0; //初值重裝
-
- TH1=0xec;
- TL1=0x78; //初值重裝
- IT0=1; //中斷開(kāi)啟
- IT1=1; //中斷開(kāi)啟
- EX0=1; //中斷允許
- EX1=1; //中斷允許
- while(1);
- }
- void zhongt() interrupt 1
- {
- TH0=0x3c; //重裝初值 50ms定時(shí)
- TL0=0xb0;
- h++;
- if(zanting==0) //判斷暫停按鍵是否按下
- {
- delay(500);
- TR0=0; //運(yùn)行控制器
- }
- if(jia==0) //判斷按鍵是否按下
- {
- delay(500);
- time++;
- while(jia == 0);
- }
- if(jian==0) //判斷按鍵是否按下
- {
- delay(500);
- time--;
- while(jian == 0);
- }
- if(h==20) //循環(huán)20次 延時(shí)1s
- {
- h=0; //計(jì)數(shù)值復(fù)位
- time--; //數(shù)減一
- if(time==0) //如果數(shù)為0時(shí)
- {
- P0= led[0]; //顯0
- P2=0xff; //位選全選,全顯0
- while(1)
- {
- FMQ=0;
- delay(50000);
- FMQ=1;
- delay(50000);
- }
- }
- }
- }
- void zhont() interrupt 3
- {
- TH1=0xf8; //重裝初值 高八位
- TL1=0x30; //低八位 動(dòng)態(tài)數(shù)碼管延時(shí)2ms
- i++;
-
- if(qidong==0) //判斷啟動(dòng)按鍵是否按下
- {
- TR0=1;
- }
- if(jia==0) //判斷按鍵是否按下
- {
- delay(500);
- time++;
- while(jia == 0);
-
- }
-
- if(jian==0) //判斷按鍵是否按下
- {
- delay(500);
- time--;
- while(jian == 0);
- }
- if(i==1) //百位數(shù)碼管
- {
- P20=0;
- P21=0;
- P22=0;
- P23=0;
- P0=led[time/1000];//位
- //delay(5);
- P20=1;
- }
- if(i==2) //位數(shù)碼管
- {
- P20=0;
- P21=0;
- P22=0;
- P23=0;
- P0=led[time/100%10];//百位
- //delay(5);
- P21=1;
- }
- if(i==3) //十位位數(shù)碼管
- {
- P20=0;
- P21=0;
- P22=0;
- P23=0;
- P0=led[time/10%10]; //十位
- //delay(5);
- P22=1;
- }
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
廚房定時(shí)器.zip
(114.82 KB, 下載次數(shù): 77)
2018-5-22 09:54 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|