多路溫度測(cè)控儀設(shè)計(jì)課程設(shè)計(jì)_第1頁(yè)
多路溫度測(cè)控儀設(shè)計(jì)課程設(shè)計(jì)_第2頁(yè)
多路溫度測(cè)控儀設(shè)計(jì)課程設(shè)計(jì)_第3頁(yè)
多路溫度測(cè)控儀設(shè)計(jì)課程設(shè)計(jì)_第4頁(yè)
多路溫度測(cè)控儀設(shè)計(jì)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、多路溫度測(cè)控儀設(shè)計(jì)一、文獻(xiàn)綜述溫度測(cè)控儀是測(cè)溫的高精度儀器。溫度測(cè)試儀采用堅(jiān)固抗振的外殼,可在苛刻的環(huán)境下工作,具備測(cè)量方便、精度高、熱電偶測(cè)試點(diǎn)可重復(fù)利用的優(yōu)點(diǎn);采用全隔離的數(shù)字和模擬信號(hào),可進(jìn)行帶電測(cè)試,可數(shù)據(jù)可進(jìn)行采集、報(bào)警、和通訊傳輸,具有響應(yīng)快、數(shù)據(jù)穩(wěn)定,同時(shí)具有斷偶檢測(cè)功能。溫度測(cè)試儀可以同時(shí)觀看溫度變化,由電腦將整個(gè)溫升變化過(guò)程全部以曲線方式記錄下來(lái),便于分析、采集與存檔。溫度測(cè)試儀可設(shè)置水平溫度線、垂直時(shí)刻線及兩時(shí)刻間的時(shí)間,還可可設(shè)定上下限溫度值,超限聲音報(bào)警。適用于家電、電機(jī)、電熱器具、溫控器、變壓器、烘箱、熱保護(hù)器等行業(yè)的制造廠家及質(zhì)檢部門對(duì)多點(diǎn)溫度場(chǎng)的檢測(cè),廣泛應(yīng)用于家

2、庭、高等學(xué)校、實(shí)驗(yàn)室、研究部門、計(jì)量單位等行業(yè)。在各種生產(chǎn)工廠,特別是工業(yè)生產(chǎn)中,溫度是最基本的檢測(cè)參數(shù)之一,溫度的檢測(cè)和控制直接和安全生產(chǎn)、產(chǎn)品質(zhì)量、生產(chǎn)效率、節(jié)約能源等重大技術(shù)指標(biāo)相聯(lián)系。隨著生產(chǎn)規(guī)模的擴(kuò)大和對(duì)生產(chǎn)管理的自動(dòng)化水平的提高,在諸如酒類、飲料、食品發(fā)酵生產(chǎn)線,中頻熱處理行業(yè)的水路溫度保護(hù),提升機(jī)、通訊機(jī)、發(fā)電廠軸溫記錄,變電所各電節(jié)點(diǎn)的溫度檢測(cè),農(nóng)業(yè)大棚、雞舍等應(yīng)用場(chǎng)所,將計(jì)算機(jī)技術(shù)與測(cè)量控制技術(shù)結(jié)合起來(lái)組成的溫度巡檢儀在生產(chǎn)中得到了廣泛的應(yīng)用。這些智能儀器自身帶有微處理器, 在結(jié)構(gòu)上自成一體,能獨(dú)立進(jìn)行測(cè)試,使用靈活方便。按照檢測(cè)通道的多少,溫度巡檢儀分為多種形式。普通的溫度

3、巡檢儀一般采用單片機(jī)作為控制器,LED作為顯示接口,并配有簡(jiǎn)單的按鍵,能實(shí)現(xiàn)多路溫度信號(hào)的巡檢。有些還帶有通信端口以及打印機(jī)接口等,實(shí)現(xiàn)和別的控制設(shè)備的通信以及溫度值的實(shí)時(shí)打印等功能。采用單片機(jī)來(lái)對(duì)溫度進(jìn)行控制,不僅具有控制方便,簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。單片機(jī)以其功能強(qiáng),體積小,可靠性高,造價(jià)低和開發(fā)周期短等優(yōu)點(diǎn),成為自動(dòng)化和各個(gè)測(cè)控領(lǐng)域中必不可少且廣泛應(yīng)用的器件?;诖?,本課題圍繞基于單片機(jī)的多路溫度測(cè)控系統(tǒng)展開研究工作。二、總體設(shè)計(jì)設(shè)計(jì)一個(gè)以51單片機(jī)為核心的6路溫度測(cè)控儀。畫出原理圖,編寫調(diào)試程序,并在Proteus軟

