【正文】
溫度時(shí),加熱器開)。: 顯示電路圖三、 串口通信電路(一)繼電器電路。: 繼電器電路圖(2) 晶振控制電路: 晶振控制電路圖 (三)復(fù)位電路: 復(fù)位電路圖第三節(jié) 控制執(zhí)行單元設(shè)計(jì)一、鍵盤單元單片機(jī)應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專門的復(fù)位電路,以及專一的復(fù)位功能外,其它的按鍵或鍵盤都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)。在這種行列式矩陣鍵盤非編碼鍵盤的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。對(duì)鍵的識(shí)別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。首先辨別鍵盤中有無鍵按下,有單片機(jī)I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。如果有按鍵按下,總會(huì)有一根行線電平被拉至低電平從而使行線不全為1。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)鍵。0....9:數(shù)字按鍵,輸入數(shù)字09;確認(rèn):設(shè)置的確認(rèn),修改設(shè)置溫度時(shí)進(jìn)行確認(rèn);清除:設(shè)置的清除,修改設(shè)置溫度時(shí)進(jìn)行刪除;開啟:開啟電源關(guān)閉:關(guān)閉電源F1:顯示及設(shè)置轉(zhuǎn)換到溫度點(diǎn)1,按此按鍵后,顯示預(yù)設(shè)置溫度的數(shù)碼管閃爍;F2:顯示及設(shè)置轉(zhuǎn)換到溫度點(diǎn)2,按此按鍵后,顯示預(yù)設(shè)置溫度的數(shù)碼管閃爍;二、溫度控制及超溫警報(bào)單元當(dāng)采集的溫度經(jīng)處理后超過規(guī)定溫度上限時(shí),單片機(jī)通過 輸出控制信號(hào)驅(qū)動(dòng)三極管 D1 ,使繼電器 K1 開啟降溫設(shè)備 ( 壓縮制冷設(shè)備 ) :當(dāng)采集的溫度經(jīng)處理后低于設(shè)定溫度下限時(shí),單片機(jī)通過 輸出控制信號(hào)驅(qū)動(dòng)三極管 D2 ,使繼電器 K2 開啟升溫設(shè)備(加熱器1) 。 具體電路連接圖第四章 系統(tǒng)軟件設(shè)計(jì)第一節(jié) 系統(tǒng)軟件設(shè)計(jì)整體思路一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,首先必須有較完善的硬件作保證。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時(shí)會(huì)變得很簡(jiǎn)單,如數(shù)字濾波,信號(hào)處理等。程序設(shè)計(jì)語(yǔ)言有三種:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。高級(jí)語(yǔ)言是面向問題和計(jì)算過程的語(yǔ)言,它可通過于各種不同的計(jì)算機(jī),用戶編程時(shí)不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語(yǔ)句的功能強(qiáng),常常一個(gè)語(yǔ)句已相當(dāng)于很多條計(jì)算機(jī)指令,于是用高級(jí)語(yǔ)言編制程序的速度比較快,也便于學(xué)習(xí)和交流,但是本系統(tǒng)卻選用了匯編語(yǔ)言。同時(shí),本系統(tǒng)對(duì)位處理要求很高,需要解決大量的邏輯控制問題。而且MCS—51指令系統(tǒng)有豐富的位操作(或稱位處理)指令,可以形成一個(gè)相當(dāng)完整的位操作指令子集,這是MCS—51指令系統(tǒng)主要的優(yōu)點(diǎn)之一。本裝置的軟件包括主程序、讀出溫度子程序、復(fù)位應(yīng)答子程序、寫入子程序、以及有關(guān)DS18B20的程序(初始化子程序、寫程序和讀程序)。通過調(diào)用讀溫度子程序把存入內(nèi)存儲(chǔ)中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個(gè)單元中,然后通過調(diào)用顯示子程序顯示出來。:開始進(jìn)位C清0終止R2是否為0 0延時(shí)46US帶進(jìn)位右移延時(shí)12US 數(shù)據(jù)轉(zhuǎn)換子程序第四節(jié) 溫度采集子程序流程圖溫度采集子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫[9]。:DS18B20復(fù)位、應(yīng)答子程序跳過ROM匹配命令寫入子程序溫度轉(zhuǎn)換命令寫入子程序顯示子程序(延時(shí))DS18B20復(fù)位、應(yīng)答子程序跳過ROM匹配命令 寫入子程序讀溫度命令子程序終 止 溫度采集子程序重慶郵電大學(xué)移通學(xué)院本科畢業(yè)設(shè)計(jì)(論文)第五節(jié) 動(dòng)態(tài)顯示子程序流程圖 動(dòng)態(tài)數(shù)碼管按不同方式滾動(dòng)顯示,通過軟件實(shí)現(xiàn)逐位輪流點(diǎn)亮每個(gè)LED。: 開 始初始化DS18B20顯示當(dāng)前溫度判斷當(dāng)前溫度值超過設(shè)定溫度上限啟動(dòng)風(fēng)扇降低溫度紅燈亮設(shè)定溫度上、下限啟動(dòng)電熱器升高溫度是否低于設(shè)定溫度下限是綠燈亮否 控制執(zhí)行子程序結(jié) 論本設(shè)計(jì)是以AT89S51為核心,利用軟硬件相結(jié)合的自動(dòng)控制的典型例子。這個(gè)系統(tǒng)的實(shí)現(xiàn),改變了傳統(tǒng)的溫度控制方法,為溫度的控制開辟了一條新的道路。實(shí)現(xiàn)我國(guó)的工業(yè)化,自動(dòng)控制是其中的一個(gè)重要目標(biāo),自動(dòng)控制系統(tǒng)正廣泛的應(yīng)用于工業(yè)生產(chǎn)和人們的日常生活。因此這種系統(tǒng)的設(shè)計(jì)具有比較好的社會(huì)效益。本系統(tǒng)的設(shè)計(jì)成本很低,適合大批量生產(chǎn)。只要配上適當(dāng)?shù)臏囟葌鞲衅鳎@個(gè)系統(tǒng)便還可以實(shí)現(xiàn)很多領(lǐng)域的溫度自動(dòng)控制。在本系統(tǒng)的作用下,可以為工作系統(tǒng)提供一個(gè)良好的環(huán)境,使產(chǎn)品的數(shù)量和質(zhì)量有很大的提高。通過分析表明:本系統(tǒng)是一個(gè)性價(jià)比比較好的系統(tǒng),不論對(duì)于生產(chǎn)者還是使用者來說,它都可以帶來良好的經(jīng)濟(jì)效益。首先我要感謝我的導(dǎo)師胡章芳老師,她在我完成論文的過程中,給予了我很大的幫助。胡老師為論文的課題研究提供了很多指導(dǎo)性意見,對(duì)論文的撰寫,修改提供了許多具體的指導(dǎo)和幫助。然后我要感謝我的同學(xué)和寢室的兄弟們,你們?cè)谏詈蛯W(xué)習(xí)上給予了我很多無私的幫助,值此機(jī)會(huì),我向你們說聲謝謝!此外,還要感謝評(píng)閱老師對(duì)本論文進(jìn)行的認(rèn)真評(píng)閱和批評(píng)指正。最后,我再一次對(duì)所有在本次畢業(yè)設(shè)計(jì)中幫助過我的良師益友和同學(xué)們,以及在設(shè)計(jì)中被我引用或參考的論著作者們表示衷心的感謝!附 錄 一、程序代碼ORG 0000HTEMPER_L EQU 29H TEMPER_H EQU 28H FLAG1 EQU 38H。數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置 B_BIT EQU 21H 。調(diào)用讀溫度子程序 MOV A,29HMOV B,ACLR CRLC ACLR CRLC ACLR CRLC ACLR CRLC ASWAP AMOV 31H,AMOV A,BMOV C,40H。調(diào)用數(shù)碼管顯示子程序AJMP MAIN。主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖MOV R1,3TSR1:MOV R0,107 DJNZ R0,$DJNZ R1,TSR1SETB 。等待DS18B20回應(yīng)DJNZ R0,TSR2LJMP TSR4 。 置標(biāo)志位,表示DS1820存在LJMP TSR5TSR4:CLR FLAG1 。 時(shí)序要求延時(shí)一段時(shí)間TSR7:SETB RET。先復(fù)位DS18B20JB FLAG1,TSS2RET 。 跳過ROM匹配LCALL WRITE_1820MOV A,44H 。這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒LCALL DISPLAYLCALL INIT_1820。 跳過ROM匹配LCALL WRITE_1820MOV A,0BEH 。 將讀出的溫度數(shù)據(jù)保存到35H/36H RET。一共8位數(shù)據(jù)CLR CWR1:CLR MOV R3,6DJNZ R3,$RRC AMOV ,CMOV R3,23DJNZ R3,$SETB NOPDJNZ R2,WR1RET。 將溫度高位和低位從DS18B20中讀出MOV R1,29H 。數(shù)據(jù)一共有8位RE01:CLR CSETB NOPNOPCLR NOPNOPNOPSETB MOV R3,9RE10: DJNZ R3,RE10MOV C,MOV R3,23RE20: DJNZ R3,RE20RRC ADJNZ R2,RE01MOV R1,ADEC R1DJNZ R4,RE00RETDISPLAY:CLR CSUBB A, 30JNB CY, T1MOV A, BCLR CSUBB A,25JNB CY, XIANSHICLR LJMP XIANSHIT1:CLR XIANSHI:MOV A,BMOV B,10 。十位在AMOV A_BIT,B 。多加的DPL1: MOV R1,250 。取個(gè)位數(shù)MOVC A,A+DPTR 。送出個(gè)位的7段代碼CLR 。顯示1MSSETB MOV DPTR,NUMTABMOV A,B_BIT 。查十位數(shù)的7段代碼MOV P0,A 。開十位顯示 ACALL D1MS 。多加的MOV A,31HMOV B,160DIV ABMOV XS,BXSW:MOV A,XS MOVC A,A+DPTRMOV P0,A CLR ACALL D1MS SETB SETB C。250次沒完循環(huán)DJNZ R0,DPL1 。1MS延時(shí)(按12MHZ算)D1MS: MOV R7,80 DJNZ R7,$RETNUMTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,7FH,7FH,7FH,7FH,7FH,7FHNUMTAB1: DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFHEND二、英文文獻(xiàn)Progress in ComputersMaurice WilkesThe first stored program puters began to work around 1950. The one we built in Cambridge, the EDSAC was first used in the summer of 1949.These early experimental puters were built by people like myself with varying backgrounds. We all had extensive experience in electronic engineering and were confident that that experience would stand us in good stead. This proved true, although we had some new things to learn. The most important of these was that transients must be treated correctly。 it had always been that way. This was what I meant when I referred in my abstract to inflation in the puter industry ‘going the other way’. As time goes on people get more for their money, not less. Research in Computer Hardware. The time that I am describing was a wonderful one for research in puter hardware. The user of the 7400 series could work at the gate and flipflop level and yet the overall level of integration was sufficient to give a degree of reliability far above that of discreet transistors. The researcher, in a university or elsewhere, could build any digital device that a fertile imagination could conjure up. In the Computer Laboratory we built the Cambridge CAP, a fullscale miniputer with fancy capability logic. The 7400 series was still going strong in the mid 1970s and was used for the Cambridge Ring, a pioneering wideband local area network. Publication of the design study for the Ring came just before the announcement of the Ethernet. Until these two systems appeared, users had mostly been content with teletypebased local area networks. Rings need high reliability because, as the pulses go repeatedly round the ring, they must be continually amplified and regenerated. It was the high reliability provided by the 7400 series of chips that gave us the courage needed to embark on the project for the Cambridge Ring. The RISC Movement