畢業(yè)設(shè)計(jì)(論文)-分布式溫度傳感器設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  .</b></p><p><b>  前 言</b></p><p>  21世紀(jì),科學(xué)技術(shù)的發(fā)展日新月異,科技的進(jìn)步帶動(dòng)了測(cè)量技術(shù)的發(fā)展,現(xiàn)代控制設(shè)備的性能和結(jié)構(gòu)發(fā)生了翻天覆地的變化。我們已經(jīng)進(jìn)入了高速發(fā)展的信息時(shí)代,測(cè)量技術(shù)也成為當(dāng)今科技的一個(gè)主流,廣泛地深入到研究和應(yīng)用工程的各個(gè)領(lǐng)域。</p>

2、<p>  溫度是一個(gè)和人們生活環(huán)境有著密切關(guān)系的物理量,也是一種在生產(chǎn)、科研、生活中需要測(cè)量和控制的重要物理量,是國(guó)際單位制七個(gè)基本量之一。溫度的變化會(huì)給我們的生活、工作、生產(chǎn)等帶來(lái)重大影響,因此對(duì)溫度的測(cè)量至關(guān)重要。其測(cè)量控制一般使用各式各樣形態(tài)的溫度傳感器。隨著現(xiàn)代計(jì)算機(jī)和自動(dòng)化技術(shù)的發(fā)展,作為各種信息的感知、采集、轉(zhuǎn)換、傳輸相處理的功能器件,溫度傳感器的作用日顯突出,已成為自動(dòng)檢測(cè)、自動(dòng)控制系統(tǒng)和計(jì)量測(cè)試中不可缺少

3、的重要技術(shù)工具,其應(yīng)用已遍及工農(nóng)業(yè)生產(chǎn)和日常生活的各個(gè)領(lǐng)域。</p><p>  分布式溫度傳感器在電力工業(yè)、煤礦、森林、火災(zāi)、高層建筑、航空、航天飛行器等有著重要的應(yīng)用前景,引起研究人員的廣泛關(guān)注。近年來(lái),已經(jīng)有不少分布式溫度傳感器的報(bào)道,包括基于光纖非線性效應(yīng)的拉曼溫度傳感器等,但由于其昂貴的成本而無(wú)法得到廣泛的應(yīng)用。本設(shè)計(jì)使用了美國(guó) Dallas 半導(dǎo)體公司的新一代數(shù)字式溫度傳感器DS18B20,它具有獨(dú)特

4、的單總線接口方式 ,即允許在一條信號(hào)線上掛接數(shù)十甚至上百個(gè)數(shù)字式傳感器 ,從而使測(cè)溫裝置與各傳感器的接口變得十分簡(jiǎn)單 ,克服了模擬式傳感器與微機(jī)接口時(shí)需要的A/D轉(zhuǎn)換器及其它復(fù)雜外圍電路的缺點(diǎn)。</p><p>  本設(shè)計(jì)是心AT89S52為單片機(jī)作為控制核心,提出了一種基于DS18B20的分布式溫度傳感系統(tǒng),多個(gè)溫度傳感節(jié)點(diǎn)通過(guò)單總線通過(guò)單總線與單片機(jī)相聯(lián)形成分布式系統(tǒng)。單片機(jī)通過(guò)實(shí)時(shí)監(jiān)控溫度的變化,通過(guò)128

5、*64圖形液晶顯示各節(jié)點(diǎn)溫度的數(shù)值,當(dāng)溫度值超出允許范圍時(shí),報(bào)警器開(kāi)始報(bào)警,從而遠(yuǎn)程實(shí)現(xiàn)對(duì)整個(gè)溫度系統(tǒng)的管理和控制。這種分布式溫度測(cè)量系統(tǒng)具有成本低廉、傳感精度高、系統(tǒng)穩(wěn)定、易于管理等優(yōu)點(diǎn)。</p><p><b>  1 系統(tǒng)方案設(shè)計(jì)</b></p><p><b>  1.1 方案設(shè)計(jì)</b></p><p>  方案

6、一:該方案以模擬溫度傳感器AD590為測(cè)溫元件,</p><p>  圖1.1 方案一溫度測(cè)量系統(tǒng)方案框圖</p><p>  方案二:該方案以智能溫度傳感器DS18B20為測(cè)溫元件,</p><p>  圖1.2 方案一溫度測(cè)量系統(tǒng)方案框圖</p><p><b>  1.2 方案論證</b></p>&

7、lt;p>  1.3 系統(tǒng)工作原理</p><p><b>  2 系統(tǒng)設(shè)計(jì)與仿真</b></p><p><b>  2.1 電路設(shè)計(jì)</b></p><p>  2.1.1 DS18B20與單片機(jī)的接口技術(shù)</p><p>  1.中央處理器AT89S52簡(jiǎn)介</p><