4、件中進(jìn)行仿真。最后撰寫設(shè)計(jì)報(bào)告并演示所設(shè)計(jì)儀器的功能。 經(jīng)過(guò)兩個(gè)星期的討論設(shè)計(jì),我們的多路溫度測(cè)控儀實(shí)現(xiàn)了以下的功能:1.實(shí)現(xiàn)了6路溫度信號(hào)測(cè)控,測(cè)量范圍為-55-125,測(cè)量精度為0.0625,顯示精度為0.1C;2.每一路都可以獨(dú)立設(shè)置上下報(bào)警限,超限時(shí)LED燈亮,蜂鳴器鳴叫;3.采用6聯(lián)LED作為顯示接口,能顯示小數(shù)和負(fù)數(shù);4.具有“菜單”、“確認(rèn)”、“增大”、“減小”、4個(gè)按鍵,每一個(gè)按鍵都有相應(yīng)的指示燈; 5. 可以通過(guò)“增大”、“減小”按鍵選所需要檢測(cè)的通道;6.具有RS-232通信接口,能夠?qū)崟r(shí)傳送測(cè)量通道號(hào)以及相應(yīng)的測(cè)量溫度。設(shè)計(jì)方案如下:1.采用80C51單片機(jī)作為主控制芯片

5、;2.利用6個(gè)不同的信號(hào)模擬溫度傳感器的輸出,并作為系統(tǒng)的輸入信號(hào);3.采用12位AD轉(zhuǎn)換芯片MAX1241實(shí)現(xiàn)溫度信號(hào)的采集;4.采用8路模擬開關(guān)4051芯片實(shí)現(xiàn)輸入通道的6選1;5.共有“菜單”、“確定”、“增大”、“減小”、“手動(dòng)自動(dòng)巡檢切換”5個(gè)按鍵,每一個(gè)按鍵都有相應(yīng)的指示燈;6.6位LED顯示屏作為顯示接口;7.采用單片機(jī)內(nèi)部的定時(shí)器T0進(jìn)行精確定時(shí);8.采用單片機(jī)的USART,利用MAX232電平轉(zhuǎn)換芯片實(shí)現(xiàn)RS-232通信接口,采用虛擬終端對(duì)其進(jìn)行仿真調(diào)試;9.采用三端穩(wěn)壓芯片7805,實(shí)現(xiàn)單片機(jī)電源的穩(wěn)定供應(yīng);流程圖如下:自動(dòng)巡檢(超過(guò)上下限報(bào)警)1、菜單鍵2、確定5、切換3

6、、增加4、減少設(shè)定溫度報(bào)警上下限保存修改值溫度值增加/通道數(shù)增加溫度值減少/通道數(shù)減少手動(dòng)自動(dòng)巡檢開始圖2.1 流程圖三、硬件系統(tǒng)設(shè)計(jì)硬件系統(tǒng)主要包括8個(gè)子模塊,分別為電源模塊、控制模塊、信號(hào)模擬輸入模塊、數(shù)據(jù)采集模塊、系統(tǒng)顯示模塊、系統(tǒng)操作模塊、系統(tǒng)報(bào)警模塊和通信模塊。由于元器件過(guò)多,采用了子電路??偟挠布到y(tǒng)圖如圖1所示。圖3.1 硬件系統(tǒng)圖1電源模塊如圖2所示J1是電源接線端子。C9-C14是濾波電容,可以過(guò)濾掉外部電源中的各種雜波。在實(shí)際中,為了防止電路各部分供電電壓因負(fù)載變化而產(chǎn)生變化,所以在電源的輸出端及負(fù)載的電源輸入端一般接有數(shù)十至數(shù)百微法的電解電容由于大容量的電解電容一般具有一

