【正文】
鍵盤共有 16 個(gè)按鍵,用于方便設(shè)定溫度。 存儲器結(jié)構(gòu): MCS51單片機(jī)內(nèi)核采用程序存儲器和數(shù)據(jù)存儲器空間分開的結(jié)構(gòu),均具有 64KB 外部程序和數(shù)據(jù)的尋址空間。當(dāng)訪問外部數(shù)據(jù)存儲器,高有兩次有效的 PSEN 信號。 Flash 編程或校驗(yàn)時(shí), P2 也接收高位地址和其它控制信號。 由于系統(tǒng)控制方案簡單 ,數(shù)據(jù)量也不大 ,考慮到電路的簡單和成本等因天津大學(xué)網(wǎng)絡(luò)教育學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 5 素 ,因此在本設(shè)計(jì)中選用 A TMEL 公司的 A T89S51 單片機(jī)作為主控芯片。 目前,發(fā)達(dá)國家研究的總體趨勢是實(shí)現(xiàn)設(shè)施內(nèi)部環(huán)境因素 (如溫度、濕度、光照、二氧化碳濃度等 )的調(diào)控由過去單因素控制向利用環(huán)境計(jì)算機(jī)進(jìn)行多因子動態(tài)控制的發(fā)展;溫室環(huán)境控制和作物栽培管理向智能化、網(wǎng)絡(luò)化方向發(fā)展,而且溫室產(chǎn)業(yè)向節(jié)約能源、低成本的地區(qū)轉(zhuǎn)移,節(jié)能技術(shù)成為研究的重點(diǎn)。在農(nóng)業(yè)中,用于保證蔬菜大棚的恒溫保產(chǎn)等。在實(shí)時(shí)檢測和自動控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用,僅單片機(jī)方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及具體應(yīng)用對象特點(diǎn)的軟件結(jié)合,以作完善。 課題的背景及研究意義 二十一世紀(jì)是科技高速發(fā)展的信息時(shí)代,電子技術(shù)、微型單片機(jī)技術(shù)的應(yīng)用更是空前廣泛, 伴隨著科學(xué)技術(shù)和生產(chǎn)的不斷發(fā)展,需要對各種參數(shù)進(jìn)行溫度測量。美國的溫室多為連棟溫室,其高壓霧化降溫、加濕系統(tǒng)及濕簾降溫系統(tǒng)世界領(lǐng)先。 此外, AT89S51 設(shè)計(jì)和配置了振蕩頻率可為 0Hz 并可通過軟件設(shè)置省電模式。 天津大學(xué)網(wǎng)絡(luò)教育學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 6 表 21 P1 口第二功能 端口引腳 第二功能 MOSI(用于 ISP 編程) MISO(用于 ISP 編程) SCK(用于 ISP 編程) P2 口: P2 是一個(gè)帶有內(nèi)部上拉電阻的 8位雙向 I/O 口, P2的輸出緩沖 級可驅(qū)動 4個(gè) TTL 邏輯門電路。該位禁位后,只有一條 MOVX 和 MOVC 指令 ALE 才會被激活。 圖 22 AUXR輔助寄存器 雙時(shí)鐘指針寄存器:為方便地訪問內(nèi)部和外部數(shù)據(jù)存儲器,提供了兩個(gè)16位數(shù)據(jù)指針寄存儲器: PD0 位于 SFR 區(qū)塊中的地址 82H、 83H 和 DP1 位于地址 84H、 85H,當(dāng) SFR 中的位 DPS=0 時(shí)選擇 DP0,而 DPS=1 時(shí)選擇 DP1。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為 1。二極管的作用是將反向電流分流,使流過三級管 8050 的電流比較小,達(dá)到保護(hù)三極管8050 的作用。進(jìn)行串行 通訊時(shí)要滿足一定的條件,比如電腦的串口是 RS232電平的,而單片機(jī)的串口是 TTL 電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我采用了專用芯片 MAX232 進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。接著就判斷 F F2 按鍵是否被按下。 本制作的設(shè)計(jì)中使用了繼電器控制的只是插座電路,因此,該系統(tǒng)的可擴(kuò)展性很強(qiáng)。 當(dāng)要關(guān)閉系統(tǒng)時(shí),先關(guān)掉開關(guān),然后再拔掉電源。1560US 的等待時(shí)間 MOV R6,4 SETDSDQ: LCALL DELAY60US JNB DS18DQ,SETDSDQFH 。 JB ,EXIT7 MOV 33H,00H EXIT7: RET 天津大學(xué)網(wǎng)絡(luò)教育學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 26 GET_TEMPER: 。低位地址存在 R1 DS18JXRD3: MOV R5,8 。送出 64 個(gè)位的數(shù)據(jù) MOV R4,8 MOV DPTR,DS18TAB DS1864SEN1: MOV A,DS1864B MOVC A,A+DPTR LCALL WRITE_1820 INC DS1864B DJNZ R4,DS1864SEN1 RET MATCHROM: LCALL INIT_1820 MOV A,55H 。1kz 持續(xù)時(shí)間 DIV1:MOV R3,0FAH DIV2:CPL 。 取反 LCALL DELAY 。檢查有沒有按鍵按下 JNZ LK1 AJMP CH_KEY LK1:LCALL T12MS ACALL KS JNZ LK2 RET LK2:NOP LCALL SBIE 。前兩句完成初始化 NOP NOP 。初始化 CLR DS18DQ 天津大學(xué)網(wǎng)絡(luò)教育學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 27 CLR DS18DQ MOV R7,5 DJNZ R7,$ 。 DIV AB 。從低到高 DS18CD3 EQU 44H DS18CD4 EQU 45H DS18CD5 EQU 46H 確認(rèn)溫度控制箱上的開關(guān)全部打到關(guān)的狀態(tài) 接上溫度芯片,連接好電路,接上 電源,打開開關(guān) 按 F1 或 F2 進(jìn)行溫度點(diǎn) 1 或溫度點(diǎn) 2 的設(shè)定 系 統(tǒng) 開 始 工作,直至工作結(jié)束,關(guān)閉電源 天津大學(xué)網(wǎng)絡(luò)教育學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 24 DS18CD6 EQU 47H DS18CD7 EQU 48H DS18CD8 EQU 49H DS1864B EQU 4AH DS18ADS EQU 4BH DS18DQ EQU 。在溫度控制箱上的數(shù)碼管顯示出當(dāng)前溫度 按 F1鍵,進(jìn)入溫度點(diǎn) 1的設(shè)置。通過分析,當(dāng)對浮點(diǎn)數(shù)求平均處理時(shí),遇到同一時(shí)刻兩個(gè)傳感頭采集的溫度相差不大,使 ℃ 時(shí)求出平均溫度變?yōu)? ℃ 為了解該數(shù)據(jù)是否真實(shí),可采用一個(gè)高精度的數(shù)字溫度計(jì)測試,發(fā)現(xiàn)讀出的值與其基本一致,由此推斷如果在同一時(shí)間增加采集溫度的個(gè)數(shù),則可以進(jìn)一步提高溫度的精度。 D1T1220uFC5220uFC8C6C778051 2 3~ 220V輸出 5V 直流電壓5V470R3Res2D2VCC電源指示 圖 41 電源部分連線圖 天津大學(xué)網(wǎng)絡(luò)教育學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 17 第五章 程序設(shè)計(jì) 程序結(jié)構(gòu)分析 主程序調(diào)用了 5個(gè)子程序,分別是數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號處理程序、繼電器控制程序、單片機(jī)與 PC機(jī)串口通訊程序。真值表:表 32 表 32 真值表 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m b e r R e v i s i o nS i z eBD a t e : 2 2 S e p 2 0 0 4 S h e e t o f F i l e : E : \ D o c u m e n t s a n d S e t ti n g s \公用 \桌面 \復(fù)件 8 9 s 5 1 綜合實(shí)驗(yàn)板原理圖 .d d bD r a w n B y :abfcgdeV C C1234567abcdefg8dpdp9D S 6abfcgdeV C C1234567abcdefg8dpdp9D S 7abfcgdeV C C1234567abcdefg8dpdp9D S 8abfcgdeV C C1234567abcdefg8dpdp9D S 9abfcgdeV C C1234567abcdefg8dpdp9D S 1 3abfcgdeV C C1234567abcdefg8dpdp9D S 1 6A1B2QA3QB4QC5QD6C L K8C L R9QE10QF11QG12QH13U 1 67 4 L S 1 6 4A1B2QA3QB4QC5QD6C L K8C L R9QE10QF11QG12QH13U 1 37 4 L S 1 6 4A1B2QA3QB4QC5QD6C L K8C L R9QE10QF11QG12QH13U 1 27 4 L S 1 6 4A1B2QA3QB4QC5QD6C L K8C L R9QE10QF11QG12QH13U 1 47 4 L S 1 6 4A1B2QA3QB4QC5QD6C L K8C L R9QE10QF11QG12QH13U 1 57 4 L S 1 6 4A1B2QA3QB4QC5QD6C L K8C L R9QE10QF11QG12QH13U97 4 L S 1 6 4+ 5 V + 5 V + 5 V + 5 V + 5 V+ 5 VR1 R2 R3 R4 R5 R6+ 5 V + 5 V + 5 V + 5 V + 5 V + 5 VS D AS C L 圖 34 實(shí)際連線圖 接口通信單元 max232 資料簡介 : 該產(chǎn)品是由德州儀器公司( TI)推出的一款兼容 RS232 標(biāo)準(zhǔn)的芯片。 當(dāng)溫度未達(dá)到要求時(shí),單片機(jī)發(fā)送高電平信號使三極管飽和導(dǎo)通,繼電器使電源與電熱器接通,電熱器加熱。 鍵開關(guān)狀態(tài)的可靠輸入 :為了去抖動我采用軟件方法,它是在檢測到有鍵按下時(shí),執(zhí)行一個(gè) 10ms 的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認(rèn)為真正鍵按下狀態(tài),從而消除了抖動影響 在這種行列式矩陣鍵盤非編碼鍵盤的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。 XTAL2:振蕩器反相放大器的輸出端。當(dāng)振蕩工作時(shí), RST 引腳出現(xiàn)兩個(gè)機(jī)器周期上高電平將使單片機(jī)復(fù)位。在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低 8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 綜上,在本系統(tǒng)中我采用溫度芯片 DS18B20 測量溫度。在日常生活中,也可廣泛實(shí)用于地?zé)帷⒖照{(diào)器、電加熱器等各種家庭室溫測量及工業(yè)設(shè)備天津大學(xué)網(wǎng)絡(luò)教育學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 2 溫度測量場合。傳統(tǒng)的繼電器調(diào)溫電路簡單 實(shí)用 ,但由于繼電器動作頻繁 ,可能會因觸點(diǎn)不良而影響正常工作。這類控制對象慣性大 ,滯后現(xiàn)象嚴(yán)重 ,存在很多不確定的因素 ,難以建立精確的數(shù)學(xué)模型 ,從而導(dǎo)致控制系統(tǒng)性能不佳 ,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。因此,單片 機(jī)溫度測量則是對溫度進(jìn)行有效的測量,并且能夠在工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用,尤其在電力工程、化工生產(chǎn)、機(jī)械制造、冶金工業(yè)等重要工業(yè)領(lǐng)域中,擔(dān)負(fù)著重要的測量任務(wù)。從而可以看出 DS18B20可以 非常 方便的被 用于遠(yuǎn)距離多點(diǎn)溫度檢測系統(tǒng) 。 AT89S51 引角功能說明 Vcc:電源電壓 GND:地 P0 口: P0 口是一組 8 位漏極開路型雙向 I/O 口,也即地址 /數(shù)據(jù)總線復(fù)用口,作為輸出口用時(shí),每位能驅(qū)動 8個(gè) TTL 邏輯門電路,對端口寫“ 1”可作為高阻抗輸入端口。 表 22 P3 口的第二功能 端口功能 第二功能 端口引腳 第二功能 RXD( ) 串行輸入口 T0( ) 定時(shí) /計(jì)數(shù)器 0 外部輸入 TXD( ) 串行輸出口 T1( ) 定時(shí) /計(jì)數(shù)器 1 外部輸入 INT0( ) 外中斷 0 WR( ) 外部數(shù)據(jù)存儲器寫選通 INT1( ) 外中斷 1 RD( ) 外部數(shù)據(jù)存儲器讀選通 RST:復(fù)位輸入。 XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。引腳圖詳見圖 24 天津