8、;p>  AT89S52是由美國(guó)Atmel 公司生產(chǎn)的至今為止世界上最新型的高性能八位單片機(jī)。</p><p> ?、?AT89S52的特點(diǎn)</p><p>  AT89S52具有以下幾個(gè)特點(diǎn):</p><p>  ·AT89S52與MCS-51系列的單片機(jī)在指令系統(tǒng)和引腳上完全兼容;</p><p>  ·片內(nèi)有4

9、k字節(jié)在線可重復(fù)編程快擦寫(xiě)程序存儲(chǔ)器;</p><p>  ·全靜態(tài)工作,工作范圍:0Hz~24MHz;</p><p>  ·三級(jí)程序存儲(chǔ)器加密;</p><p>  ·128×8位內(nèi)部RAM;</p><p>  ·32位雙向輸入輸出線;</p><p>  

10、83;兩個(gè)十六位定時(shí)器/計(jì)數(shù)器</p><p>  ·五個(gè)中斷源,兩級(jí)中斷優(yōu)先級(jí);</p><p>  ·一個(gè)全雙工的異步串行口;</p><p>  ·間歇和掉電兩種工作方式。</p><p> ?、?AT89S52的功能描述</p><p>  AT89S52是一種低損耗、高性能、CM

11、OS八位微處理器,片內(nèi)有4k字節(jié)的在線可重復(fù)編程、快速擦除快速寫(xiě)入程序的存儲(chǔ)器,能重復(fù)寫(xiě)入/擦除1000次,數(shù)據(jù)保存時(shí)間為十年。它與MCS-51系列單片機(jī)在指令系統(tǒng)和引腳上完全兼容,不僅可完全代替MCS-51系列單片機(jī),而且能使系統(tǒng)具有許多MCS-51系列產(chǎn)品沒(méi)有的功能。</p><p>  AT89S52可構(gòu)成真正的單片機(jī)最小應(yīng)用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的可靠性,降低系統(tǒng)的成本。只要程序長(zhǎng)度小于4K,四個(gè)I

12、/O口全部提供給用戶(hù)??捎?V電壓編程,而且擦寫(xiě)時(shí)間僅需10毫秒,僅為8751/87C51的擦除時(shí)間的百分之一,與8751/87C51的12V電壓擦寫(xiě)相比,不易損壞器件,沒(méi)有兩種電源的要求,改寫(xiě)時(shí)不拔下芯片,適合許多嵌入式控制領(lǐng)域。工作電壓范圍寬(2.7V~6V),全靜態(tài)工作,工作頻率寬在0Hz~24MHz之間,比8751/87C51等51系列的6MHz~12MHz更具有靈活性,系統(tǒng)能快能慢。AT89C51芯片提供三級(jí)程序存儲(chǔ)器加密,提

13、供了方便靈活而可靠的硬加密手段,能完全保證程序或系統(tǒng)不被仿制。P0口是三態(tài)雙向口,通稱(chēng)數(shù)據(jù)總線口,因?yàn)橹挥性摽谀苤苯佑糜趯?duì)外部存儲(chǔ)器的讀/寫(xiě)操作。</p><p> ?、?AT89S52引腳功能</p><p>  AT89S52單片機(jī)40引腳分布如右圖3.3.4。</p><p>  AT89S52是一種低損耗、高性能、CMOS八位</p><

14、p>  微處理器,片內(nèi)有4k字節(jié)的在線可重復(fù)編程、快速</p><p>  擦除快速寫(xiě)入程序的存儲(chǔ)器,能重復(fù)寫(xiě)入/擦除1000次,數(shù)據(jù)保存時(shí)間為十年。它與MCA-51系列單片</p><p>  機(jī)在指令系統(tǒng)和引腳上完全兼容,不僅可完全代</p><p>  替MCS-51系列單片機(jī),而且能使系統(tǒng)具有許多MCS-51系列產(chǎn)品沒(méi)有的功能。</p>

15、<p>  AT89S52可構(gòu)成真正的單片機(jī)最小應(yīng)用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的可靠性,降低系統(tǒng)的成本。只要程序長(zhǎng)度小于4K,四個(gè)I/O口全部提供給用戶(hù)??捎?V電壓編程,而且擦寫(xiě)時(shí)間僅需10毫秒,僅為8751/87C51的擦除時(shí)間的百分之一,與8751/87C51的12V電壓擦寫(xiě)相比,不易損壞器件,沒(méi)有兩種電源的要求,改寫(xiě)時(shí)不拔下芯片,適合許多嵌入式控制領(lǐng)域。工作電壓范圍寬(2.7V~6V),全靜態(tài)工作,工作頻率寬在0Hz