7、定的電感,對(duì)高頻及脈沖干擾信號(hào)不能有效地濾除,故在其兩端并聯(lián)了6只容量為0.1100uF的電容,以濾除高頻及脈沖干擾。7805是三端穩(wěn)壓芯片,只有三條引腳輸出,分別是輸入端、接地端和輸出端,可以起到穩(wěn)定電壓的作用。只有三7805三端穩(wěn)壓集成電路,電子產(chǎn)品中,常見(jiàn)的三端穩(wěn)壓集成電路有正電壓輸出的78 系列和負(fù)電壓輸出的79系列。顧名思義,三端IC是指這種穩(wěn)壓用的集成電路,只有三條引腳輸出,分別是輸入端、接地端和輸出端。它的樣子象是普通的三極管,TO- 220 的標(biāo)準(zhǔn)封裝,也有9013樣子的TO-92封裝。D8是電源指示燈,通過(guò)它可以觀察到電源是否正確連接上。R17是LED限流電阻,大小為10k。

8、 圖3.2 電源模塊2.中心控制模塊選用通用的8位微處理器89C51作為CPU,價(jià)格低廉,內(nèi)部資源豐富,端口較多,擴(kuò)展方便,電路圖如圖4、圖5所示。其中子電路CRYSTAL包含的是時(shí)鐘電路和復(fù)位電路。圖3.3 中心控制模塊系統(tǒng)3.信號(hào)輸入模塊采用如圖4所示的6路不同的信號(hào)來(lái)模擬溫度傳感器的輸出信號(hào),模擬信號(hào)采用Proteus中的信號(hào)發(fā)生器實(shí)現(xiàn)。圖3.4 信號(hào)模擬輸入模塊4數(shù)據(jù)采集模塊為了使系統(tǒng)具有較高的測(cè)量精度,采用了MAX1241芯片來(lái)實(shí)現(xiàn)信號(hào)的模數(shù)轉(zhuǎn)換。MAX1241是MAXIM公司的一種單通道12位逐次逼近型串行A/D轉(zhuǎn)換器,具有低功耗、高精度、高速度、體積小、接口簡(jiǎn)單等優(yōu)點(diǎn)。但是由于M

9、AX1241只有一路輸入,而系統(tǒng)要實(shí)現(xiàn)6路溫度信號(hào)的巡回檢測(cè),所以采用6路模擬開關(guān)4051來(lái)實(shí)現(xiàn)輸入通道的切換,完成6路信號(hào)的巡回采集和轉(zhuǎn)換。子電路AD中不僅包含MAX1241和4051還包括實(shí)現(xiàn)系統(tǒng)顯示功能的相關(guān)電路。 圖3.5 數(shù)據(jù)采集模塊MAX1241具體性能特征如下:1.2.75.25 V單電源供電;2.12位分辨率;3.8腳DIP/SO封裝; 低功耗:Pmax=3mW(73 KSPS),Pmin=5W(待機(jī));4.內(nèi)部提供采樣/保持電路; 5.兼容于SPI/QSPI/MICROWIRE 串行三線外設(shè)接口;6.內(nèi)部提供轉(zhuǎn)換時(shí)鐘。儀器的測(cè)溫范圍為-51.2-51.2,采用MAX1241時(shí)

10、的測(cè)量精度為0.025,滿足了一般要求。圖3.6 4051引腳4051是單8通道數(shù)字控制模擬電子開關(guān),有三個(gè)二進(jìn)控制輸入端A、B、C和INH輸入端,具有低導(dǎo)通阻抗和很低的截止漏電流。當(dāng)INH輸入端等于“1”時(shí),所有的通道截止。三位二進(jìn)制信號(hào)控制選通8通道中的一個(gè)通道,連接該輸入通道進(jìn)行AD轉(zhuǎn)換,然后輸出。5.系統(tǒng)顯示模塊系統(tǒng)采用6聯(lián)LED作為顯示接口,可以方便的顯示系統(tǒng)的工作狀態(tài)、采集的溫度值以及參數(shù)設(shè)置菜單。LED子電路是LED的驅(qū)動(dòng)電路。其中74LS245是總線驅(qū)動(dòng)器,是典型的TTL型三態(tài)緩沖門電路。由于負(fù)載超過(guò)了單片機(jī)的數(shù)據(jù)地址控制總線端口的負(fù)載能力,所以添加了驅(qū)動(dòng)器。利用74LS04可

