版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目 錄摘要: . . 1 關(guān)鍵詞: . . 1 Abstract: . . 1 Keywords: . . 1 引言 . . 2 1 單片機(jī)的簡介 . . 2 1.1單片機(jī)概述 . 2 1.2單片機(jī)的發(fā)展歷史 . 2 1.3單片機(jī)的應(yīng)用 . 2 2總體設(shè)計 . 3 2.1設(shè)計要求 . 3 2.2設(shè)計分析 . 3 3定時溫度控制系統(tǒng)硬件設(shè)計 . 5 3.1 BC7281A鍵盤顯示電路 . 5 3.2 DS12887時鐘電路 . 6 3.3 DS18B20測溫電路 . 7 3.4 LED顯示電路 . 7 3.5 獨立式鍵盤的接口設(shè)計 . . 8 3.6電源電路 . 9 4定時溫控系統(tǒng)軟件設(shè)計 .
2、10 4.1系統(tǒng)流程圖 . 10 4.2測試溫度子程序 . 11 4.3 DS18B20復(fù)位讀寫子程序 . 11 4.4顯示子程序 . 13 4.5 DS12887讀寫子程序 . 13 4.6調(diào)整時間子程序 . 14 4.7 設(shè)定定鬧開始/結(jié)束子程序 . . 15 4.8 設(shè)置溫度子程序 . . 16 4.9 BC7281A讀寫數(shù)據(jù)子程序 . 17 4.10 延時子程序 . . 18 4.11 定鬧中斷子程序 . . 18 4.12 鍵盤中斷子程序 . . 18 5性能測試與總結(jié) . 19 謝辭 . 20 參考文獻(xiàn) . . 21 附錄A 主程序 . 22 附錄B 硬件原理圖 . 25定時溫度控
3、制系統(tǒng)設(shè)計電子工程專業(yè)學(xué)生 劉雪方輔導(dǎo)教師 陳萬平摘要:定時溫度控制系統(tǒng)因其靈活、簡便、工作穩(wěn)定而被廣泛應(yīng)用于工業(yè)生產(chǎn)和日常生活中。本文介紹了以AT89C51單片機(jī)為核心的定時溫度控制系統(tǒng)的工作原理和設(shè)計方法。溫度信號由溫度傳感器DS18B20采集,DS18B20溫度傳感器可以將被制對象的溫度換為數(shù)字量反饋給單片機(jī),AT89C51單片機(jī)通過對信號相應(yīng)處理對其進(jìn)行控制?;贒S12887時鐘芯片和BC7281A 鍵盤顯示芯片系統(tǒng)可以實現(xiàn)定時溫控的功能關(guān)鍵詞: 89C51單片機(jī) DS18B20溫度傳感器 DS12887時鐘芯片 BC7281A鍵盤顯示芯片The control system of
4、regular temperature is designedelectronic engineering Liu XuefangInstructor Chen WanpingAbstract: The temperature control system for its flexibility in timing, simple, work stable and is widely used in industrial production and daily life. This paper introduces the A T89C51 microcontroller as the co
5、re temperature control system from time to time the working principle and design methods. Temperature signal from temperature sensor DS18B20 collection, DS18B20 temperature sensor system of the object can be replaced with digital temperature feedback to the microcontroller, AT89C51 microcontroller t
6、hrough the corresponding signal processing to control it. DS12887-based clock chip and BC7281A keyboard and display chip temperature control system can achieve the timing function.Keywords: 89C51 microcontroller DS18B20 Temperature Sensors DS12887 chip clock chip BC7281A keyboard and display引言由于工業(yè)過程
7、控制的需要,特別是在微電子技術(shù)和計算機(jī)技術(shù)的迅猛發(fā)展,以及自動控制理論和設(shè)計方法發(fā)展的推動下,國外溫度控制系統(tǒng)發(fā)展迅速,并在智能化自適應(yīng)參數(shù)自整定等方面取得成果。在這方面以日本、美國、德國、瑞典等國技術(shù)領(lǐng)先,并且都生產(chǎn)出了一批商品化的性能優(yōu)異的溫度控制器及儀器儀表,目前,國外溫度控制系統(tǒng)及儀表正朝著高精度智能化、小型化等方面快速發(fā)展。水溫控制在工業(yè)及日常生活中應(yīng)用廣泛, 分類較多, 不同水溫控制系統(tǒng)的控制方法也不盡相同, 其中以PID 控制法最為常見。采用PID 控制,恒溫保持時間長,控制精度高,準(zhǔn)確率1,比一般機(jī)型更節(jié)省能源。在一些溫控系統(tǒng)中,廣泛采用的是通過熱電偶、熱電阻或PN 結(jié)測溫電路
8、經(jīng)過相應(yīng)的信號調(diào)理電路,轉(zhuǎn)換成A D 轉(zhuǎn)換器能接收的模擬量,再經(jīng)過采樣保持電路進(jìn)行A D 轉(zhuǎn)換,最終送入單片機(jī)及其相應(yīng)的外圍電路,完成監(jiān)控。但是由于傳統(tǒng)的信號調(diào)理電路實現(xiàn)復(fù)雜、易受干擾、不易控制且精度不高。因此,本系統(tǒng)用一種新型的可編程溫度傳感器(DS18B20),不需復(fù)雜的信號調(diào)理電路和A D 轉(zhuǎn)換電路能直接與單片機(jī)完成數(shù)據(jù)采集和處理,實現(xiàn)方便、精度高,可根據(jù)不同需要用于各種場合。1 單片機(jī)的簡介1.1單片機(jī)概述單片機(jī)一詞最初源于“Single Chip Microcomputer”,它忠實地反映了早期單片機(jī)的形態(tài)和本質(zhì)。單片機(jī)就是將微型計算機(jī)集成在一片半導(dǎo)體芯片上集成了中央處理單元(CPU
9、 )、存儲器(RAM/ROM)和各種I/O接口,這樣一塊集成電路芯片具有一臺微型計算機(jī)的屬性,因而被稱為單片機(jī)微型計算機(jī),簡稱單片機(jī)。單片機(jī)主要應(yīng)用于測控領(lǐng)域,自20世紀(jì)70年代問世以來,已廣泛地應(yīng)用于工業(yè)自動化、自動檢測與控制、智能儀器儀表、家用電器、機(jī)電一體化設(shè)備、汽車電子等各方面。在國際上,多把單片機(jī)稱為微控制器MCU(Micro Controller Unit 。由于單片機(jī)在使用時,通常是處于測控系統(tǒng)的核心地位并嵌入其中,所以,通常也把單片機(jī)稱為嵌入式微控制器EMCU(Embedded Micro Controller Unit。而在我國大部分工程技術(shù)人員則比較習(xí)慣于使用“單片機(jī)”這一
10、名稱。 1.2單片機(jī)的發(fā)展歷史單片機(jī)的發(fā)展大體可分為四個階段:第一階段:單片機(jī)探索階段。以Intel 公司MCS-48,Motorola 公司6801為代表,屬低檔型8位機(jī)。第二階段:單片機(jī)完善階段。以Intel 公司MCS-51,Motorola 公司68HC05為代表,屬高檔型8位機(jī)。第三階段:8位機(jī)和16位機(jī)爭艷階段,也是單片機(jī)向微控制器發(fā)展的階段。第四階段:微控制器全面發(fā)展的階段。 1.3單片機(jī)的應(yīng)用單片機(jī)的出現(xiàn)使計算機(jī)從海量數(shù)值計算飛躍進(jìn)入到智能化控制領(lǐng)域。單片機(jī)體積小、價格低、應(yīng)用方便、穩(wěn)定可靠,因此,單片機(jī)的發(fā)展和普及帶來了自動化測試 與控制領(lǐng)域中的一場重大革命和技術(shù)進(jìn)步。僅從體
11、積小方面來說,由于單片機(jī)的體積要比一般計算機(jī)體積小很多,因此,單片機(jī)幾乎可以在任何設(shè)施或裝置上做成非常小的、功能比較完善的單片機(jī)嵌入系統(tǒng)置于其中,以實現(xiàn)各種方式的檢測、計算或控制。單片機(jī)能獲得大量的應(yīng)用主要是因為以單片機(jī)為核心構(gòu)成的應(yīng)用系統(tǒng)具有以下優(yōu)點: (1功能齊全,應(yīng)用可靠,抗干擾能力強(qiáng)。 (2簡單方便,易于普及。 (3發(fā)展迅速,前景廣闊。 (4嵌入容易,用途廣泛。2總體設(shè)計2.1設(shè)計要求作用單片機(jī)控制的定時溫控系統(tǒng),控制的溫度范圍時0100。該系統(tǒng)要顯示時間、設(shè)定溫度和實際溫度,能自動以設(shè)定的溫度開始或停止加熱。所控制的實際溫度和所設(shè)定的溫度誤差不會超過1。 2.2設(shè)計分析題目中要求對溫
12、度進(jìn)行控制,因此,準(zhǔn)確的溫度反饋時控制外部設(shè)備的前提條件,該系統(tǒng)中,我們采用了DS18B20溫度傳感器芯片,該芯片可直接將外界溫度轉(zhuǎn)換成數(shù)字量供單片機(jī)讀取,其精度為0.125,完全符合題目的要求。系統(tǒng)可定時控制,也就是需要一個準(zhǔn)確的時間基準(zhǔn)。MCS-51的定時器雖能準(zhǔn)確計時,但執(zhí)行程序時會耽誤時間且上電復(fù)位后時間基準(zhǔn)發(fā)生變化,所以定時不是很準(zhǔn)確。在該系統(tǒng)中,我們采用了DS12887時鐘芯片,該芯片內(nèi)部帶有鋰電池,能準(zhǔn)確記錄時間,為該系統(tǒng)提供準(zhǔn)確的時間基準(zhǔn)。顯示部分我們依然采用既方便又經(jīng)濟(jì)的鍵盤顯示芯片BC7281A 。硬件部分,將P3.1控制可控硅的方式來實現(xiàn)對系統(tǒng)的控制,將P3.0作為采集溫
13、度的信號線。溫控系統(tǒng)可用的控制算法有開關(guān)控制、模糊控制和經(jīng)典PID 控制。題目中的恒溫控制部分,我們采用經(jīng)典的PID 控制,這樣易于滿足題目要求。 2.2.1 AT89C51引腳功能 AT89C51引腳圖如圖所示:P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.0P0.1P0.2P0.3P0.4P0.5PO.6P0.7Vcc P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7VssXTAL2XTAL1/VppPSEN RST/VpD RXD/TXD/T0/T1/INTO INT1/89C5112
14、345678111213141516171819202122232425262728293031323334353637383940910電源引腳:(1)Vcc(40腳 :接+5V。 (2)Vss(20腳 :接地。 時鐘引腳:(1)XTAL1(19腳 :片內(nèi)振蕩器反相放大器和時鐘發(fā)生器電路的輸入端。使用片內(nèi)震蕩器時,該引腳連接外部石英晶體和微調(diào)電容。(2)XTAL2(18腳 :片內(nèi)震蕩器反相放大器的輸入端。當(dāng)使用片內(nèi)振蕩器時,該引腳連接外部石英晶體和微調(diào)電容;若采用外接的時鐘源,引腳TXAL1接收外部時鐘振蕩器的信號,XTAL2懸容。 控制引腳:(1)RST(9腳 :復(fù)位信號輸入端。當(dāng)單片機(jī)運
15、行時,在此引腳加上持續(xù)時間大于兩個機(jī)器周期的高電平時,就可以對單片機(jī)進(jìn)行復(fù)位操作。在單片機(jī)正常工作時,此腳應(yīng)為低電平。(2)EA _/Vpp(Enable Address/Voltage pulse of programing,引腳 :EA _為外部程序存儲器訪問允許控制端。當(dāng)EA _腳為高電平時,單片機(jī)讀片內(nèi)程序存儲器,當(dāng)EA _腳為低電平時,對程序存儲器的讀操作只限定在外部程序存儲器。Vpp 為本引腳的第二功能,為變成輸入端。(3)ALE/PR O G (Address Latch Enable/PRGramming,30腳):ALE 為低8位地址所存允許信號。P R O G 為本引腳的第
16、二功能,在對Flash 變成時,此引腳作為編程脈沖輸入端。(4) PREN(Program Strobe Enable,29腳):片外程序存儲器的讀選通信。在單片機(jī)讀外部程序存儲器時,此引腳輸出脈沖的負(fù)跳作為讀外部程序存儲器的選通信號。此引腳接外部程序存儲器的OE (輸出允許)端。I/O口引腳:(1)P0口:8位,漏極開路的雙向I/O口。當(dāng)89C51擴(kuò)展外部存儲器及I/O接口芯片時,P0口作為地址總線(低8位)及數(shù)據(jù)總線的分時復(fù)用端口。P0口也可作為通用的I/O端口使用,但需要加上拉電阻,這時為準(zhǔn)雙向口。P0口可驅(qū)動8個LS 型TTL 負(fù)載。(2)P1口:8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻
17、。P1口是專為用戶使用的準(zhǔn)雙向I/O口,當(dāng)作為普通的I/O輸入時應(yīng)先向端口的輸出鎖存器寫入1。P1口可驅(qū)動4個LS 型TTL 負(fù)載。(3)P2口:準(zhǔn)雙向I/O口,具有內(nèi)部上來電阻。當(dāng)80C51外部擴(kuò)展外部存儲器及I/O口時,P2口可輸出8位地址。P2口可驅(qū)動4個LS 型TTL 負(fù)載。(4)P3口:8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電。P3口可作為通用的I/O使用。當(dāng)做為通用的I/O輸入時,應(yīng)先向端口的輸出鎖存器寫入1.P3口可驅(qū)動4個TTL 負(fù)載。 P3口還有第二功能見下表: 3定時溫度控制系統(tǒng)硬件設(shè)計3.1 BC7281A鍵盤顯示電路BC7281A與MCU 之間的通訊是采用2線高速串行接口,
18、這兩個連線分別是數(shù)據(jù)線DAT 和同步時鐘線CLK ,其中DAT 為雙向數(shù)據(jù)傳輸線,BC7281A 既用該線從MCU 接收數(shù)據(jù),也用該線向MCU 發(fā)送數(shù)據(jù)。BC7281A 的DAT 引腳為漏極開路輸出結(jié)構(gòu),使用時須在該線上加20K 左右的上拉電阻。CLK 引腳為串行時鐘接口的同步時鐘,由MCU 控制,下降沿有效。串行接口數(shù)據(jù)寬度為8位?!癒EY 非”為鍵盤中斷輸出端,當(dāng)鍵盤有鍵按下時,BC7281A 由此引腳向單片機(jī)發(fā)出中斷信號請求中斷。BC7281A 的D100D107引腳分別和鍵盤、LED 顯示相連,一方面作為鍵盤芯片使用,另一方面作為LED 數(shù)碼管的位選輸入端。 3.2 DS12887時鐘
19、電路DS12887是美國達(dá)拉斯半導(dǎo)體公司推出的時鐘芯片,采用CMOS 技術(shù)制成,把時鐘芯片所需的晶振和外部鋰電池相關(guān)電路集與芯片內(nèi)部。采用DS12887芯片設(shè)計的時鐘電路無需任何外圍電路并具有良好的微機(jī)接口。DS12887芯片具有微功耗、外圍接口簡單、精度高、工作穩(wěn)定可靠等優(yōu)點,在此可用其為溫控系統(tǒng)提供一準(zhǔn)確的時間基準(zhǔn)。 硬件接口電路:DS12887時鐘芯片和89C51單微機(jī)的接口電路如下圖所示。DS12887的CS 端和單片機(jī)的P2.7引腳相連,當(dāng)P2.7向其發(fā)送一低電平信號時,DS12887被選中,工作。模式選擇腳MOT 拉低,選擇NTEL 時序,選擇DS12887時鐘芯片的地址總線及AS
20、 端口和89C51單片微機(jī)的P0及ALE 端直接相聯(lián);而DS 、R/W讀寫控制線與單片機(jī)的P3.7和P3.6相連;DS12887的高位地址由89C51單片機(jī)的P2.7端口來片選,則DS12887的高8位地址定為7FH ,而其低8俠地址則由芯片內(nèi)部各單元的地址來決定(00H3FH ; DS12887的SQW 端口可編程產(chǎn)生方波輸出信號。DS12887的中斷輸出端IRQ 和89C51的P3.2相聯(lián),給單片機(jī)提供中斷信號。 DS12887和89C51接口電路3.3 DS18B20測溫電路DS18B20采用3腳封裝,其中VCC 和GND 是電源和接地引腳,DQ 是數(shù)據(jù)線引腳。和單片機(jī)的P3.0引腳相連
21、。DS18B20以串行通信的方式與微控制器進(jìn)行數(shù)據(jù)通信,讀出或?qū)懭霐?shù)據(jù)僅需要一根I/O接口線。在此系統(tǒng)中DS18B20將被測對象的溫度轉(zhuǎn)換為數(shù)字量送給89C51,89C51根據(jù)反饋對通過P3.1控制可控硅的方式來實現(xiàn)對系統(tǒng)的控制。DS18B20有兩種供電方式:3.05.5V 的電源供電方式和寄生電源供電方式(直接從數(shù)據(jù)線獲取電源)。 若采用外部電源個器件供電,外部電源接VCC 引腳通過VD2向器件供電,如下圖12-4所示。寄生電源由二極管VD1、VD2、寄生電容C 和電源檢測電路組成,如下圖12-5所示。 寄生電源供電時,VCC 端接地,器件從單線總線上獲取電源,如圖12-5所示。在I/O線呈
22、低電平時,改由電容C 上的電壓繼續(xù)向器件供電。該寄生電源有兩個優(yōu)點:第一,檢測遠(yuǎn)程溫度時無需本地電源;第二,缺少正常電源時也能讀ROM DS18B20的通信協(xié)議:數(shù)字式溫度傳感器和模擬傳感器最大的區(qū)別,是將溫度信號直接轉(zhuǎn)換成數(shù)字信號,然后通過串行通信的方式輸出。因此掌握DS18B20的通信協(xié)議是使用該器件的關(guān)鍵。所有的DS18B20器件要求采用嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號類型:復(fù)位脈沖、應(yīng)答脈沖時隙;寫“0”、寫“1”時隙;讀“0”、讀“1”時隙。與DS18B20的通信,是通過操作時隙完成單總線上的數(shù)據(jù)傳輸。發(fā)送所有的命令和數(shù)據(jù)時,都是字節(jié)低位在前,高位在后。 復(fù)位
23、和應(yīng)答脈沖時隙每個通信周期起始于微控制器發(fā)出的復(fù)位脈沖,其后緊跟DS18B20發(fā)出的應(yīng)答脈沖。在寫時隙期間,主機(jī)向DS18B20器件寫入數(shù)據(jù),而在讀時隙期間,主機(jī)讀入來自DS18B20的數(shù)據(jù)。在每一個時隙,總線只能傳輸一位數(shù)據(jù)。3.4 LED顯示電路 LED驅(qū)動:LED顯示器的每一段發(fā)光二極管點亮?xí)r,通過的平均電流為10mA 20mA 。這么大的電流無論是單片機(jī)的端口線,還是擴(kuò)展的普通I/O口線都無法直接提供,所以通常都要外加驅(qū)動器,再與LED 數(shù)碼管相連。所以本系統(tǒng)中采用三極管作為驅(qū)動。 3.5 獨立式鍵盤的接口設(shè)計由于本系統(tǒng)中所用的按鍵并非很多,故此選用獨立式的鍵盤接口電路。獨立式鍵盤具有
24、按鍵相互獨立,每一個按鍵由一個單獨的I/O口控制,一個按鍵改變的是一個相應(yīng)I/O口的輸入點評,而不會對其他I/O口電平產(chǎn)生影響的優(yōu)點。 鍵盤的工作方式:通常鍵盤的工作方式有三種:編程掃描、定時掃描、和中斷掃描。中斷方式與前兩種工作方式相比大大提高了CPU 的工作效率,即在有鍵按下時才執(zhí)行鍵盤掃描,并執(zhí)行該按鍵對應(yīng)的功能程序。當(dāng)按鍵斷開時,由于100K 下拉電阻的作用,會使BC7281A 的D100D107各個引腳的電平拉低,表示無按鍵閉合;當(dāng)按鍵閉合時,由于按鍵的公共端經(jīng)一個二極管接到了74L164的高電平,此時BC7281A 的D100D107各個引腳的電平會被拉高,表示鍵盤有鍵按下,此時B
25、C7281A 會由KEY 引腳向89C51單片機(jī)發(fā)送一中斷請求,單片機(jī)會相應(yīng)中斷轉(zhuǎn)而執(zhí)行鍵盤程序。鍵盤的定義會在后面的調(diào)表、定溫程序中介紹。 接口電路如圖所示: 3.6電源電路本系統(tǒng)中除了固態(tài)繼電器的供電電壓為220V 以外,其余的各個芯片的供電電源全部為+5V,所以我們需要將220V 的電源經(jīng)變壓器變壓為89V 的電壓,然后經(jīng)過橋式整流濾波電路濾出+5V左右的電壓,而后再經(jīng)過MC7805穩(wěn)壓后再次濾波,最后輸出+5V的電壓供單片機(jī)和各個芯片使用。 濾波整流電路如圖所示: 4定時溫控系統(tǒng)軟件設(shè)計4.1系統(tǒng)流程圖 4.2測試溫度子程序TEMPER: MOV IE, #00HPUSH ACC ;測
26、試溫度子程序保護(hù)現(xiàn)場PUSH 00HPUSH 01HPUSH 02HACALL RSTM ;復(fù)位DS18B20MOV A, #0CCH ;寫ROM 指令A(yù)CALL WTEMMOV A, #44H ;啟動溫度轉(zhuǎn)換ACALL WTEMACALL RSTMMOV A,#0CCHACALL WTEMMOV A, #0BEH ;讀實際溫度值A(chǔ)CALL WTEMMOV R0, #50H ;讀出的數(shù)值存放在50H 開始的單元中,50H,51H分別放溫度的 LS、MSBACALL RTEMANL 50H, #0F0HANL 51H, #0FHMOV A, 50HORL A, 51HSWAP AADD A, #
27、00HDA AMOV TEMP, APOP 02HPOP 01HPOP 00HPOP ACCMOV IE, #85HRET4.3 DS18B20復(fù)位讀寫子程序RSTM: CLR P3.0MOV R4, #30H ;DS18B20復(fù)位,要求信號線保持低電平的時間MOV R5, #00HDJNZ R5, $DJNZ R4, $SETB P3.0MOV R5, #1EHDJNZ R5, $JB P3.0,$JNB P3.0,$RET;寫數(shù)據(jù)到DS18B20WTEM: SETB P3.0MOV R6,#08H ;寫8次,每次寫一位WTE: RRC A ;右移到進(jìn)位位去JC WTE1 ;是低,執(zhí)行一種時
28、序CLR P3.0;C=0,低時,執(zhí)行的時序 MOV R5, #1EHDJNZ R5, $AJMP WDR1WTE1: CLR P3.0;高時,執(zhí)行的時序 MOV R5, #08HDJNZ R5, $SETB P3.0MOV R5, #1DHDJNZ R5, $WDR1: SETB P3.0MOV R5, #1EHDJNZ R5, $DJNZ R6, WTERET;從S18B20中讀數(shù)據(jù) RTEM: SETB P3.0MOV R7, #08H;讀出DS18B20中的8個字節(jié)的暫存存儲器 RTM2: MOV R6, #08H;每個字節(jié)讀8次,一個字節(jié)讀8次 RTE: CLR P3.0NOPNOP
29、SETB P3.0MOV R5, #07HDJNZ R5, $JB P3.0,RTE1;P3.0=1或0 CLR C;是0清C RRC A;將C 的狀態(tài)移入累加器 RTE1: SETB CRRC ARDR1: SETB P3.0MOV R5, #1EHDJNZ R5, $DJNZ R6, RTE;讀8次 DJNZ R7, CONTINUESJMP CONTINUE1CONTINUE: MOV R0, AINC R0CLR ASJMP RTE2CONTINUE1: RET4.4顯示子程序十個LED 數(shù)碼管當(dāng)中,其中05位數(shù)碼管用于時間顯示,67位用于顯示設(shè)置溫度值,89位用于顯示實際溫度值。程序
30、設(shè)計方面原理相同,在此只對一部分做簡要介紹,不再贅述。其中30 H,31 H,32 H分別為秒、分、時對應(yīng)的顯存,SETUP 為鍵盤設(shè)置存放單元。DISPLAY: MOV DATA-OUT,#14H ;HEX 譯碼指令LCALL SENDMOV A,30H ;取秒的低4位ANL A, #0FHSWAP AADD A, #00H ;在第0位顯示SWAP AMOV DATA-OUT, ALCALL SENDMOV DATA-OUT, #14H ;HEX 譯碼指令LCALL SENDMOV A,SETUPANL A, #0FH ;取鍵盤設(shè)置溫度值的低4位SWAP AADD A,#06H ;在第6位顯
31、示SWAP AMOV DATA-OUT, ALCALL SEND4.5 DS12887讀寫子程序READ : CLR P27MOV 69,#08HBACK2: MOV R0,#00HMOVX A,R0MOV 40H,AMOV R0,#02HMOVX A,R0MOV 41H,AMOV R0,#04HMOVX A,R0MOV 42H,ANOPNOPNOPDJNZ 69H,BACK2SETB P2.7MOV 30H,40HMOV 31H,41HMOV 32H,42HRETWRITE : NOPMOV 35H,40HMOV 34H,41HMOV 33H,42HCLR P2.7MOV R0,#0AHMO
32、V A,#70HMOVX R0,AINC R0MOV A,#8AHMOVX R0,AMOV R0,69HMOV A,R1MOVX R0,AMOV R0,#0AHMOV A,#26HMOVX R0,AINC R0MOV A,#2AHMOVX R0,ASETB P2.7RET4.6調(diào)整時間子程序調(diào)整時間子程序可以通過鍵盤對所顯示的時間進(jìn)行調(diào)整。鍵盤產(chǎn)生中斷時對鍵盤進(jìn)行掃描,若有鍵按下,則立即對鍵值存儲單元R7初始化,以免引起誤操作。然后去抖動,再次掃描鍵盤確定是否有鍵按下,無鍵按下則中斷返回,如有鍵按下則對鍵盤掃描逐行判斷閉合鍵鍵號,把鍵值送入累加器,延時等待按鍵釋放,若按鍵釋放則取出鍵值并執(zhí)行,
33、然后中斷返回。其中三號鍵為取消鍵,五號鍵為調(diào)秒鍵,四號鍵為調(diào)分鍵,六號鍵為調(diào)時鍵及確認(rèn)鍵,七號鍵為減一鍵。因為調(diào)時、調(diào)分、調(diào)秒的子程序原理異曲同工,在此僅對一部分程序做介紹。相同之處不再贅述。MELODY-T : NOP ;進(jìn)入調(diào)表程序,小時保持原來的數(shù)值閃爍 LCALL READ ; 調(diào)用讀時間子程序LCALL DISPLAY ;顯示時間NOPHOUR : MOV R7,#0FFH ;鍵碼初始化MOV 32H,#0FFH ;顯示時的LED 熄滅LCALL DISPLAYLCALL DELAY1 ;滅的時間H0: MOV 32H,42 ;顯示時的LED 亮LCALL DISPLAY ;顯示原數(shù)
34、據(jù)的時間LCALL DELAY1CJNE R7,#03H,H1 MOV R7,#0FFH ;鍵盤中斷引起R7內(nèi)容變化,若有鍵按下,立即初始化鍵值存儲單元H1: LJMP FINISH ;若鍵值是03H ,跳出調(diào)表子程序CJNE R7, #04H, H2 ;是否跳到調(diào)分子程序MOV R7, #0FFHLJMP MINUTEH2: CJNE R7, #05H,HADD;是否跳到調(diào)秒子程序MOV R7, #0FFHLJMP SECONDHADD: CJNE R7,#06H,HREDUCE;是否將小時加1MOV A, #32HADD A, #01HDA A;進(jìn)制轉(zhuǎn)換MOV 32H,ACJNE A, #
35、24H, HADD1 ;是否加到24,若大于或等于24,重新從0開始加HREDUCE2: MOV 32H ,#24H ;若減到0,重新從24開始減SJMP CONT1HREDUCE1: JC HREDUCE2CONT1: NOPCJNE R2,#01H,H4MOV R1,#32HMOV 69H,#04HLCALL WRITESJMP H5H4: MOV 42H,32HH5: MOV R7,#0FFHLJMP H0FINISH: MOV R2 #0FFHRET4.7 設(shè)定定鬧開始/結(jié)束子程序SET-T: NOPMOV 6CH, #01H ;恢復(fù)定鬧功能LCALL MELODY-TCLR P2.7
36、 ;選中DS12887時間芯片MOV R0, #01H ;將定完的數(shù)據(jù)寫入鬧鈴單元MOV A, 40HMOVX R0, AMOV R0, #10 ;將定完的數(shù)據(jù)寫入外部RAM 區(qū)保存MOVX R0,AMOV R0, #03HMOV A, 41HMOVX R0, AMOV R0, #05HMOV A, 42HMOVX R0, AMOV R0, #12HMOVX R0, ASETB P2.7 ;關(guān)閉DS12887時鐘芯片NEXT9: CJNE R7, #01H, NEXT9 ;確定已定完開始時間MOV R7, #0FFHLCALL MELODY-T ;定結(jié)束時間CLR P2.7MOV R0, #1
37、3H ;將結(jié)束時間寫入外部RAM 區(qū)保存MOV A, 40HMOVX R0, AMOV R0, #14HMOV A, 41HMOVX R0, AMOV R0, #15HMOV A, 42HMOVX R0,ARET4.8 設(shè)置溫度子程序設(shè)置溫度子程序和調(diào)表子程序相似,都是通過鍵盤對顯示數(shù)值進(jìn)行改變,其中R7為鍵值存放單元,44H 為設(shè)置溫度存儲單元,SETUP 為鍵盤設(shè)置存放單元。二號鍵為退出鍵,六號為加1鍵,七號為減1鍵。SET-ALARM: NOPMOV R7, #0FFH ;顯示設(shè)置溫度的LED 開始閃爍MOV 44H, #0FFHLCALL DISPLAYLCALL DELAY1MOV
38、44H, SETUPLCALL DISPLAYLCALL DELAY1CJNE R7, #02H, TADDMOV R7, #0FFHLJMP COMPLETE ;設(shè)置結(jié)束TADD: CJNE R7,#06H,TREDUCE;設(shè)置值加1MOV A, 44HADD A, #01HDA AMOV 44H, ACJNE A, #99H,T1T2: MOV 44H, #00HLJMP CONT4T1: JNC T2LJMP CONT4TREDUCE: CJNE R7, #07H,SET-ALARM;設(shè)置值減1MOV A, 44HDEC AMOV 44H, AANL A, #0FHCJNE A, #0F
39、H, T3MOV A, 44HANL A, #0F9HMOV 44H, AT3: MOV A, 44HADD A, #00HDA AMOV 44H, ACJNE A, #00H, T4T5: MOV 44H, #99HSJMP CONT4T4: JC T5CONT4: NOPNOPMOV SETUP, 44HSJMP SET-ALARMCOMPLETE: RET4.9 BC7281A讀寫數(shù)據(jù)子程序SEND: MOV IE, #00H ;向BC7281A 發(fā)送數(shù)據(jù)時關(guān)閉所有中斷CLR TR0SEND1: CLR CLK ;在CLK 輸出一脈沖SETB CLKWAIT1: JB DAT, SEND
40、1 ;等待DAT 變?yōu)榈碗娖紺LR CLK ;再輸出一脈沖SETB CLKWAT2: JNB DAT, SEND2 ;等待DAT 恢復(fù)高電平(輸入狀態(tài))MOV BIT-COUNT, #8SEND-LOOP: MOV C, DATA-OUT.7;輸出BIT7MOV DAT, CCLR CLK ;輸出一脈沖,送出數(shù)據(jù)SETB CLKMOV A, DATA-OUTRL AMOV DATA-OUT, A ;DATA-OUT 左移一位NOPNOPNOPDJNZ BIT-COUNT, SEND-LOOPSETB DAT ;恢復(fù)DAT 高電平MOV IE, #85H ;開啟中斷SETB TR0RETRECE
41、IVE: MOV IE, #00H;從BC7281A 中讀取數(shù)據(jù)子程序 CLR TR0CLR CLK;發(fā)出一CLK 脈沖 SETB CLKWAT3: JB DAT,WAT3;等待DAT 低電平響應(yīng)信號 CLR CLK;再發(fā)送一CLK 脈沖,準(zhǔn)備接受數(shù)據(jù) SETB CLKMOV BIT-COUNT, #8RECV-LOOP: NOPNOPNOPMOV A, DATA-IN4.10 延時子程序DELAY50: ORL TMOD, #01H;延時子程序1 MOV TH1, #04CHMOV TL1, #00HSETB TR1JNB TF1, $CLR TF1CLR TR1RETDELAY1: MOV
42、 1AH, #0AFH;延時子程序2 YS05: MOV 1BH, #0FFHYS03: DJNZ 1BH, YS01SJMPYS04 YS01: CJNE R7, #0FFH,YSW;延時程序中響應(yīng)按鍵 SJMP YS03YS04: NOPDJNZ1AH, YS05 YSW: RET4.11 定鬧中斷子程序NEXTC: RETI4.12 鍵盤中斷子程序KEYBOARD: NOPMOV DATA-OUT, #93H ;讀鍵值鎖存器指令(地址13H )LCALL SENDLCALL RECEIVE ;讀出數(shù)據(jù)MOV R7, DATA-INNOPRETI5性能測試與總結(jié)在調(diào)試過程中,先進(jìn)行軟件調(diào)試
43、;在偉福環(huán)境下運行程序,跟蹤、單步、或全速執(zhí)行。進(jìn)行各程序模塊調(diào)試,最后整個程序整體調(diào)試。在偉福環(huán)境調(diào)試完后,將程序?qū)懭雴纹珯C(jī),檢查硬件,無虛焊、橋接等現(xiàn)象。硬件良好,插入單片機(jī),供電運行,數(shù)碼管顯示出現(xiàn)亂碼,經(jīng)過分析,硬件電路出了點問題,連接數(shù)碼管時挫開了一位,經(jīng)過修改程序的字段碼表,故障排除,經(jīng)過多次調(diào)試,驗證、修整,最終調(diào)試成功。通過本專題的設(shè)計,在王冠華教授的精心指導(dǎo)下,以及我的努力工作下,我成功的完成了定時溫度控制系統(tǒng)的設(shè)計,我有幾點體會:一 開拓了自己的知識面,使我對51系列單片機(jī),以及溫度控制程序的設(shè)計有了更全面,更清晰的認(rèn)識。二 培養(yǎng)了自己的動手能力。通過本次專題設(shè)計,我把四年
44、的知識又重新溫習(xí)了一遍,理論聯(lián)系實際,把知識應(yīng)用到實際當(dāng)中去。通過自己查閱大量資料,自己動手設(shè)計、編程、連接電路,開拓了思維,培養(yǎng)了自己的動手能力。三 在設(shè)計過程中,我們也遇到了不少的困難,但在教授的耐心指導(dǎo)下,困難被一一克服,讓我樹立了“遇到困難,戰(zhàn)勝困難”的信心,對此我對所有曾經(jīng)指導(dǎo)幫助過我教員表示中心的感謝。謝辭該結(jié)業(yè)設(shè)計,培訓(xùn)站的諸位給予了很大的支持,尤其在設(shè)計過程中的孜孜教導(dǎo)和對我的疑難問題不厭其煩的解答和幫助,提高了我應(yīng)用單片機(jī)匯編語言編程的技術(shù)水平以及分析問題和解決問題的能力。在此向曾經(jīng)給予幫助和鼓勵的所有老師及同學(xué)表示中心的感謝。老師的指導(dǎo)使我的設(shè)計能夠順利進(jìn)行和如期完成,通過
45、本次設(shè)計,我收獲很大,專業(yè)知識面擴(kuò)大了,同時我認(rèn)識到設(shè)計人員應(yīng)該具有創(chuàng)新的思維方式,能大膽嘗試新的設(shè)計思路,增強(qiáng)了我的自主學(xué)習(xí)和動手能力,為今后走向工作崗位奠定了良好的基礎(chǔ)。未來只能通過自己在專業(yè)知識結(jié)構(gòu)上不斷地完善,把所學(xué)到的知識更好地運用到工作當(dāng)中。因此,我還需要不斷學(xué)習(xí)總結(jié),不斷實踐,把所學(xué)到的專業(yè)知識很好地運用到工作當(dāng)中,不斷提高自己的學(xué)習(xí)工作能力。最后,再次對所有給與幫助和指導(dǎo)的所有老師和同學(xué)表示衷心的感謝。參考文獻(xiàn)1 崔華. 單片機(jī)實用技術(shù)M.北京:清華大學(xué)出版社,2004. 2 張志良. 單片機(jī)原理與控制技術(shù)M.北京:機(jī)械工業(yè)出版社,2007. 3 韓太林. 單片機(jī)原理及應(yīng)用M.
46、北京:電子工業(yè)出版社,2005.4 張毅剛.MCS-51單片機(jī)應(yīng)用設(shè)計M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997. 5 余宏生 吳建設(shè). 電子CAD 技能實訓(xùn)M.北京:人民郵電出版社,2005. 6吳金戎.8051單片機(jī)實踐與應(yīng)用M.北京:清華大學(xué)出版社,2002 7何立民. 單片機(jī)應(yīng)用技術(shù)選編M.北京:北京航空航天大學(xué)出版社,19938 張毅剛 彭喜元. 單片機(jī)應(yīng)用原理與應(yīng)用設(shè)計M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2008.附錄A 主程序定時溫控系統(tǒng)的主程序 TEMP-BIT BIT 00H ;溫度測試標(biāo)志位LOWER5 BIT 01H ;溫度小于5時的標(biāo)志位 TEMP-CONTROL BIT
47、 02H ;輸出控制寄存位 ZERO-BIT BIT 03H ;不加熱標(biāo)志 CONTROL-BIT BIT P3.1 ;加熱通道COUNT EQU 60H ;記錄進(jìn)入中斷次數(shù)單元 TEMP EQU 61H ;溫度測試后的值存放單元 SETUP EQU 62H ;鍵盤設(shè)置存放單元 L-LAST EQU 63H ;上上次溫度記錄值 LAST EQU 64H ;上次溫度記錄值 THIS EQU 65H ;本次溫度記錄值-HIGH EQU 66H ;占空比調(diào)節(jié)高位存放位 -LOW EQU 67H ;占空比調(diào)節(jié)低存放位 BIT-COUNT DATA 00FH TIMER DATA 00EH TIMER1 DATA 00DH DATA-IN D
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度扶貧資金管理及使用專項合同3篇
- 2025年度智能廣告創(chuàng)意制作與推廣服務(wù)合同4篇
- 2024鋪位出租合同-親子樂園鋪位租賃管理協(xié)議3篇
- 2025年度石材加工與大理石施工一體化工程合同4篇
- 2025年度土地整治與修復(fù)項目租賃合同4篇
- 2025年度智能生產(chǎn)線承包運營服務(wù)合同4篇
- 2024版貨車租賃合規(guī)性及責(zé)任明確合同版B版
- 2025年度水電安裝工程智能化施工技術(shù)與保修服務(wù)合同3篇
- 2025年度智能物流配套廠房建設(shè)合同范本4篇
- 2025年度智能家居瓷磚批發(fā)代理銷售合同3篇
- 使用錯誤評估報告(可用性工程)模版
- 公司章程(二個股東模板)
- GB/T 19889.7-2005聲學(xué)建筑和建筑構(gòu)件隔聲測量第7部分:樓板撞擊聲隔聲的現(xiàn)場測量
- 世界奧林匹克數(shù)學(xué)競賽6年級試題
- 藥用植物學(xué)-課件
- 文化差異與跨文化交際課件(完整版)
- 國貨彩瞳美妝化消費趨勢洞察報告
- 云南省就業(yè)創(chuàng)業(yè)失業(yè)登記申請表
- UL_標(biāo)準(zhǔn)(1026)家用電器中文版本
- 國網(wǎng)三個項目部標(biāo)準(zhǔn)化手冊(課堂PPT)
- 快速了解陌生行業(yè)的方法論及示例PPT課件
評論
0/150
提交評論