16、~24MHz之間,比8751/87C51等51系列的6MHz~12MHz更具有靈活性,系統(tǒng)能快能慢。AT89C51芯片提供三級(jí)程序存儲(chǔ)器加密,提供了方便靈活而可靠的硬加密手段,能完全保證程序或系統(tǒng)不被仿制。P0口是三態(tài)雙向口,通稱(chēng)數(shù)據(jù)總線口,因?yàn)橹挥性摽谀苤苯佑糜趯?duì)外部存儲(chǔ)器的讀/寫(xiě)操作。</p><p> ?。?)DS18B20數(shù)字溫度傳感器概述</p><p>  DS18B20數(shù)字溫

17、度計(jì)是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以?huà)旌芏噙@樣的數(shù)字溫度計(jì),十分方便。</p><p>  DS18B20產(chǎn)品的特點(diǎn)</p><p>  只要求一個(gè)端口即可實(shí)現(xiàn)通信。</p><p>  在DS18B20中的每個(gè)器件上都有獨(dú)一無(wú)二的序列號(hào)。</p>

18、<p>  實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。</p><p>  測(cè)量溫度范圍在-55。C到+125。C之間。</p><p>  數(shù)字溫度計(jì)的分辨率用戶(hù)可以從9位到12位選擇。</p><p>  內(nèi)部有溫度上、下限告警設(shè)置。</p><p>  TO-92封裝的DS18B20的引腳排列見(jiàn)圖4-2,其引腳功能描述見(jiàn)

19、表4-1。</p><p>  圖4-2 DS18B20引腳結(jié)構(gòu)圖(底視圖)</p><p>  表4-1 DS18B20詳細(xì)引腳功能描述</p><p> ?。?)DS18B20的內(nèi)部結(jié)構(gòu)</p><p>  DS18B20的內(nèi)部框圖如圖4-3所示。64位ROM存儲(chǔ)器件獨(dú)一無(wú)二的序列號(hào)。暫存器包含兩字節(jié)(0和1字節(jié))的溫度寄存器,用于存儲(chǔ)溫

20、度傳感器的數(shù)字輸出。暫存器還提供一字節(jié)的上線警報(bào)觸發(fā)(TH)和下線警報(bào)觸發(fā)(TL)寄存器(2和3字節(jié)),和一字節(jié)的配置寄存器(4字節(jié)),使用者可以通過(guò)配置寄存器來(lái)設(shè)置溫度轉(zhuǎn)換的精度。暫存器的5、6和7字節(jié)器件內(nèi)部保留使用。第八字節(jié)含有循環(huán)冗余碼(CRC )。使用寄生電源時(shí),DS18B20不需額外的供電電源;當(dāng)總線為高電平時(shí),功率由單總線上的上拉電阻通過(guò)DQ引腳提供;高電平總線信號(hào)同時(shí)也向內(nèi)部電容CPP充電,CPP在總線低電平時(shí)為器件供電

21、。</p><p>  圖4-3 DS18B20的內(nèi)部框圖</p><p>  DS18B20加電后,處在空閑狀態(tài)。要啟動(dòng)溫度測(cè)量和模擬到數(shù)字的轉(zhuǎn)換,處理器須向其發(fā)出Convert T [44h] 命令;轉(zhuǎn)換完后,DS18B20回到空閑狀態(tài)。溫度數(shù)據(jù)是以帶符號(hào)位的16-bit補(bǔ)碼存儲(chǔ)在溫度寄存器中的,如圖4-4所示:</p><p>  圖4-4 溫度寄存器格式&l

22、t;/p><p>  符號(hào)位說(shuō)明溫度是正值還是負(fù)值,正值時(shí)S=0,負(fù)值時(shí)S=1。表4-2給出了一些數(shù)字輸出數(shù)據(jù)與對(duì)應(yīng)的溫度值的例子。</p><p>  表4-2 溫度/數(shù)據(jù)的關(guān)系</p><p> ?。?)DS18B20的命令序列</p><p><b>  初始化</b></p><p>  RO

23、M命令跟隨著需要交換的數(shù)據(jù);</p><p>  功能命令跟隨著需要交換的數(shù)據(jù)。</p><p>  訪問(wèn)DS18B20必須嚴(yán)格遵守這一命令序列,如果丟失任何一步或序列混亂,DS18B20都不會(huì)響應(yīng)主機(jī)(除了Search ROM 和Alarm Search這兩個(gè)命令,在這兩個(gè)命令后,主機(jī)都必須返回到第一步)。</p><p><b>  初始化:</

24、b></p><p>  DS18B20所有的數(shù)據(jù)交換都由一個(gè)初始化序列開(kāi)始。由主機(jī)發(fā)出的復(fù)位脈沖和跟在其后的由DS18B20發(fā)出的應(yīng)答脈沖構(gòu)成。當(dāng)DS18B20發(fā)出響應(yīng)主機(jī)的應(yīng)答脈沖時(shí),即向主機(jī)表明它已處在總線上并且準(zhǔn)備工作。</p><p><b> ?、?ROM命令:</b></p><p>  ROM命令通過(guò)每個(gè)器件64-bit的