11、以防止干擾對(duì)顯示模塊的影響。在正常模式下,第一個(gè)LED顯示采集通道,當(dāng)溫度值低于0時(shí)第三個(gè)LED顯示“-”,第四、五、六個(gè)LED用于顯示溫度值,且第五個(gè)LED要顯示小數(shù)點(diǎn)。在參數(shù)設(shè)置模式下,顯示第一至第十六個(gè)參數(shù),前兩個(gè)LED顯示參數(shù)名,例如“1H”、“1L”等,后四個(gè)LED顯示參數(shù)值,方式和正常模式下相似,顯示第十七個(gè)參數(shù)時(shí),第一個(gè)LED顯示“n”,后兩個(gè)LED顯示參數(shù)值。圖3.7 顯示用6聯(lián)LED圖3.8 74LS245引腳6.系統(tǒng)操作模塊通過(guò)五個(gè)按鍵及相應(yīng)的指示燈實(shí)現(xiàn)系統(tǒng)參數(shù)設(shè)置和手動(dòng)巡檢自動(dòng)巡檢切換的操作。若按下1鍵,進(jìn)入?yún)?shù)設(shè)置狀態(tài),LED顯示第一個(gè)工作參數(shù)名稱(在最左位)及參數(shù)默認(rèn)

12、值(在最右14位)。若再一次按下1鍵,則不保存當(dāng)前參數(shù)直接轉(zhuǎn)到下一個(gè)參數(shù)并顯示,當(dāng)所有參數(shù)循環(huán)一遍時(shí)退出參數(shù)設(shè)置菜單進(jìn)入測(cè)控模式。若按下3或4鍵,參數(shù)值加一增量或減一增量(增量的大小可以在程序中自行設(shè)置)并更新顯示。若按下2鍵可確認(rèn)并保存修改的參數(shù)值,下一次進(jìn)入菜單時(shí)將會(huì)顯示新保存的值,且自動(dòng)轉(zhuǎn)入下一個(gè)參數(shù)修改設(shè)置的過(guò)程,當(dāng)所有參數(shù)循環(huán)一遍時(shí)退出參數(shù)設(shè)置菜單進(jìn)入測(cè)控模式。5鍵為手動(dòng)巡檢自動(dòng)巡檢切換鍵,在測(cè)控模式時(shí),直接切換巡檢方式,在參數(shù)設(shè)置模式時(shí),直接退出菜單,切換到進(jìn)入菜單前的模式;在自動(dòng)巡檢時(shí),系統(tǒng)按照設(shè)定的時(shí)間間隔參數(shù)自動(dòng)切換通道。在手動(dòng)巡檢時(shí),通過(guò)3和4鍵可以實(shí)現(xiàn)測(cè)控通道的切換。實(shí)際

13、上,從功能方面講,1鍵可以稱為菜單鍵,2鍵可以稱為確定鍵,3鍵為增加鍵,4鍵為減小鍵,5鍵為切換鍵。如下圖所示,1-5為對(duì)應(yīng)的5個(gè)按鍵,D1-D5為相應(yīng)的指示燈,當(dāng)按鍵按下時(shí)相應(yīng)的指示燈亮。按鍵檢測(cè)電路和LED限流電阻在AD子電路中。其中R9-R13為D1-D5的限流電阻。74HC595主要功能是實(shí)現(xiàn)1-5按鍵的檢測(cè)以及D1-D3的控制。D4和D5是由單片機(jī)的P2.3和P2.4兩個(gè)端口控制的。74HC595是硅結(jié)構(gòu)的CMOS器件,兼容低電壓TTL電路,遵守JEDEC標(biāo)準(zhǔn),能實(shí)現(xiàn)數(shù)據(jù)的串入并出。它有一個(gè)8位移位寄存器和一個(gè)存儲(chǔ)器,具有三態(tài)輸出功能。移位寄存器和存儲(chǔ)器使用不同的時(shí)鐘。數(shù)據(jù)在SCHc

