|
能完成測(cè)試室內(nèi)室外溫度,并且可以設(shè)計(jì)報(bào)警閾值,
用89c51單片機(jī)實(shí)現(xiàn),
程序用操作系統(tǒng)寫(xiě)的,
供大家學(xué)習(xí),內(nèi)容都是原創(chuàng),
如有不足之地,請(qǐng)多多指教。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei截圖20200322102241.png (24.42 KB, 下載次數(shù): 30)
下載附件
仿真
2020-3-22 10:23 上傳
51hei截圖20200322102328.png (74.55 KB, 下載次數(shù): 39)
下載附件
程序
2020-3-22 10:23 上傳
單片機(jī)源程序如下:
- #include "config.h"
- bit flag1s=0;
- uint threshold=600;//閾值
- void delay(uint x)//us級(jí)延時(shí)
- {
- while(x--);
- }
- void init_TIM()//定時(shí)器初始化
- {
- TMOD=(TMOD&0x0F)|0x10; //初始化定時(shí)器
- TH1=0xdc;//20ms
- TL1=0x00;
- TR1=ET1=1;//啟動(dòng)定時(shí)器1,開(kāi)啟定時(shí)器1中斷
- RCAP2H=0x4c;//50ms
- RCAP2L=0x00;
- ET2=TR2=1;//啟動(dòng)定時(shí)器2,開(kāi)啟定時(shí)器2中斷
- EA=1;//總中斷打開(kāi)
- }
- void main0() _task_ 0//任務(wù)0
- {
- delay(20000);//上電等待單片機(jī)
- init_TIM();//定時(shí)器初始化
- beep=1;
- os_create_task(1);//激活任務(wù)一
- os_create_task(2);//激活任務(wù)二
- os_delete_task(0);//刪除任務(wù)0
- while(1);
- }
- void TIM1() interrupt 3//定時(shí)器1中斷
- {
- TH1=0xdc;//20ms
- TL1=0x00;
- if(TC>threshold||TC1>threshold)
- {
- beep=0;
- }
- else
- beep=1;
- }
- void TIM2() interrupt 5//定時(shí)器2中斷
- {
- static uchar num=0;
- TF2=0;
- num++;
- if(num==20)
- {
- num=0;
- flag1s=1;
- }
- }
復(fù)制代碼
51hei截圖20200322102344.png (6.04 KB, 下載次數(shù): 32)
下載附件
文件
2020-3-22 10:23 上傳
全部資料51hei下載地址:
溫控項(xiàng)目.zip
(166.47 KB, 下載次數(shù): 18)
2020-3-22 10:25 上傳
點(diǎn)擊文件名下載附件
程序仿真都在內(nèi) 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|