25、ROM碼,使主機(jī)指定某一特定器件(如果有多個(gè)器件掛在總線上)與之進(jìn)行通信。DS18B20的ROM如表4-3所示,每個(gè)ROM命令都是8 bit長(zhǎng)。</p><p>  表4-3 DS18B20 ROM命令</p><p><b> ?、?功能命令:</b></p><p>  主機(jī)通過(guò)功能命令對(duì)DS18B20進(jìn)行讀/寫(xiě)Scratchpad存儲(chǔ)器,

26、或者啟動(dòng)溫度轉(zhuǎn)換。DS18B20的功能命令如表4-4所示。</p><p>  表4-4 DS18B20功能命令</p><p> ?。?)DS18B20的信號(hào)方式</p><p>  DS18B20采用嚴(yán)格的單總線通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號(hào)類(lèi)型:復(fù)位脈沖、應(yīng)答脈沖、寫(xiě)0、寫(xiě)1、讀0和讀1。除了應(yīng)答脈沖所有這些信號(hào)都由主機(jī)發(fā)出同步信號(hào)??偩€上

27、傳輸?shù)乃袛?shù)據(jù)和命令都是以字節(jié)的低位在前。</p><p>  初始化序列:復(fù)位脈沖和應(yīng)答脈沖</p><p>  在初始化過(guò)程中,主機(jī)通過(guò)拉低單總線至少480µs,以產(chǎn)生復(fù)位脈沖(TX)。然后主機(jī)釋放總線并進(jìn)入接收(RX)模式。當(dāng)總線被釋放后,5kΩ的上拉電阻將單總線拉高。DS18B20檢測(cè)到這個(gè)上升沿后,延時(shí)15µs~60µs,通過(guò)拉低總線60µ

28、s~240µs產(chǎn)生應(yīng)答脈沖。初始化波形如圖4-5所示。</p><p>  圖4-5 初始化脈沖</p><p><b> ?、?讀和寫(xiě)時(shí)序</b></p><p>  在寫(xiě)時(shí)序期間,主機(jī)向DS18B20寫(xiě)入數(shù)據(jù);而在讀時(shí)序期間,主機(jī)讀入來(lái)自DS18B20的數(shù)據(jù)。在每一個(gè)時(shí)序,總線只能傳輸一位數(shù)據(jù)。讀/寫(xiě)時(shí)序如圖3-6所示。</

29、p><p><b>  寫(xiě)時(shí)序</b></p><p>  存在兩種寫(xiě)時(shí)序:“寫(xiě)1”和“寫(xiě)0”。主機(jī)在寫(xiě)1時(shí)序向DS18B20寫(xiě)入邏輯1,而在寫(xiě)0時(shí)序向DS18B20寫(xiě)入邏輯0。所有寫(xiě)時(shí)序至少需要60µs,且在兩次寫(xiě)時(shí)序之間至少需要1µs的恢復(fù)時(shí)間。兩種寫(xiě)時(shí)序均以主機(jī)拉低總線開(kāi)始。</p><p>  產(chǎn)生寫(xiě)1時(shí)序:主機(jī)拉低總線

30、后,必須在15µs內(nèi)釋放總線,然后由上拉電阻將總線拉至高電平。產(chǎn)生寫(xiě)0時(shí)序:主機(jī)拉低總線后,必須在整個(gè)時(shí)序期間保持低電平(至少60µs)。</p><p>  在寫(xiě)時(shí)序開(kāi)始后的15µs~60µs期間,DS18B20采樣總線的狀態(tài)。如果總線為高電平,則邏輯1被寫(xiě)入DS18B20;如果總線為低電平,則邏輯0被寫(xiě)入DS18B20。</p><p><

31、b>  讀時(shí)序</b></p><p>  DS18B20只能在主機(jī)發(fā)出讀時(shí)序時(shí)才能向主機(jī)傳送數(shù)據(jù)。所以主機(jī)在發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便DS18B20能夠傳送數(shù)據(jù)。所有讀時(shí)序至少60µs,且在兩次獨(dú)立的讀時(shí)序之間至少需要1µs的恢復(fù)時(shí)間。</p><p>  每次讀時(shí)序由主機(jī)發(fā)起,拉低總線至少1µs。在主機(jī)發(fā)起讀時(shí)序之后,DS

32、18B20開(kāi)始在總線上傳送1或0。若DS18B20發(fā)送1,則保持總線為高電平;若發(fā)送0,則拉低總線。當(dāng)傳送0時(shí),DS18B20在該時(shí)序結(jié)束時(shí)釋放總線,再由上拉電阻將總線拉回空閑高電平狀態(tài)。DS18B20發(fā)出的數(shù)據(jù)在讀時(shí)序下降沿起始后的15µs內(nèi)有效,因此主機(jī)必須在讀時(shí)序開(kāi)始后的15µs內(nèi)釋放總線,并且采樣總線狀態(tài)。</p><p>  圖4-6 DS18B20讀/寫(xiě)時(shí)序圖</p>