14、p的上升沿輸入,在STcp的上升沿進(jìn)入存儲(chǔ)寄存器中。如果兩個(gè)時(shí)鐘連在一起,則移位寄存器總是比存儲(chǔ)寄存器早一個(gè)脈沖。移位寄存器有一個(gè)串行移位輸入(Ds)引腳、一個(gè)串行輸出(Q7)引腳和一個(gè)異步的低電平復(fù)位引腳。存儲(chǔ)寄存器是并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(shí)(為低電平),存儲(chǔ)寄存器的數(shù)據(jù)輸出到總線。圖3.9 系統(tǒng)操作模塊7.系統(tǒng)報(bào)警模塊系統(tǒng)報(bào)警模塊包括LED指示燈和蜂鳴器兩部分。當(dāng)測(cè)量值大于設(shè)定的高報(bào)警限時(shí),D6點(diǎn)亮同時(shí)蜂鳴器鳴叫;當(dāng)測(cè)量值小于設(shè)定的低報(bào)警限時(shí),D7點(diǎn)亮同時(shí)蜂鳴器鳴叫。圖3.10 系統(tǒng)報(bào)警模塊8通信模塊通信模塊主要實(shí)現(xiàn)儀器與PC機(jī)或者其他控制設(shè)備的通信。這樣儀器就可以作為

15、一個(gè)智能傳感器與其他設(shè)備組成更復(fù)雜的控制系統(tǒng)。比如可以把測(cè)量數(shù)據(jù)傳送到PC機(jī)上,由PC機(jī)對(duì)數(shù)據(jù)進(jìn)行處理,畫出溫度曲線或者存儲(chǔ)溫度數(shù)據(jù)庫(kù)等,這樣可以實(shí)現(xiàn)更復(fù)雜的控制功能。RS232子電路即是系統(tǒng)的通信模塊電路。由于單片機(jī)系統(tǒng)與PC機(jī)的電平不相兼容,所以使用MAX1241芯片進(jìn)行電平轉(zhuǎn)換。圖3.11 通信模塊電路MAX1241是一種低功耗、低電壓的12位串行ADC。它使用逐次逼近技術(shù)完成A/D轉(zhuǎn)換過(guò)程。最大非線性誤差小于1LSB,轉(zhuǎn)換時(shí)間9s。采用三線式串行接口,內(nèi)置快速采樣/保持電路。采用單電源供電,動(dòng)態(tài)功耗在以每秒73K轉(zhuǎn)換速率工作時(shí),僅需0.9mA電流。在停止轉(zhuǎn)換時(shí),可通過(guò)SHDN控制端使其

16、處于休眠狀態(tài),以降低靜態(tài)功耗。休眠方式下,電源電流僅1A。使用Proteus中的虛擬終端作為虛擬PC來(lái)對(duì)儀器通信功能進(jìn)行調(diào)試。儀器每一次發(fā)送兩個(gè)字節(jié)的數(shù)據(jù),前一字節(jié)為通道號(hào),后一字節(jié)為與溫度有關(guān)的數(shù)據(jù)。0x00表示0,0xFF表示1024。經(jīng)過(guò)標(biāo)度變換后,溫度的測(cè)量精確度變?yōu)?.4,基本滿足一般的控制要求。圖13是用到的虛擬終端。圖3.12虛擬終端用Keil編寫調(diào)試程序聯(lián)合Proteus進(jìn)行仿真,確定所有部分都準(zhǔn)確無(wú)誤后,可以對(duì)原理圖做必要的處理,比如添加封裝屬性等,利用Proteus的ARES功能模塊畫出PCB圖以及PCB-3D效果圖。圖14是本次設(shè)計(jì)硬件電路的PCB圖,圖15是PCB-3D

17、效果圖。圖3.13 PCB圖使用虛擬串口工具vspd,模擬單片機(jī)系統(tǒng)與上位機(jī)的通訊,在vspd軟件中新建一組虛擬串口com2和com4,在模擬通訊的同時(shí),實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)的輸入輸出。圖3.14 vspd界面并在labview上搭建上位機(jī)模型,由于本次課程設(shè)計(jì)時(shí)間較為緊促,上位機(jī)程序主要分為數(shù)據(jù)類型轉(zhuǎn)化模塊(將串口中讀取的下位機(jī)輸出信號(hào)即二進(jìn)制ACSII字符轉(zhuǎn)化十進(jìn)制數(shù)值),實(shí)時(shí)顯示模塊(將采樣后處理后的數(shù)值同時(shí)間構(gòu)建二維坐標(biāo)圖實(shí)時(shí)顯示,同時(shí)使用溫度計(jì)顯示更加生動(dòng)直觀),串口參數(shù)設(shè)置模塊(設(shè)置串口的基本參數(shù)保持與下位機(jī)的良好交流),以及數(shù)據(jù)存儲(chǔ)模塊(生成txt文件以便以后調(diào)用參考)。具體程序如下圖所

