【藍(lán)橋杯單片機(jī)設(shè)計(jì)與開發(fā)】(19)省賽試題解析 2011第三屆 溫度記錄器(下) 從本章我們繼續(xù)上一章的內(nèi)容,我將開始為大家講解歷年的省賽真題的編程思路以及編程原理,通過這種方式讓大家學(xué)習(xí)邊熟悉這種多模塊協(xié)同的綜合題目的編程方式。 2011年第三屆藍(lán)橋杯 單片機(jī)類 省賽試題是按照任務(wù)要求設(shè)計(jì)一個(gè)“溫度監(jiān)控器”第二章。 功能簡述 “溫度監(jiān)控器”可以實(shí)現(xiàn)環(huán)境溫度檢測及報(bào)警功能;通過 EEPROM 存儲上下限溫度數(shù)值,溫度上下限數(shù)值可通過外部按鍵更改。系統(tǒng)硬件電路主要有單片機(jī)控制電路、數(shù)碼管顯示電路、EEPROM 存儲電路、直流電機(jī)驅(qū)動電路(設(shè)計(jì)部分)、鍵控制電路及繼電器組成,系統(tǒng)框圖如圖 1 所示: MCS-51 單片機(jī)匯編指令集、C51 關(guān)鍵字、DS18B20 和 AT24C02 芯片部分驅(qū)動、CT107D考試平臺電路原理圖以及本題所涉及到的芯片數(shù)據(jù)手冊,可參考計(jì)算機(jī)上的電子文檔。 設(shè)計(jì)任務(wù)要求3.EEPROM 記錄單元系統(tǒng)通過 AT24C02 存儲溫度信息,AT24C02 內(nèi)部存儲地址 0x00 和 0x01 分別存儲
溫度上下限數(shù)據(jù)信息;溫度上下限數(shù)據(jù)可通過外部按鍵進(jìn)行修改,并通過數(shù)碼管實(shí)時(shí)顯
示。數(shù)據(jù)存儲格式如圖 3 所示: 示例代碼:at24c02.c - /************************************************************/
- /************************智術(shù)靈慧****************************/
- /******************藍(lán)橋杯2011年省賽試題**********************/
- /***********************溫度監(jiān)控器***************************/
- /*******************聯(lián)系QQ:1149809374***********************/
- /*************聯(lián)系郵箱:418224424@aliyun.com*****************/
- /*****************官方博客:www.bkoak.com********************/
- /************************************************************/
-
- #ifndef __AT24C02_H_
- #define __AT24C02_H_
-
- #define SlaveAddrW 0xA0
- #define SlaveAddrR 0xA1
-
- void IIC_Start(void);
- void IIC_Stop(void);
- void IIC_Ack(unsigned char ackbit);
- bit IIC_WaitAck(void);
- void IIC_SendByte(unsigned char byt);
- unsigned char IIC_RecByte(void);
- void WriteByte_AT24C02(uchar add,uchar date);
- uchar ReadByte_AT24C02(uchar add);
-
- #endif
復(fù)制代碼
4.按鍵控制單元(見main.c)獨(dú)立按鍵 S4 設(shè)定為“加上限”按鍵;每按下一次,溫度上限值增加 1℃; 獨(dú)立按鍵 S5 設(shè)定為“加下限”按鍵;每按下一次,溫度下限值增加 1℃; 獨(dú)立按鍵 S6 設(shè)定為“減上限”按鍵;每按下一次,溫度上限值減少 1℃; 獨(dú)立按鍵 S7 設(shè)定為“減下限”按鍵;每按下一次,溫度下限值減少 1℃。 5.按直流電機(jī)驅(qū)動電路設(shè)計(jì)(見main.c)設(shè)計(jì)一個(gè)直流電機(jī)驅(qū)動電路與單片機(jī) P34 引腳連接。 6.溫控單元(見main.c)若當(dāng)前溫度數(shù)值超過 EEPROM 中存儲的溫度上限數(shù)據(jù),通過單片機(jī) P34 口產(chǎn)生周期為 1KHz 占空比為 30%的 PWM 信號驅(qū)動直流電機(jī)工作。待溫度恢復(fù)到上下限閾值內(nèi)時(shí),P34 口輸出高電平,直流電機(jī)停止工作。
若當(dāng)前溫度低于 EEPROM 中存儲的溫度下限數(shù)據(jù),繼電器打開,當(dāng)溫度恢復(fù)到上
3下限閾值內(nèi)時(shí),繼電器自動關(guān)閉。 7.系統(tǒng)初始狀態(tài)說明(見main.c)上、下限溫度值需要設(shè)定在 0℃到 99℃范圍內(nèi),下限值不大于上限值。系統(tǒng)上電后,從 EEPROM 中讀取溫度上、下限數(shù)值,并實(shí)時(shí)顯示當(dāng)前溫度。 示例代碼:main.c 本章資料下載地址 本章關(guān)于2011年省賽試題“溫度監(jiān)控器”的講解到這里就結(jié)束了,如果有不理解的可以加群,找我或者群里的朋友交流。
更多資訊關(guān)注公眾號:智術(shù)靈慧(zslh_dyh) QQ交流群:693211073 
|