33、<p>  DS18B20 在使用時(shí),一般都采用單片機(jī)來(lái)實(shí)現(xiàn)數(shù)據(jù)采集。只需將DS18B20 信號(hào)線與單片機(jī)1 位I/O線相連,且單片機(jī)的1 位I/O 線可掛接多個(gè)DS18B20 ,就可實(shí)現(xiàn)單點(diǎn)或多點(diǎn)溫度檢測(cè)。</p><p> ?。?)小數(shù)的顯示方法</p><p>  DS18B20轉(zhuǎn)換后的數(shù)據(jù)有四位二進(jìn)制小數(shù),精度為0.0625,可連續(xù)表示一位十進(jìn)制小數(shù),因此在數(shù)碼顯示時(shí),

34、只顯示1位小數(shù)。在對(duì)四位二進(jìn)制小數(shù)進(jìn)行處理時(shí),可先計(jì)算出這四位二進(jìn)制小數(shù)對(duì)應(yīng)的四位十進(jìn)制小數(shù),然后對(duì)這四位十進(jìn)制小數(shù)舍棄后三位,只保留一位。在編寫(xiě)程序時(shí),可編制一個(gè)反映二進(jìn)制小數(shù)與顯示碼對(duì)應(yīng)關(guān)系的表格,根據(jù)四位二進(jìn)制小數(shù)的十六種不同情況查找對(duì)應(yīng)的一位十進(jìn)制小數(shù)的段碼,具體映射關(guān)系如表4-5所示:</p><p>  表4-5 二進(jìn)制小數(shù)與顯示碼的對(duì)應(yīng)關(guān)系</p><p>  2.1.2 鍵

35、盤(pán)模塊電路設(shè)計(jì)</p><p>  2.1.3 液晶顯示與單片機(jī)的接口電路設(shè)計(jì)</p><p><b>  一、引腳分布及功能</b></p><p>  1、12864液晶顯示屏共有20個(gè)引腳,其引腳名稱(chēng)及引腳編號(hào)的對(duì)應(yīng)關(guān)系如下圖(圖1)所示:</p><p>  圖1 12864液晶顯示模塊引腳分布圖</p

36、><p>  2、引腳功能如表1所示:</p><p>  表1 12864液晶顯示模塊引腳功能</p><p>  二、顯示原理及控制方法</p><p><b>  1、顯示原理</b></p><p>  12864液晶屏橫向一共有128個(gè)點(diǎn),縱向有64個(gè)點(diǎn),全屏分為左半屏和右半屏,DDRAM表

37、與128×64點(diǎn)的一一對(duì)應(yīng)關(guān)系如表2所示:</p><p>  表2 12864液晶模塊內(nèi)部結(jié)構(gòu)</p><p>  左 半 屏 右 半 屏</p><p>  在液晶屏上顯示16*16點(diǎn)陣漢字首先將漢字轉(zhuǎn)換成相應(yīng)的代碼,在送入的液晶屏的相應(yīng)的位置,下面以“學(xué)”字的顯示為例進(jìn)行說(shuō)明,“

38、學(xué)”字在液晶屏的上的點(diǎn)陣排布如圖2所示,在顯示時(shí)先輸入漢字的第1頁(yè)的16位數(shù)據(jù),在輸入第2頁(yè)的16位數(shù)據(jù),即第1頁(yè)與第1列的公共部分即為要輸入的第1個(gè)數(shù)據(jù),第1頁(yè)與第2列的公共部分即為第2個(gè)要輸入的數(shù)據(jù),按照這種取碼方式可得出該字代碼如下:(注:上面所說(shuō)的第幾頁(yè),第幾列是相對(duì)漢字所說(shuō)的)</p><p>  DB 40h, 30h, 11h, 96h, 90h, 90h, 91h, 96h<

39、;/p><p>  DB 90h, 90h, 98h, 14h, 13h, 50h, 30h, 00h</p><p>  DB 04h, 04h, 04h, 04h, 04h, 44h, 84h, 7Eh</p><p>  DB 06h, 05h, 04h, 04h, 04h, 06h, 04h, 00h

40、 </p><p><b>  圖2</b></p><p>  圖形顯示的工作原理與漢字顯示相似,如果在某位置顯示指定大小的圖形時(shí),首先利用圖形取模軟件,將圖形的代碼提取出來(lái),再根據(jù)顯示漢字的原理將每頁(yè)碼的數(shù)據(jù)寫(xiě)入相應(yīng)的寄存器中即可。</p><p><b>  2、控制方法</b&

41、gt;</p><p><b> ?。?)讀取狀態(tài)字</b></p><p>  BUSY=1:忙不能操作; BUSY=0:不忙可操作。</p><p><b>  讀狀態(tài)子程序:</b></p><p>  BUSY: CLR E</p><p>  CLR RS