18、示:圖3.15 前面板圖3.16 程序框圖四、軟件系統(tǒng)設(shè)計(jì)分析下面對(duì)程序重要部分進(jìn)行說(shuō)明:1、手動(dòng)自動(dòng)巡檢的切換此六路溫度測(cè)控儀,具有自動(dòng)巡檢和手動(dòng)巡檢兩種模式,且兩種方式可以任意切換。自動(dòng)巡檢時(shí):每隔一固定時(shí)間間隔,測(cè)控儀自動(dòng)按順序切換通道,切換時(shí)間間隔可以通過(guò)菜單參數(shù)來(lái)設(shè)置;手動(dòng)巡檢時(shí),儀器一直檢測(cè)某一個(gè)通道的溫度值,直到用戶切換通道。當(dāng)菜單關(guān)閉時(shí),通過(guò)5鍵可以進(jìn)行巡檢方式的切換;當(dāng)菜單打開時(shí),通過(guò)5鍵退出菜單,返回原來(lái)的巡檢模式,再按5鍵進(jìn)行切換。通道的切換的實(shí)現(xiàn):ABC以及void switch8_1(int abc)。全局變量ABC代表檢測(cè)通道的序號(hào),它的取值范圍為0-7,分別代表1

19、-8個(gè)通道,此處我們只用到6個(gè)通道。函數(shù)void switch8_1(int abc)的代碼如下:#define A _p20#define B _p21#define C _p22void switch8_1(int abc) A = abc&0x01; B = (abc1)&0x01; C = (abc2)&0x01;P20、_P21和_P22分別和8路模擬開關(guān)4051的控制端口A、B和C相連。switch8_1()函數(shù)可以實(shí)現(xiàn)對(duì)模擬開關(guān)的控制。ABC只有和它共同作用才能實(shí)現(xiàn)通道的切換。在自動(dòng)巡檢模式時(shí),自動(dòng)切換通道的時(shí)間間隔是通過(guò)單片機(jī)內(nèi)部的定時(shí)器T0中斷實(shí)現(xiàn)的。定時(shí)部分的代碼如下:#i

20、nclude #include commons.h/*變量初始化*/int t0 = 0;int ABC = 0;int TEMP = 0;/*定時(shí)器0中斷函數(shù)*/void timer0 (void) interrupt 1 t0 = t0 + 1; TH0 = -(500/256); /計(jì)數(shù)初值重裝載 TL0 = -(500%256); if(t0=_value16*200) /自動(dòng)巡檢時(shí)間間隔 t0 = 0; ABC = ABC +1; if(ABC=8) ABC=0; /*定時(shí)器0初始化*/void Time0_Init(void) TMOD = 0x21; /T0定時(shí)方式1,T1定時(shí)方

21、式2TH0 = -(500/256); /預(yù)置計(jì)數(shù)初值 定時(shí)0.5ms TL0 = -(500%256); EA = 1; /中斷總允許位 ET0 = 1; /T0中斷允許位 TR0 = 1; /啟動(dòng)控制位;/*串口初始化*/void Serial_Init(void) / TMOD = 0x20; /T1定時(shí)方式2 TH1 = 0xfd; /波特率9600 TL1 = 0xfd; /波特率9600 PCON = 0x00; /波特率不加倍 TR1 = 1; /啟動(dòng)T1 SCON = 0x50; /串口方式1,TI和RI清零,允許接收void main() Time0_Init(); /定時(shí)器

22、初始化Serial_Init(); /串口初始化while (1) /菜單程序,響應(yīng)鍵盤輸入,顯示和修改參數(shù)menu_routine();/實(shí)現(xiàn)檢測(cè)通道的切換switch8_1(ABC);/控制程序,A/D轉(zhuǎn)換,并顯示結(jié)果ctr_routine(); 當(dāng)手動(dòng)巡檢模式時(shí),只有用戶主動(dòng)切換通道,通道才會(huì)變化,所以必須關(guān)閉定時(shí)器T0。這時(shí)系統(tǒng)通過(guò)檢測(cè)“增加”和“減小”來(lái)改變ABC的值,從而實(shí)現(xiàn)通道的切換。程序是通過(guò)檢測(cè)5按鍵按下的次數(shù)來(lái)實(shí)現(xiàn)巡檢模式識(shí)別的。在菜單關(guān)閉時(shí),每按下一次5鍵,變量MODE就會(huì)加1。通過(guò)判斷MODE能否被2整除即可得到應(yīng)該切換到哪一種巡檢模式。當(dāng)切換到手動(dòng)巡檢模式時(shí),首先關(guān)閉

