版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、電路圖電熱水器自動控溫系統(tǒng)的設(shè)計和實現(xiàn)下位機#include math.h#include reg51.#include INTRIN#define N 4S.Hsbit adcstartale = sbit adc_con=P2 sbit adcoe= sbit key1=P sbit key2=P =PP3710;11;3;P37;6sbit key4=P sbit int_0=P32;sbit int_1=P33; sbit P15=P15;=P16;void delay(); void delay1();void inituart(voi unsigned cha void fillb
2、uff();void shooid r gbu void led(); ;); ettemper();void keyproc void filter();void send_char();ledtab/ 段碼le=0 x0-9,-deco ledtable1 碼 0.-9. unsigned unsigned unsigned unsignedg;ess() ;unsigned/ 鍵值/ 是否按鍵按下圖 1-2 下位機電路圖,0 x80/ 主函數(shù)void main()EX1=1; / 允許 INT1 中斷EA=1; / 中斷總允許IT1=1; / INT1 邊沿觸發(fā)方式level=0; /
3、初始鍵值levelflag=0;/ 無鍵按下標(biāo)志temperflag=0; / 鍵值temper=0; /adc 初始值P16=0;inituart();/ 串口初始化while(1)filter();delay1();showbuff(); / 顯示溫度值led();if(levelflag|temperflag)send_char();/ 如果有按鍵按下或者采集到的值和前一刻不相同 時,將 / 溫度或檔位發(fā)給上位機/ 延時函數(shù)void delay()int i,j;for(i=0;i50;i+) for(j=0;j1;j+);void delay1()int i,j;for(i=0;i15
4、0;i+) for(j=0;j25;j+);/ 檢測void led()if(level=1) if(video_buff3=level)|(video_buff3=level+1)&(video_buff 4=0) P16=0;else P16=1;/ 如果有按鍵按下或者采集到的值和前一刻不相同時,將溫 度或檔位發(fā)給上位機else if(video_buff3=level)&(video_buff4!=0)|(video_buff3= =level+1)&(video_buff4=0) P16=0;else P16=1; / 如果有按鍵按下或者采集到的值和前一刻不相同時,將溫 度或檔位發(fā)給上
5、位機/ 得到采樣值unsigned char gettemper() unsigned char adcdata;EA=0; adc_con=0; adcstartale=0; adcstartale=1;P0=0 xff; while(int_0=0); adcoe=0; adcdata=P0; adcoe=1;/ 采樣時關(guān)閉所有中斷_nop_();_nop_();/ 啟動 A/D 轉(zhuǎn)換,下降沿有效/ 等待轉(zhuǎn)換完成/ 允許讀 ADC0808/ 將轉(zhuǎn)換后的數(shù)據(jù)送單片機的 P0 口/ 不允許讀 ADC0808if(temper!=adcdata) temperflag=1; / 相 鄰 兩 次
6、采 樣 值 不 同 時 , temperflag 置 1EA=1; / 打開所有中斷return adcdata;/ 處理采樣值,填充顯示緩沖區(qū) void fillbuff()unsigned int tmp;tmp=temper*1.96078; video_buff0=level; / video_buff1=10; video_buff2=10;video_buff3=tmp/100; tmp=tmp%100; video_buff4=tmp/10; tmp=tmp%10; video_buff5=tmp;填充檔位/ 填充 -/ 填充 -/ 填充十位/ 填充個位/ 填充小數(shù)點位/ 將檔位
7、、溫度值顯示在數(shù)碼管上void showbuff()unsigned char ii,j,k;2unsigned char p=0 x1;unsigned char xdata *i;P15=0;for(ii=0;ii6;ii+) i=0 xfff3; / 控制口地址 *i=0 x80; / 控制寫入控制口 j=video_buffii;if(ii=4) k=ledtable1j; else k=ledtablej;i=i-3;/ 位碼地址*i=p;/ 送位碼到 PA 口i=i+1;/ 段碼地址*i=k;/ 送段碼到 PB 口p=1;/ 從左向右依次點亮數(shù)碼管delay();P15=1;/ 鍵
8、盤中斷處理程序unsigned char i; for(i=0;i30;i+); if(int_1) return; / if(!key1)level=1; / if(!key2)level=2; / if(!key3)level=3; / if(!key4)level=4; / levelflag=1; video_buff0=level;void keyprocess() interrupt 2 當(dāng) INT1=1 時,無中斷,無按鍵按下 如果 key1=0,則 1 鍵按下 如果 key21=0,則 2 鍵按下 如果 key3=0,則 3 鍵按下 如果 key4=0,則 4 鍵按下/ 有按鍵
9、按下/ 均值濾波void filter() / 對四次采樣進行求平均 , 考慮到實際中溫度的變化是一個比 較緩慢的過程,/ 相鄰的幾次采樣變化幅度不大,且為計算簡便, N 取值為 4int sum=0,count;for (count=0;count=1&level=4)video_buff0=level; / 將接收到的檔位值填寫顯示緩沖區(qū)if(TI=1) / 如果 TI=1 ,發(fā)送完數(shù)據(jù)TI=0; / 軟件清零/ 串口初始化void inituart()SCON=0X50 ;/ / 方式 1,8 位數(shù)據(jù),允許接收 sm0 sm1 sm2 ren tb8 rb8 ti riTMOD=0X20
10、/; 設(shè)置 timer1 ,方式 2 (方式 2,自動重裝入初值的 8 位計數(shù) 器, 串行通信時用)TH1=0XFD; / 初始值TL1 = 0 xfd;TR1=1; / 啟動 timer1 ,開始計時ES=1; /開啟串口中斷/ 向上位機發(fā)送檔位、溫度void send_char()if(!TI)if(temperflag=1) / 溫度有變化SBUF=video_buff3+0 x30; while(TI=0);SBUF=video_buff4+0 x30; while(TI=0);SBUF=.; while(TI=0);SBUF=video_buff5+0 x30; while(TI=0);SBUF=-;while(TI=0); temperflag=0;if(levelflag=1)levelflag=0;SBUF=video_buff0+0 x30; while(!TI);SBUF=-; while(TI=0);/ 發(fā)送十位給上位機/ 等待發(fā)送完 ,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州財經(jīng)大學(xué)《創(chuàng)業(yè)團隊管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年甘肅省建筑安全員C證考試題庫
- 2025年河南省安全員《C證》考試題庫
- 貴陽學(xué)院《山水寫生》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州應(yīng)用科技學(xué)院《游戲制作與開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州鐵路職業(yè)技術(shù)學(xué)院《建筑力學(xué)(上)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025四川省安全員-C證考試(專職安全員)題庫附答案
- 2025云南省建筑安全員《C證》考試題庫及答案
- 6.4.2向量在物理中的應(yīng)用舉例【超級課堂】2022-2023學(xué)年高一數(shù)學(xué)教材配套教學(xué)精-品課件+分層練習(xí)人教A版2019必修第二冊
- 材料力學(xué)課件-動載荷
- 兒科課件過敏性紫癜
- 學(xué)校安全事故應(yīng)急處置流程圖
- 姜安《政治學(xué)概論》(第2版)筆記和典型題(含考研真題)詳解
- 漢字拼寫游戲
- 廣東省國家公務(wù)員錄用體檢表
- GB/T 12310-2012感官分析方法成對比較檢驗
- 公廁管理保潔及糞便收運處理方案
- FZ/T 70010-2006針織物平方米干燥重量的測定
- 銀行貸款批復(fù)樣本
- 老年髖部骨折患者圍術(shù)期麻醉管理課件
- 采購員年終工作總結(jié)課件
評論
0/150
提交評論