42、 ;RS清0</p><p>  SETB RW ;RW置1</p><p><b>  PRR01:</b></p><p>  MOV DATA,#0FFH ;將數(shù)據(jù)口置1,準(zhǔn)備讀數(shù)據(jù)總線</p><p>  SETB E ;E置1,液晶模塊將當(dāng)前

43、狀態(tài)送到數(shù)據(jù)總線</p><p>  MOV A,DATA ;讀數(shù)據(jù)總線</p><p>  CLR E ;將E置1,為下次讀做準(zhǔn)備</p><p>  JB ACC.7,PRR01 ;為1,表示液晶屏處于忙狀態(tài),需等到ACC.7為0,返回主程序。</p><p><b>  RET

44、</b></p><p><b> ?。?)寫(xiě)指令</b></p><p><b>  寫(xiě)指令子程序:</b></p><p><b>  PRM:</b></p><p>  LCALL BUSY ;調(diào)用判忙子程序</p><

45、;p>  CLR RS ;RS為0設(shè)置為寫(xiě)指令操作</p><p>  CLR RW ;RW清0</p><p><b>  SETB E</b></p><p>  MOV DATAES,COM ;COM中為所送指令</p><p>  CLR

46、E ;E下降沿液晶模塊從數(shù)據(jù)總線上讀入指令</p><p><b>  RET</b></p><p><b> ?。?)寫(xiě)數(shù)據(jù) </b></p><p>  操作完成后列地址計(jì)數(shù)器自動(dòng)加一。 </p><p><b>  寫(xiě)顯示數(shù)據(jù)子程序:<

47、/b></p><p><b>  PRD:</b></p><p>  LCALL BUSY ;調(diào)用判忙子程序</p><p>  SETB RS ;RS置1設(shè)置為寫(xiě)數(shù)據(jù)操作</p><p>  CLR RW ;RW清0</p>&

48、lt;p><b>  SETB E</b></p><p>  MOV DATAES,DAT ;DAT中存放所送數(shù)據(jù)</p><p>  CLR E ;E下降沿液晶模塊從數(shù)據(jù)總線上讀入指令</p><p><b>  RET</b></p><p> ?。?/p>

49、4)顯示開(kāi)關(guān)設(shè)置 </p><p>  D=1:開(kāi)顯示;D=0關(guān)顯示。</p><p><b>  顯示開(kāi)關(guān)子程序:</b></p><p>  DISPLAYYN: </p><p>  MOV COM,#3FH ;將顯示開(kāi)數(shù)據(jù)送到數(shù)據(jù)總線;3F表示顯示開(kāi),3E表示顯示關(guān)</p><p>

50、<b>  CLR RS</b></p><p><b>  CLR RW</b></p><p>  LCALL PRM ;調(diào)用寫(xiě)入指令子程序</p><p><b>  RET</b></p><p> ?。?)顯示起始行設(shè)置</p><p&g

51、t;  規(guī)定了顯示屏上最頂一行所對(duì)應(yīng)的顯示存儲(chǔ)器的行地址。</p><p><b>  顯示起始行子程序:</b></p><p>  HENGFIRST: </p><p>  MOV A,COM ;COM中存放顯示的起始行數(shù)</p><p>  ORL A,#0C0H</p><p>

52、  MOV COM,A ;實(shí)際送入的指令代碼</p><p><b>  CLR RS</b></p><p><b>  CLR RW</b></p><p><b>  LCALL PRM</b></p><p><b>  RET</b>&l

53、t;/p><p> ?。?)頁(yè)面地址設(shè)置 </p><p>  頁(yè)面地址是DDRAM的行地址。8行為一頁(yè),DDRAM共64行即8頁(yè),DB2-DB0表示0-7頁(yè)。</p><p><b>  顯示起始頁(yè)子程序:</b></p><p>  PAGEFIRST:</p><p>  MOV A,COM

54、 ;COM中為實(shí)際的頁(yè)碼</p><p>  ORL A,#0B8h ;將實(shí)際的頁(yè)數(shù)和B8的或所得的結(jié)果即是要送的指令代碼</p><p><b>  MOV COM,A</b></p><p><b>  CLR RS</b></p><p><b

55、>  CLR RW</b></p><p>  LCALL PRM ;調(diào)用寫(xiě)入指令子程序</p><p><b>  RET</b></p><p><b> ?。?)列地址設(shè)置 </b></p><p>  列地址計(jì)數(shù)器在每一次讀/寫(xiě)數(shù)據(jù)后它將自動(dòng)加一。

56、</p><p>  顯示起始列設(shè)置子程序:</p><p><b>  LIEFIRST:</b></p><p>  MOV A,COM ;COM中為實(shí)際的列碼</p><p>  ORL A,#0B8h ;將實(shí)際的頁(yè)數(shù)和40的或所得的結(jié)果即是要送的指令代碼</p

57、><p>  MOV COM,A </p><p><b>  CLR RS</b></p><p><b>  CLR RW </b></p><p>  LCALL PRM ;調(diào)用寫(xiě)入指令子程序</p><p><b>  RE