23、定時(shí)器T0中斷,然后啟動(dòng)相應(yīng)的程序。當(dāng)切換到自動(dòng)巡檢模式時(shí),開定時(shí)器T0中斷,關(guān)閉手動(dòng)巡檢模式的函數(shù)。這樣就可以順利的實(shí)現(xiàn)巡檢模式的切換。2、按鍵檢測(cè)按鍵檢測(cè)分為兩個(gè)階段,第一階段的目標(biāo)是發(fā)現(xiàn)哪個(gè)鍵被按下了。在這個(gè)階段里_key_status=CHECK_KEY_DOWN,滿足這個(gè)條件時(shí),程序會(huì)檢測(cè)當(dāng)前的_key_idx表示的按鍵是否被按下,即調(diào)用_check_key(_key_idx)并判斷返回值是否為KEY_DOWN。如果條件不滿足,則令_key_idx加1表示下一個(gè)鍵,get_key()函數(shù)返回。待到下一次get_key()再被調(diào)用時(shí),程序檢查_key_idx所指的另一個(gè)鍵是被按下。直到

24、當(dāng)某個(gè)鍵確實(shí)被按下時(shí),例如2號(hào)鍵被按下,那么在按下的這個(gè)期間里,一定會(huì)發(fā)生一次get_key()的調(diào)用,且這一次調(diào)用時(shí)_key_idx=2,因此就會(huì)有_check_key(_key_idx)=KEY_DOWN,于是程序進(jìn)入第2階段,_key_status被修改為CHECK_KEY_UP。在_key_status=CHECK_KEY_UP的第2階段,_key_idx的值不會(huì)再被修改,而是鎖定在剛才檢測(cè)到的被按下的鍵上,對(duì)于剛才的例子就是_key_idx=2。在這個(gè)階段,每次get_key()被調(diào)用時(shí),都會(huì)檢查2號(hào)鍵是否被抬起,即判斷_check_key(_key_idx)=KEY_UP是否成立。

25、如果條件不成立,說(shuō)明此刻檢查時(shí),2號(hào)鍵還沒(méi)有被用戶松開,于是get_key()繼續(xù)返回-1;如果條件成立,說(shuō)明用戶按下2號(hào)鍵之后又松開了,于是get_key()會(huì)返回2,同時(shí)_key_status被改回CHECK_KEY_DOWN,下次調(diào)用時(shí)再重復(fù)前面的過(guò)程。按鍵檢測(cè)的程序如下:char _check_key(unsigned char _key_idx) switch(_key_led) case(0): /沒(méi)有按鍵按下 _p23 = 0; _p24 = 0; serial_output(0x01_key_idx)&0x1F); /將待查按鍵鍵碼轉(zhuǎn)換成掃描碼后輸出 break; case(1

26、): /第一個(gè)按鍵被按下 _p23 = 0; _p24 = 0; serial_output(0x01_key_idx)&0x1F)|0x20); break; case(2): /第二個(gè)按鍵被按下 _p23 = 0; _p24 = 0; serial_output(0x01_key_idx)&0x1F)|0x40); break; case(3): /第三個(gè)按鍵被按下 _p23 = 0; _p24 = 0; serial_output(0x01_key_idx)&0x1F)|0x80); break; case(4): /第四個(gè)按鍵被按下 _p23 = 1; _p24 = 0; serial

27、_output(0x01_key_idx)&0x1F); break; case(5): /第五個(gè)按鍵被按下 _p23 = 0; _p24 = 1; serial_output(0x01 _valueABC*2) /溫度值大于報(bào)警上限 D6 = 1;/D6點(diǎn)亮D7 = 0;/D7熄滅Alarm = 1;/報(bào)警 else if(TEMP _valueABC*2+1) /溫度值小于報(bào)警下限 D6 = 0;/D6熄滅D7 = 1;/D7點(diǎn)亮Alarm = 1; /報(bào)警else D6 = 0;/D6熄滅D7 = 0;/D7熄滅Alarm = 0;/ Alarm = 1;send_byte(ABC);

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論