版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄摘要: . . 1 關(guān)鍵詞: . . 1 Abstract: . . 1 Keywords: . . 1 引言 . . 2 1 單片機(jī)的簡(jiǎn)介 . . 2 1.1單片機(jī)概述 . 2 1.2單片機(jī)的發(fā)展歷史 . 2 1.3單片機(jī)的應(yīng)用 . 2 2總體設(shè)計(jì) . 3 2.1設(shè)計(jì)要求 . 3 2.2設(shè)計(jì)分析 . 3 3定時(shí)溫度控制系統(tǒng)硬件設(shè)計(jì) . 5 3.1 BC7281A鍵盤(pán)顯示電路 . 5 3.2 DS12887時(shí)鐘電路 . 6 3.3 DS18B20測(cè)溫電路 . 7 3.4 LED顯示電路 . 7 3.5 獨(dú)立式鍵盤(pán)的接口設(shè)計(jì) . . 8 3.6電源電路 . 9 4定時(shí)溫控系統(tǒng)軟件設(shè)計(jì) .
2、10 4.1系統(tǒng)流程圖 . 10 4.2測(cè)試溫度子程序 . 11 4.3 DS18B20復(fù)位讀寫(xiě)子程序 . 11 4.4顯示子程序 . 13 4.5 DS12887讀寫(xiě)子程序 . 13 4.6調(diào)整時(shí)間子程序 . 14 4.7 設(shè)定定鬧開(kāi)始/結(jié)束子程序 . . 15 4.8 設(shè)置溫度子程序 . . 16 4.9 BC7281A讀寫(xiě)數(shù)據(jù)子程序 . 17 4.10 延時(shí)子程序 . . 18 4.11 定鬧中斷子程序 . . 18 4.12 鍵盤(pán)中斷子程序 . . 18 5性能測(cè)試與總結(jié) . 19 謝辭 . 20 參考文獻(xiàn) . . 21 附錄A 主程序 . 22 附錄B 硬件原理圖 . 25定時(shí)溫度控
3、制系統(tǒng)設(shè)計(jì)電子工程專(zhuān)業(yè)學(xué)生 劉雪方輔導(dǎo)教師 陳萬(wàn)平摘要:定時(shí)溫度控制系統(tǒng)因其靈活、簡(jiǎn)便、工作穩(wěn)定而被廣泛應(yīng)用于工業(yè)生產(chǎn)和日常生活中。本文介紹了以AT89C51單片機(jī)為核心的定時(shí)溫度控制系統(tǒng)的工作原理和設(shè)計(jì)方法。溫度信號(hào)由溫度傳感器DS18B20采集,DS18B20溫度傳感器可以將被制對(duì)象的溫度換為數(shù)字量反饋給單片機(jī),AT89C51單片機(jī)通過(guò)對(duì)信號(hào)相應(yīng)處理對(duì)其進(jìn)行控制?;贒S12887時(shí)鐘芯片和BC7281A 鍵盤(pán)顯示芯片系統(tǒng)可以實(shí)現(xiàn)定時(shí)溫控的功能關(guān)鍵詞: 89C51單片機(jī) DS18B20溫度傳感器 DS12887時(shí)鐘芯片 BC7281A鍵盤(pán)顯示芯片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è)過(guò)程
7、控制的需要,特別是在微電子技術(shù)和計(jì)算機(jī)技術(shù)的迅猛發(fā)展,以及自動(dòng)控制理論和設(shè)計(jì)方法發(fā)展的推動(dòng)下,國(guó)外溫度控制系統(tǒng)發(fā)展迅速,并在智能化自適應(yīng)參數(shù)自整定等方面取得成果。在這方面以日本、美國(guó)、德國(guó)、瑞典等國(guó)技術(shù)領(lǐng)先,并且都生產(chǎn)出了一批商品化的性能優(yōu)異的溫度控制器及儀器儀表,目前,國(guó)外溫度控制系統(tǒng)及儀表正朝著高精度智能化、小型化等方面快速發(fā)展。水溫控制在工業(yè)及日常生活中應(yīng)用廣泛, 分類(lèi)較多, 不同水溫控制系統(tǒng)的控制方法也不盡相同, 其中以PID 控制法最為常見(jiàn)。采用PID 控制,恒溫保持時(shí)間長(zhǎng),控制精度高,準(zhǔn)確率1,比一般機(jī)型更節(jié)省能源。在一些溫控系統(tǒng)中,廣泛采用的是通過(guò)熱電偶、熱電阻或PN 結(jié)測(cè)溫電路
8、經(jīng)過(guò)相應(yīng)的信號(hào)調(diào)理電路,轉(zhuǎn)換成A D 轉(zhuǎn)換器能接收的模擬量,再經(jīng)過(guò)采樣保持電路進(jìn)行A D 轉(zhuǎn)換,最終送入單片機(jī)及其相應(yīng)的外圍電路,完成監(jiān)控。但是由于傳統(tǒng)的信號(hào)調(diào)理電路實(shí)現(xiàn)復(fù)雜、易受干擾、不易控制且精度不高。因此,本系統(tǒng)用一種新型的可編程溫度傳感器(DS18B20),不需復(fù)雜的信號(hào)調(diào)理電路和A D 轉(zhuǎn)換電路能直接與單片機(jī)完成數(shù)據(jù)采集和處理,實(shí)現(xiàn)方便、精度高,可根據(jù)不同需要用于各種場(chǎng)合。1 單片機(jī)的簡(jiǎn)介1.1單片機(jī)概述單片機(jī)一詞最初源于“Single Chip Microcomputer”,它忠實(shí)地反映了早期單片機(jī)的形態(tài)和本質(zhì)。單片機(jī)就是將微型計(jì)算機(jī)集成在一片半導(dǎo)體芯片上集成了中央處理單元(CPU
9、 )、存儲(chǔ)器(RAM/ROM)和各種I/O接口,這樣一塊集成電路芯片具有一臺(tái)微型計(jì)算機(jī)的屬性,因而被稱為單片機(jī)微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。單片機(jī)主要應(yīng)用于測(cè)控領(lǐng)域,自20世紀(jì)70年代問(wèn)世以來(lái),已廣泛地應(yīng)用于工業(yè)自動(dòng)化、自動(dòng)檢測(cè)與控制、智能儀器儀表、家用電器、機(jī)電一體化設(shè)備、汽車(chē)電子等各方面。在國(guó)際上,多把單片機(jī)稱為微控制器MCU(Micro Controller Unit 。由于單片機(jī)在使用時(shí),通常是處于測(cè)控系統(tǒng)的核心地位并嵌入其中,所以,通常也把單片機(jī)稱為嵌入式微控制器EMCU(Embedded Micro Controller Unit。而在我國(guó)大部分工程技術(shù)人員則比較習(xí)慣于使用“單片機(jī)”這一
10、名稱。 1.2單片機(jī)的發(fā)展歷史單片機(jī)的發(fā)展大體可分為四個(gè)階段:第一階段:?jiǎn)纹瑱C(jī)探索階段。以Intel 公司MCS-48,Motorola 公司6801為代表,屬低檔型8位機(jī)。第二階段:?jiǎn)纹瑱C(jī)完善階段。以Intel 公司MCS-51,Motorola 公司68HC05為代表,屬高檔型8位機(jī)。第三階段:8位機(jī)和16位機(jī)爭(zhēng)艷階段,也是單片機(jī)向微控制器發(fā)展的階段。第四階段:微控制器全面發(fā)展的階段。 1.3單片機(jī)的應(yīng)用單片機(jī)的出現(xiàn)使計(jì)算機(jī)從海量數(shù)值計(jì)算飛躍進(jìn)入到智能化控制領(lǐng)域。單片機(jī)體積小、價(jià)格低、應(yīng)用方便、穩(wěn)定可靠,因此,單片機(jī)的發(fā)展和普及帶來(lái)了自動(dòng)化測(cè)試 與控制領(lǐng)域中的一場(chǎng)重大革命和技術(shù)進(jìn)步。僅從體
11、積小方面來(lái)說(shuō),由于單片機(jī)的體積要比一般計(jì)算機(jī)體積小很多,因此,單片機(jī)幾乎可以在任何設(shè)施或裝置上做成非常小的、功能比較完善的單片機(jī)嵌入系統(tǒng)置于其中,以實(shí)現(xiàn)各種方式的檢測(cè)、計(jì)算或控制。單片機(jī)能獲得大量的應(yīng)用主要是因?yàn)橐詥纹瑱C(jī)為核心構(gòu)成的應(yīng)用系統(tǒng)具有以下優(yōu)點(diǎn): (1功能齊全,應(yīng)用可靠,抗干擾能力強(qiáng)。 (2簡(jiǎn)單方便,易于普及。 (3發(fā)展迅速,前景廣闊。 (4嵌入容易,用途廣泛。2總體設(shè)計(jì)2.1設(shè)計(jì)要求作用單片機(jī)控制的定時(shí)溫控系統(tǒng),控制的溫度范圍時(shí)0100。該系統(tǒng)要顯示時(shí)間、設(shè)定溫度和實(shí)際溫度,能自動(dòng)以設(shè)定的溫度開(kāi)始或停止加熱。所控制的實(shí)際溫度和所設(shè)定的溫度誤差不會(huì)超過(guò)1。 2.2設(shè)計(jì)分析題目中要求對(duì)溫
12、度進(jìn)行控制,因此,準(zhǔn)確的溫度反饋時(shí)控制外部設(shè)備的前提條件,該系統(tǒng)中,我們采用了DS18B20溫度傳感器芯片,該芯片可直接將外界溫度轉(zhuǎn)換成數(shù)字量供單片機(jī)讀取,其精度為0.125,完全符合題目的要求。系統(tǒng)可定時(shí)控制,也就是需要一個(gè)準(zhǔn)確的時(shí)間基準(zhǔn)。MCS-51的定時(shí)器雖能準(zhǔn)確計(jì)時(shí),但執(zhí)行程序時(shí)會(huì)耽誤時(shí)間且上電復(fù)位后時(shí)間基準(zhǔn)發(fā)生變化,所以定時(shí)不是很準(zhǔn)確。在該系統(tǒng)中,我們采用了DS12887時(shí)鐘芯片,該芯片內(nèi)部帶有鋰電池,能準(zhǔn)確記錄時(shí)間,為該系統(tǒng)提供準(zhǔn)確的時(shí)間基準(zhǔn)。顯示部分我們依然采用既方便又經(jīng)濟(jì)的鍵盤(pán)顯示芯片BC7281A 。硬件部分,將P3.1控制可控硅的方式來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)的控制,將P3.0作為采集溫
13、度的信號(hào)線。溫控系統(tǒng)可用的控制算法有開(kāi)關(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腳 :接地。 時(shí)鐘引腳:(1)XTAL1(19腳 :片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器電路的輸入端。使用片內(nèi)震蕩器時(shí),該引腳連接外部石英晶體和微調(diào)電容。(2)XTAL2(18腳 :片內(nèi)震蕩器反相放大器的輸入端。當(dāng)使用片內(nèi)振蕩器時(shí),該引腳連接外部石英晶體和微調(diào)電容;若采用外接的時(shí)鐘源,引腳TXAL1接收外部時(shí)鐘振蕩器的信號(hào),XTAL2懸容。 控制引腳:(1)RST(9腳 :復(fù)位信號(hào)輸入端。當(dāng)單片機(jī)運(yùn)
15、行時(shí),在此引腳加上持續(xù)時(shí)間大于兩個(gè)機(jī)器周期的高電平時(shí),就可以對(duì)單片機(jī)進(jìn)行復(fù)位操作。在單片機(jī)正常工作時(shí),此腳應(yīng)為低電平。(2)EA _/Vpp(Enable Address/Voltage pulse of programing,引腳 :EA _為外部程序存儲(chǔ)器訪問(wèn)允許控制端。當(dāng)EA _腳為高電平時(shí),單片機(jī)讀片內(nèi)程序存儲(chǔ)器,當(dāng)EA _腳為低電平時(shí),對(duì)程序存儲(chǔ)器的讀操作只限定在外部程序存儲(chǔ)器。Vpp 為本引腳的第二功能,為變成輸入端。(3)ALE/PR O G (Address Latch Enable/PRGramming,30腳):ALE 為低8位地址所存允許信號(hào)。P R O G 為本引腳的第
16、二功能,在對(duì)Flash 變成時(shí),此引腳作為編程脈沖輸入端。(4) PREN(Program Strobe Enable,29腳):片外程序存儲(chǔ)器的讀選通信。在單片機(jī)讀外部程序存儲(chǔ)器時(shí),此引腳輸出脈沖的負(fù)跳作為讀外部程序存儲(chǔ)器的選通信號(hào)。此引腳接外部程序存儲(chǔ)器的OE (輸出允許)端。I/O口引腳:(1)P0口:8位,漏極開(kāi)路的雙向I/O口。當(dāng)89C51擴(kuò)展外部存儲(chǔ)器及I/O接口芯片時(shí),P0口作為地址總線(低8位)及數(shù)據(jù)總線的分時(shí)復(fù)用端口。P0口也可作為通用的I/O端口使用,但需要加上拉電阻,這時(shí)為準(zhǔn)雙向口。P0口可驅(qū)動(dòng)8個(gè)LS 型TTL 負(fù)載。(2)P1口:8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻
17、。P1口是專(zhuān)為用戶使用的準(zhǔn)雙向I/O口,當(dāng)作為普通的I/O輸入時(shí)應(yīng)先向端口的輸出鎖存器寫(xiě)入1。P1口可驅(qū)動(dòng)4個(gè)LS 型TTL 負(fù)載。(3)P2口:準(zhǔn)雙向I/O口,具有內(nèi)部上來(lái)電阻。當(dāng)80C51外部擴(kuò)展外部存儲(chǔ)器及I/O口時(shí),P2口可輸出8位地址。P2口可驅(qū)動(dòng)4個(gè)LS 型TTL 負(fù)載。(4)P3口:8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電。P3口可作為通用的I/O使用。當(dāng)做為通用的I/O輸入時(shí),應(yīng)先向端口的輸出鎖存器寫(xiě)入1.P3口可驅(qū)動(dòng)4個(gè)TTL 負(fù)載。 P3口還有第二功能見(jiàn)下表: 3定時(shí)溫度控制系統(tǒng)硬件設(shè)計(jì)3.1 BC7281A鍵盤(pán)顯示電路BC7281A與MCU 之間的通訊是采用2線高速串行接口,
18、這兩個(gè)連線分別是數(shù)據(jù)線DAT 和同步時(shí)鐘線CLK ,其中DAT 為雙向數(shù)據(jù)傳輸線,BC7281A 既用該線從MCU 接收數(shù)據(jù),也用該線向MCU 發(fā)送數(shù)據(jù)。BC7281A 的DAT 引腳為漏極開(kāi)路輸出結(jié)構(gòu),使用時(shí)須在該線上加20K 左右的上拉電阻。CLK 引腳為串行時(shí)鐘接口的同步時(shí)鐘,由MCU 控制,下降沿有效。串行接口數(shù)據(jù)寬度為8位?!癒EY 非”為鍵盤(pán)中斷輸出端,當(dāng)鍵盤(pán)有鍵按下時(shí),BC7281A 由此引腳向單片機(jī)發(fā)出中斷信號(hào)請(qǐng)求中斷。BC7281A 的D100D107引腳分別和鍵盤(pán)、LED 顯示相連,一方面作為鍵盤(pán)芯片使用,另一方面作為L(zhǎng)ED 數(shù)碼管的位選輸入端。 3.2 DS12887時(shí)鐘
19、電路DS12887是美國(guó)達(dá)拉斯半導(dǎo)體公司推出的時(shí)鐘芯片,采用CMOS 技術(shù)制成,把時(shí)鐘芯片所需的晶振和外部鋰電池相關(guān)電路集與芯片內(nèi)部。采用DS12887芯片設(shè)計(jì)的時(shí)鐘電路無(wú)需任何外圍電路并具有良好的微機(jī)接口。DS12887芯片具有微功耗、外圍接口簡(jiǎn)單、精度高、工作穩(wěn)定可靠等優(yōu)點(diǎn),在此可用其為溫控系統(tǒng)提供一準(zhǔn)確的時(shí)間基準(zhǔn)。 硬件接口電路:DS12887時(shí)鐘芯片和89C51單微機(jī)的接口電路如下圖所示。DS12887的CS 端和單片機(jī)的P2.7引腳相連,當(dāng)P2.7向其發(fā)送一低電平信號(hào)時(shí),DS12887被選中,工作。模式選擇腳MOT 拉低,選擇NTEL 時(shí)序,選擇DS12887時(shí)鐘芯片的地址總線及AS
20、 端口和89C51單片微機(jī)的P0及ALE 端直接相聯(lián);而DS 、R/W讀寫(xiě)控制線與單片機(jī)的P3.7和P3.6相連;DS12887的高位地址由89C51單片機(jī)的P2.7端口來(lái)片選,則DS12887的高8位地址定為7FH ,而其低8俠地址則由芯片內(nèi)部各單元的地址來(lái)決定(00H3FH ; DS12887的SQW 端口可編程產(chǎn)生方波輸出信號(hào)。DS12887的中斷輸出端IRQ 和89C51的P3.2相聯(lián),給單片機(jī)提供中斷信號(hào)。 DS12887和89C51接口電路3.3 DS18B20測(cè)溫電路DS18B20采用3腳封裝,其中VCC 和GND 是電源和接地引腳,DQ 是數(shù)據(jù)線引腳。和單片機(jī)的P3.0引腳相連
21、。DS18B20以串行通信的方式與微控制器進(jìn)行數(shù)據(jù)通信,讀出或?qū)懭霐?shù)據(jù)僅需要一根I/O接口線。在此系統(tǒng)中DS18B20將被測(cè)對(duì)象的溫度轉(zhuǎn)換為數(shù)字量送給89C51,89C51根據(jù)反饋對(duì)通過(guò)P3.1控制可控硅的方式來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)的控制。DS18B20有兩種供電方式:3.05.5V 的電源供電方式和寄生電源供電方式(直接從數(shù)據(jù)線獲取電源)。 若采用外部電源個(gè)器件供電,外部電源接VCC 引腳通過(guò)VD2向器件供電,如下圖12-4所示。寄生電源由二極管VD1、VD2、寄生電容C 和電源檢測(cè)電路組成,如下圖12-5所示。 寄生電源供電時(shí),VCC 端接地,器件從單線總線上獲取電源,如圖12-5所示。在I/O線呈
22、低電平時(shí),改由電容C 上的電壓繼續(xù)向器件供電。該寄生電源有兩個(gè)優(yōu)點(diǎn):第一,檢測(cè)遠(yuǎn)程溫度時(shí)無(wú)需本地電源;第二,缺少正常電源時(shí)也能讀ROM DS18B20的通信協(xié)議:數(shù)字式溫度傳感器和模擬傳感器最大的區(qū)別,是將溫度信號(hào)直接轉(zhuǎn)換成數(shù)字信號(hào),然后通過(guò)串行通信的方式輸出。因此掌握DS18B20的通信協(xié)議是使用該器件的關(guān)鍵。所有的DS18B20器件要求采用嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號(hào)類(lèi)型:復(fù)位脈沖、應(yīng)答脈沖時(shí)隙;寫(xiě)“0”、寫(xiě)“1”時(shí)隙;讀“0”、讀“1”時(shí)隙。與DS18B20的通信,是通過(guò)操作時(shí)隙完成單總線上的數(shù)據(jù)傳輸。發(fā)送所有的命令和數(shù)據(jù)時(shí),都是字節(jié)低位在前,高位在后。 復(fù)位
23、和應(yīng)答脈沖時(shí)隙每個(gè)通信周期起始于微控制器發(fā)出的復(fù)位脈沖,其后緊跟DS18B20發(fā)出的應(yīng)答脈沖。在寫(xiě)時(shí)隙期間,主機(jī)向DS18B20器件寫(xiě)入數(shù)據(jù),而在讀時(shí)隙期間,主機(jī)讀入來(lái)自DS18B20的數(shù)據(jù)。在每一個(gè)時(shí)隙,總線只能傳輸一位數(shù)據(jù)。3.4 LED顯示電路 LED驅(qū)動(dòng):LED顯示器的每一段發(fā)光二極管點(diǎn)亮?xí)r,通過(guò)的平均電流為10mA 20mA 。這么大的電流無(wú)論是單片機(jī)的端口線,還是擴(kuò)展的普通I/O口線都無(wú)法直接提供,所以通常都要外加驅(qū)動(dòng)器,再與LED 數(shù)碼管相連。所以本系統(tǒng)中采用三極管作為驅(qū)動(dòng)。 3.5 獨(dú)立式鍵盤(pán)的接口設(shè)計(jì)由于本系統(tǒng)中所用的按鍵并非很多,故此選用獨(dú)立式的鍵盤(pán)接口電路。獨(dú)立式鍵盤(pán)具有
24、按鍵相互獨(dú)立,每一個(gè)按鍵由一個(gè)單獨(dú)的I/O口控制,一個(gè)按鍵改變的是一個(gè)相應(yīng)I/O口的輸入點(diǎn)評(píng),而不會(huì)對(duì)其他I/O口電平產(chǎn)生影響的優(yōu)點(diǎn)。 鍵盤(pán)的工作方式:通常鍵盤(pán)的工作方式有三種:編程掃描、定時(shí)掃描、和中斷掃描。中斷方式與前兩種工作方式相比大大提高了CPU 的工作效率,即在有鍵按下時(shí)才執(zhí)行鍵盤(pán)掃描,并執(zhí)行該按鍵對(duì)應(yīng)的功能程序。當(dāng)按鍵斷開(kāi)時(shí),由于100K 下拉電阻的作用,會(huì)使BC7281A 的D100D107各個(gè)引腳的電平拉低,表示無(wú)按鍵閉合;當(dāng)按鍵閉合時(shí),由于按鍵的公共端經(jīng)一個(gè)二極管接到了74L164的高電平,此時(shí)BC7281A 的D100D107各個(gè)引腳的電平會(huì)被拉高,表示鍵盤(pán)有鍵按下,此時(shí)B
25、C7281A 會(huì)由KEY 引腳向89C51單片機(jī)發(fā)送一中斷請(qǐng)求,單片機(jī)會(huì)相應(yīng)中斷轉(zhuǎn)而執(zhí)行鍵盤(pán)程序。鍵盤(pán)的定義會(huì)在后面的調(diào)表、定溫程序中介紹。 接口電路如圖所示: 3.6電源電路本系統(tǒng)中除了固態(tài)繼電器的供電電壓為220V 以外,其余的各個(gè)芯片的供電電源全部為+5V,所以我們需要將220V 的電源經(jīng)變壓器變壓為89V 的電壓,然后經(jīng)過(guò)橋式整流濾波電路濾出+5V左右的電壓,而后再經(jīng)過(guò)MC7805穩(wěn)壓后再次濾波,最后輸出+5V的電壓供單片機(jī)和各個(gè)芯片使用。 濾波整流電路如圖所示: 4定時(shí)溫控系統(tǒng)軟件設(shè)計(jì)4.1系統(tǒng)流程圖 4.2測(cè)試溫度子程序TEMPER: MOV IE, #00HPUSH ACC ;測(cè)
26、試溫度子程序保護(hù)現(xiàn)場(chǎng)PUSH 00HPUSH 01HPUSH 02HACALL RSTM ;復(fù)位DS18B20MOV A, #0CCH ;寫(xiě)ROM 指令A(yù)CALL WTEMMOV A, #44H ;啟動(dòng)溫度轉(zhuǎn)換ACALL WTEMACALL RSTMMOV A,#0CCHACALL WTEMMOV A, #0BEH ;讀實(shí)際溫度值A(chǔ)CALL WTEMMOV R0, #50H ;讀出的數(shù)值存放在50H 開(kāi)始的單元中,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ù)位讀寫(xiě)子程序RSTM: CLR P3.0MOV R4, #30H ;DS18B20復(fù)位,要求信號(hào)線保持低電平的時(shí)間MOV R5, #00HDJNZ R5, $DJNZ R4, $SETB P3.0MOV R5, #1EHDJNZ R5, $JB P3.0,$JNB P3.0,$RET;寫(xiě)數(shù)據(jù)到DS18B20WTEM: SETB P3.0MOV R6,#08H ;寫(xiě)8次,每次寫(xiě)一位WTE: RRC A ;右移到進(jìn)位位去JC WTE1 ;是低,執(zhí)行一種時(shí)
28、序CLR P3.0;C=0,低時(shí),執(zhí)行的時(shí)序 MOV R5, #1EHDJNZ R5, $AJMP WDR1WTE1: CLR P3.0;高時(shí),執(zhí)行的時(shí)序 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個(gè)字節(jié)的暫存存儲(chǔ)器 RTM2: MOV R6, #08H;每個(gè)字節(jié)讀8次,一個(gè)字節(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顯示子程序十個(gè)LED 數(shù)碼管當(dāng)中,其中05位數(shù)碼管用于時(shí)間顯示,67位用于顯示設(shè)置溫度值,89位用于顯示實(shí)際溫度值。程序
30、設(shè)計(jì)方面原理相同,在此只對(duì)一部分做簡(jiǎn)要介紹,不再贅述。其中30 H,31 H,32 H分別為秒、分、時(shí)對(duì)應(yīng)的顯存,SETUP 為鍵盤(pán)設(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 ;取鍵盤(pán)設(shè)置溫度值的低4位SWAP AADD A,#06H ;在第6位顯
31、示SWAP AMOV DATA-OUT, ALCALL SEND4.5 DS12887讀寫(xiě)子程序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)整時(shí)間子程序調(diào)整時(shí)間子程序可以通過(guò)鍵盤(pán)對(duì)所顯示的時(shí)間進(jìn)行調(diào)整。鍵盤(pán)產(chǎn)生中斷時(shí)對(duì)鍵盤(pán)進(jìn)行掃描,若有鍵按下,則立即對(duì)鍵值存儲(chǔ)單元R7初始化,以免引起誤操作。然后去抖動(dòng),再次掃描鍵盤(pán)確定是否有鍵按下,無(wú)鍵按下則中斷返回,如有鍵按下則對(duì)鍵盤(pán)掃描逐行判斷閉合鍵鍵號(hào),把鍵值送入累加器,延時(shí)等待按鍵釋放,若按鍵釋放則取出鍵值并執(zhí)行,
33、然后中斷返回。其中三號(hào)鍵為取消鍵,五號(hào)鍵為調(diào)秒鍵,四號(hào)鍵為調(diào)分鍵,六號(hào)鍵為調(diào)時(shí)鍵及確認(rèn)鍵,七號(hào)鍵為減一鍵。因?yàn)檎{(diào)時(shí)、調(diào)分、調(diào)秒的子程序原理異曲同工,在此僅對(duì)一部分程序做介紹。相同之處不再贅述。MELODY-T : NOP ;進(jìn)入調(diào)表程序,小時(shí)保持原來(lái)的數(shù)值閃爍 LCALL READ ; 調(diào)用讀時(shí)間子程序LCALL DISPLAY ;顯示時(shí)間NOPHOUR : MOV R7,#0FFH ;鍵碼初始化MOV 32H,#0FFH ;顯示時(shí)的LED 熄滅LCALL DISPLAYLCALL DELAY1 ;滅的時(shí)間H0: MOV 32H,42 ;顯示時(shí)的LED 亮LCALL DISPLAY ;顯示原數(shù)
34、據(jù)的時(shí)間LCALL DELAY1CJNE R7,#03H,H1 MOV R7,#0FFH ;鍵盤(pán)中斷引起R7內(nèi)容變化,若有鍵按下,立即初始化鍵值存儲(chǔ)單元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;是否將小時(shí)加1MOV A, #32HADD A, #01HDA A;進(jìn)制轉(zhuǎn)換MOV 32H,ACJNE A, #
35、24H, HADD1 ;是否加到24,若大于或等于24,重新從0開(kāi)始加HREDUCE2: MOV 32H ,#24H ;若減到0,重新從24開(kāi)始減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è)定定鬧開(kāi)始/結(jié)束子程序SET-T: NOPMOV 6CH, #01H ;恢復(fù)定鬧功能LCALL MELODY-TCLR P2.7
36、 ;選中DS12887時(shí)間芯片MOV R0, #01H ;將定完的數(shù)據(jù)寫(xiě)入鬧鈴單元MOV A, 40HMOVX R0, AMOV R0, #10 ;將定完的數(shù)據(jù)寫(xiě)入外部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時(shí)鐘芯片NEXT9: CJNE R7, #01H, NEXT9 ;確定已定完開(kāi)始時(shí)間MOV R7, #0FFHLCALL MELODY-T ;定結(jié)束時(shí)間CLR P2.7MOV R0, #1
37、3H ;將結(jié)束時(shí)間寫(xiě)入外部RAM 區(qū)保存MOV A, 40HMOVX R0, AMOV R0, #14HMOV A, 41HMOVX R0, AMOV R0, #15HMOV A, 42HMOVX R0,ARET4.8 設(shè)置溫度子程序設(shè)置溫度子程序和調(diào)表子程序相似,都是通過(guò)鍵盤(pán)對(duì)顯示數(shù)值進(jìn)行改變,其中R7為鍵值存放單元,44H 為設(shè)置溫度存儲(chǔ)單元,SETUP 為鍵盤(pán)設(shè)置存放單元。二號(hào)鍵為退出鍵,六號(hào)為加1鍵,七號(hào)為減1鍵。SET-ALARM: NOPMOV R7, #0FFH ;顯示設(shè)置溫度的LED 開(kāi)始閃爍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讀寫(xiě)數(shù)據(jù)子程序SEND: MOV IE, #00H ;向BC7281A 發(fā)送數(shù)據(jù)時(shí)關(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 ;開(kāi)啟中斷SETB TR0RETRECE
41、IVE: MOV IE, #00H;從BC7281A 中讀取數(shù)據(jù)子程序 CLR TR0CLR CLK;發(fā)出一CLK 脈沖 SETB CLKWAT3: JB DAT,WAT3;等待DAT 低電平響應(yīng)信號(hào) CLR CLK;再發(fā)送一CLK 脈沖,準(zhǔn)備接受數(shù)據(jù) SETB CLKMOV BIT-COUNT, #8RECV-LOOP: NOPNOPNOPMOV A, DATA-IN4.10 延時(shí)子程序DELAY50: ORL TMOD, #01H;延時(shí)子程序1 MOV TH1, #04CHMOV TL1, #00HSETB TR1JNB TF1, $CLR TF1CLR TR1RETDELAY1: MOV
42、 1AH, #0AFH;延時(shí)子程序2 YS05: MOV 1BH, #0FFHYS03: DJNZ 1BH, YS01SJMPYS04 YS01: CJNE R7, #0FFH,YSW;延時(shí)程序中響應(yīng)按鍵 SJMP YS03YS04: NOPDJNZ1AH, YS05 YSW: RET4.11 定鬧中斷子程序NEXTC: RETI4.12 鍵盤(pán)中斷子程序KEYBOARD: NOPMOV DATA-OUT, #93H ;讀鍵值鎖存器指令(地址13H )LCALL SENDLCALL RECEIVE ;讀出數(shù)據(jù)MOV R7, DATA-INNOPRETI5性能測(cè)試與總結(jié)在調(diào)試過(guò)程中,先進(jìn)行軟件調(diào)試
43、;在偉福環(huán)境下運(yùn)行程序,跟蹤、單步、或全速執(zhí)行。進(jìn)行各程序模塊調(diào)試,最后整個(gè)程序整體調(diào)試。在偉福環(huán)境調(diào)試完后,將程序?qū)懭雴纹珯C(jī),檢查硬件,無(wú)虛焊、橋接等現(xiàn)象。硬件良好,插入單片機(jī),供電運(yùn)行,數(shù)碼管顯示出現(xiàn)亂碼,經(jīng)過(guò)分析,硬件電路出了點(diǎn)問(wèn)題,連接數(shù)碼管時(shí)挫開(kāi)了一位,經(jīng)過(guò)修改程序的字段碼表,故障排除,經(jīng)過(guò)多次調(diào)試,驗(yàn)證、修整,最終調(diào)試成功。通過(guò)本專(zhuān)題的設(shè)計(jì),在王冠華教授的精心指導(dǎo)下,以及我的努力工作下,我成功的完成了定時(shí)溫度控制系統(tǒng)的設(shè)計(jì),我有幾點(diǎn)體會(huì):一 開(kāi)拓了自己的知識(shí)面,使我對(duì)51系列單片機(jī),以及溫度控制程序的設(shè)計(jì)有了更全面,更清晰的認(rèn)識(shí)。二 培養(yǎng)了自己的動(dòng)手能力。通過(guò)本次專(zhuān)題設(shè)計(jì),我把四年
44、的知識(shí)又重新溫習(xí)了一遍,理論聯(lián)系實(shí)際,把知識(shí)應(yīng)用到實(shí)際當(dāng)中去。通過(guò)自己查閱大量資料,自己動(dòng)手設(shè)計(jì)、編程、連接電路,開(kāi)拓了思維,培養(yǎng)了自己的動(dòng)手能力。三 在設(shè)計(jì)過(guò)程中,我們也遇到了不少的困難,但在教授的耐心指導(dǎo)下,困難被一一克服,讓我樹(shù)立了“遇到困難,戰(zhàn)勝困難”的信心,對(duì)此我對(duì)所有曾經(jīng)指導(dǎo)幫助過(guò)我教員表示中心的感謝。謝辭該結(jié)業(yè)設(shè)計(jì),培訓(xùn)站的諸位給予了很大的支持,尤其在設(shè)計(jì)過(guò)程中的孜孜教導(dǎo)和對(duì)我的疑難問(wèn)題不厭其煩的解答和幫助,提高了我應(yīng)用單片機(jī)匯編語(yǔ)言編程的技術(shù)水平以及分析問(wèn)題和解決問(wèn)題的能力。在此向曾經(jīng)給予幫助和鼓勵(lì)的所有老師及同學(xué)表示中心的感謝。老師的指導(dǎo)使我的設(shè)計(jì)能夠順利進(jìn)行和如期完成,通過(guò)
45、本次設(shè)計(jì),我收獲很大,專(zhuān)業(yè)知識(shí)面擴(kuò)大了,同時(shí)我認(rèn)識(shí)到設(shè)計(jì)人員應(yīng)該具有創(chuàng)新的思維方式,能大膽嘗試新的設(shè)計(jì)思路,增強(qiáng)了我的自主學(xué)習(xí)和動(dòng)手能力,為今后走向工作崗位奠定了良好的基礎(chǔ)。未來(lái)只能通過(guò)自己在專(zhuān)業(yè)知識(shí)結(jié)構(gòu)上不斷地完善,把所學(xué)到的知識(shí)更好地運(yùn)用到工作當(dāng)中。因此,我還需要不斷學(xué)習(xí)總結(jié),不斷實(shí)踐,把所學(xué)到的專(zhuān)業(yè)知識(shí)很好地運(yùn)用到工作當(dāng)中,不斷提高自己的學(xué)習(xí)工作能力。最后,再次對(duì)所有給與幫助和指導(dǎo)的所有老師和同學(xué)表示衷心的感謝。參考文獻(xiàn)1 崔華. 單片機(jī)實(shí)用技術(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è)計(jì)M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997. 5 余宏生 吳建設(shè). 電子CAD 技能實(shí)訓(xùn)M.北京:人民郵電出版社,2005. 6吳金戎.8051單片機(jī)實(shí)踐與應(yīng)用M.北京:清華大學(xué)出版社,2002 7何立民. 單片機(jī)應(yīng)用技術(shù)選編M.北京:北京航空航天大學(xué)出版社,19938 張毅剛 彭喜元. 單片機(jī)應(yīng)用原理與應(yīng)用設(shè)計(jì)M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2008.附錄A 主程序定時(shí)溫控系統(tǒng)的主程序 TEMP-BIT BIT 00H ;溫度測(cè)試標(biāo)志位LOWER5 BIT 01H ;溫度小于5時(shí)的標(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 ;溫度測(cè)試后的值存放單元 SETUP EQU 62H ;鍵盤(pán)設(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. 本站所有資源如無(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東司法警官職業(yè)學(xué)院《社會(huì)治理》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東省外語(yǔ)藝術(shù)職業(yè)學(xué)院《環(huán)境地學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東輕工職業(yè)技術(shù)學(xué)院《工商管理基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東茂名健康職業(yè)學(xué)院《清潔能源技術(shù)原理與應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 三年級(jí)數(shù)學(xué)計(jì)算題專(zhuān)項(xiàng)練習(xí)及答案
- 大學(xué)美育(河南財(cái)經(jīng)政法大學(xué))學(xué)習(xí)通測(cè)試及答案
- 2025年人教版八年級(jí)數(shù)學(xué)寒假?gòu)?fù)習(xí) 專(zhuān)題02 全等三角形(4個(gè)知識(shí)點(diǎn)回顧+5大題型歸納+過(guò)關(guān)檢測(cè))
- 【名師一號(hào)】2021年新課標(biāo)版歷史-必修3-雙基限時(shí)練15
- 《糖尿病運(yùn)動(dòng)療法》課件
- 2021高考英語(yǔ)安徽黃山市語(yǔ)法填空及閱讀類(lèi)自選練習(xí)(1)及答案
- GB/T 1041-2008塑料壓縮性能的測(cè)定
- 超實(shí)用的發(fā)聲訓(xùn)練方法
- 《第六課 從傳統(tǒng)到現(xiàn)代課件》高中美術(shù)湘美版美術(shù)鑒賞
- 英語(yǔ)四六級(jí)講座課件
- Unit 3 On the move Understanding ideas(Running into a better life)課件- 高一上學(xué)期英語(yǔ)外研版(2019)必修第二冊(cè)
- 白假絲酵母菌課件
- SCA自動(dòng)涂膠系統(tǒng)培訓(xùn)講義課件
- 折紙藝術(shù)欣賞及步驟課件
- 立法學(xué)講義教案
- 施工現(xiàn)場(chǎng)臨時(shí)建筑驗(yàn)收表
- iPad使用手冊(cè)簡(jiǎn)體中文版1章-10章
評(píng)論
0/150
提交評(píng)論