58、T</b></p><p><b> ?。?)讀數(shù)據(jù) </b></p><p>  該操作將12864模塊中的DDRAM存儲(chǔ)器對(duì)應(yīng)單位中的內(nèi)容讀出,然后列地址計(jì)數(shù)器自動(dòng)加一。</p><p><b>  讀顯示數(shù)據(jù)子程序:</b></p><p><b>  RRD:</

59、b></p><p>  LCALL BUSY ;調(diào)用判忙子程序</p><p><b>  SETB RS</b></p><p><b>  SETB RW</b></p><p>  MOV DAT,#0FFH ;置讀數(shù)據(jù)模式</p>&l

60、t;p><b>  SETB E</b></p><p>  CLR E ;E下降沿液晶模塊從數(shù)據(jù)總線上讀入指</p><p>  MOV A,DAT ;將顯示數(shù)據(jù)讀入到累加器A</p><p><b>  RET</b></p><p>&

61、lt;b>  設(shè)計(jì)實(shí)例</b></p><p>  設(shè)計(jì)任務(wù):①在12864液晶屏上顯示“仿真設(shè)計(jì)”四個(gè)16*16的漢字;</p><p> ?、谠?2864液晶屏上顯示奧運(yùn)圖標(biāo)。</p><p><b>  接口電路</b></p><p>  單片機(jī)與12864液晶顯示模塊的接口電路如圖3所示。&l

62、t;/p><p>  圖3 12864液晶顯示電路圖</p><p>  讀狀態(tài)字(Staus Read)</p><p>  狀態(tài)字是計(jì)算機(jī)了解12864-1當(dāng)前狀態(tài)的唯一的信息渠道。狀態(tài)字為一個(gè)字節(jié),其中僅3位有效位,它們是:</p><p>  BUSY 表示當(dāng)前12864-1接口控制電路運(yùn)行狀態(tài)。BUSY=1表示12864正在處

63、理計(jì)算機(jī)發(fā)來(lái)的指令或數(shù)據(jù)。此時(shí)接口電路被封鎖,不能接受除狀態(tài)字以外的任何操作。</p><p>  BUSY=0表示12864接口控制電路,已處于“準(zhǔn)備好”狀態(tài),等待計(jì)算機(jī)的訪問(wèn)。</p><p>  ON/OFF 表示當(dāng)前的顯示狀態(tài)。ON/OFF=1表示關(guān)閉顯示狀態(tài),ON/OFF表示開(kāi)顯示狀態(tài)。</p><p>  RESET 表示當(dāng)前12864-1的工作狀態(tài),即

64、反映RST端的電平狀態(tài)。當(dāng)RST為低電平狀態(tài)時(shí),12864-1處于復(fù)位工作狀態(tài),RESET=1。當(dāng)前RST為高電平狀態(tài)時(shí), 12864-1為正常工作狀態(tài),RESET=0。</p><p>  在指令設(shè)置和數(shù)據(jù)讀寫(xiě)時(shí)要注意狀態(tài)字中的BUSY標(biāo)志。只有在BUSY=0時(shí),計(jì)算機(jī)對(duì)12864的操作才能有效。因此計(jì)算機(jī)在每次對(duì)12864操作之前,都要讀出狀態(tài)字判斷BUSY是否為“0”,則計(jì)算機(jī)需要等待,直至BUSY=0為

65、止。</p><p>  顯示開(kāi)關(guān)設(shè)置(Display on/off)</p><p>  該指令設(shè)置顯示開(kāi)/關(guān)觸發(fā)器的狀態(tài),由此控制顯示數(shù)據(jù)的存儲(chǔ)器的工作方式,從而控制顯示屏上的顯示狀態(tài)。當(dāng)D=1為開(kāi)顯示設(shè)置,顯示數(shù)據(jù)鎖存器正常工作,顯示屏上呈現(xiàn)所需的顯示效果。此時(shí)在狀態(tài)字中ON/OFF=0。當(dāng)D=0為關(guān)顯示設(shè)置,顯示數(shù)據(jù)鎖存器被置零,顯示屏呈不顯示狀態(tài),但顯示存儲(chǔ)器并沒(méi)有被破壞,在狀態(tài)

66、字中ON/OFF=1。</p><p>  顯示起始行設(shè)置(Display Start Line)</p><p>  該指令設(shè)置了顯示起始行寄存器的內(nèi)容。KS0108有64行顯示的管理能力,該指令中L5~L0為顯示起始行的地址,取值在0~3FH(1~64行)范圍內(nèi),它規(guī)定了顯示屏上最頂一行所對(duì)應(yīng)的顯示存儲(chǔ)器的地址。如果定時(shí)間隔地,等間距地修改(如加一或減一)顯示起始行寄器的內(nèi)容,則顯示屏

67、將呈現(xiàn)內(nèi)容向上或向下平滑滾動(dòng)的顯示效果。</p><p>  頁(yè)面地址設(shè)置[Set Page ( X address)]</p><p>  該指令設(shè)置了頁(yè)面地址—x地址寄存器的內(nèi)容。12864將顯示存儲(chǔ)器分成8頁(yè),指令代碼中B2~B0就是要確定當(dāng)前所要選擇的頁(yè)面地址,取值范圍為0~7H,代表第1~8頁(yè)。該指令規(guī)定了以后的讀/寫(xiě)操作將在哪一個(gè)頁(yè)面上進(jìn)行。</p><p

68、>  列地址設(shè)置(Set Y address)</p><p>  該指令設(shè)置了Y地址計(jì)數(shù)器的內(nèi)容,DB5~DB0=0~3FH(1~64)代表某一個(gè)單元地址,隨后的一次讀或?qū)憯?shù)據(jù)將在這個(gè)單元上進(jìn)行。Y地址計(jì)數(shù)器具有自動(dòng)加一功能,在每一次讀/寫(xiě)數(shù)據(jù)后它將自動(dòng)加一,所以在連續(xù)進(jìn)行讀/寫(xiě)數(shù)據(jù)時(shí),Y地址計(jì)數(shù)器不必每次都設(shè)置一次。頁(yè)面地址的設(shè)置和列地址的設(shè)置將顯示存儲(chǔ)單元唯一地確定下來(lái),為后來(lái)的顯示數(shù)據(jù)的讀/寫(xiě)作了地

69、址的選通。</p><p>  寫(xiě)顯示數(shù)據(jù)(Write Display Data)</p><p>  該操作將8位數(shù)據(jù)寫(xiě)入先前已確定的顯示存儲(chǔ)器的單元內(nèi),操作完成后列地址計(jì)數(shù)器自動(dòng)加一。</p><p>  讀顯示數(shù)據(jù)(Read Display Date)</p><p>  該操作將12864.-1接口部的輸出寄存器的內(nèi)容讀出,然后列地址

70、計(jì)數(shù)器自動(dòng)加一。</p><p><b>  DDRAM地址表</b></p><p>  12864-1液晶顯示模塊是128×64點(diǎn)陣型液晶顯示模塊,可顯示漢字及圖形,可與CPU直接接口,具有8位標(biāo)準(zhǔn)數(shù)據(jù)總線、6條控制線及電源線。有自己特有的指令描述。下面先了解一下這種顯示的指令描述:</p><p>  2.1.4 報(bào)警模塊電路設(shè)

71、計(jì)</p><p><b>  2.2 程序設(shè)計(jì)</b></p><p>  2.2.1 系統(tǒng)主程序流程圖</p><p>  2.2.2各功能模塊軟件設(shè)計(jì)</p><p><b>  2.3系統(tǒng)仿真</b></p><p><b>  4 PCB板設(shè)計(jì)</b

72、></p><p>  4.1 產(chǎn)品的制作</p><p>  4.2 PCB板的制作</p><p>  4.3元器件的安裝</p><p>  4.4 元器件的焊接</p><p><b>  4.5 產(chǎn)品調(diào)試</b></p><p><b>

73、  總 結(jié)</b></p><p><b>  參考資料</b></p><p><b>  致 謝</b></p><p><b>  附錄1 </b></p><p><b>  附錄2 </b></p>

74、<p><b>  前 言1</b></p><p>  1 系統(tǒng)方案設(shè)計(jì)2</p><p>  1.1 方案設(shè)計(jì)2</p><p>  1.2 方案論證3</p><p>  1.3 系統(tǒng)工作原理3</p><p>  2 系統(tǒng)設(shè)計(jì)與仿真3</p><

75、;p>  2.1 電路設(shè)計(jì)3</p><p>  2.1.1 DS18B20與單片機(jī)的接口技術(shù)3</p><p>  2.1.2 鍵盤(pán)模塊電路設(shè)計(jì)5</p><p>  2.1.3 液晶顯示與單片機(jī)的接口電路設(shè)計(jì)5</p><p>  2.1.4 報(bào)警模塊電路設(shè)計(jì)14</p><p>  2.2 程序設(shè)

76、計(jì)14</p><p>  2.2.1 系統(tǒng)主程序流程圖14</p><p>  2.2.2各功能模塊軟件設(shè)計(jì)14</p><p>  2.3系統(tǒng)仿真14</p><p>  4 PCB板設(shè)計(jì)14</p><p>  4.1 產(chǎn)品的制作14</p><p>  4.2 PCB板的制

77、作14</p><p>  4.3元器件的安裝14</p><p>  4.4 元器件的焊接14</p><p>  4.5 產(chǎn)品調(diào)試14</p><p><b>  總 結(jié)14</b></p><p><b>  參考資料14</b></p>

溫馨提示

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

評(píng)論

0/150

提交評(píng)論