




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要本次的溫度檢測(cè)設(shè)計(jì)及顯示以 AT89C51 單片機(jī)系統(tǒng)進(jìn)行溫度采集, AT89C51 單片機(jī)系統(tǒng)進(jìn)行控制, 溫度信號(hào)由溫度傳感器 18b20 采集,通過(guò) 8255 鍵盤(pán)控制輸入 89C51,溫度數(shù)據(jù)傳輸采用 12864 液晶顯示模塊來(lái)實(shí)現(xiàn)。本次設(shè)計(jì)實(shí)現(xiàn)了:檢測(cè)溫度范圍: 0-100。檢測(cè)器單元可顯示檢測(cè)的溫度值。采用 12864 液晶顯示模塊顯示。采用 8255 控制鍵盤(pán)。本次的溫度檢測(cè)及顯示設(shè)計(jì)主要研究了單片機(jī)與 12864 液晶顯示模塊、溫 度檢測(cè)芯片 18b20 接口之間的作用,學(xué)會(huì)根據(jù)外圍電路設(shè)計(jì)進(jìn)行軟件編程及系 統(tǒng)調(diào)試,練習(xí)撰寫(xiě)實(shí)訓(xùn)總結(jié)報(bào)告, 培養(yǎng)我們運(yùn)用專(zhuān)業(yè)知識(shí)設(shè)計(jì)智能儀器的能
2、力。 為以后的改進(jìn)和發(fā)展奠定了很好的基礎(chǔ)。關(guān)鍵詞:溫度檢測(cè)、 AT89C51 單片機(jī)系統(tǒng)、 溫度傳感器 18b20、8255鍵盤(pán)、 12864 液晶顯示模塊目錄第一章 緒論 1.1 環(huán)境溫度檢測(cè)的概述3. TOC o 1-5 h z HYPERLINK l bookmark6 o Current Document 環(huán)境溫度檢測(cè)的現(xiàn)狀和發(fā)展前景 3.環(huán)境溫度檢測(cè)的現(xiàn)狀 3.環(huán)境溫度檢測(cè)的發(fā)展前景 3.1.3 環(huán)境溫度檢測(cè)研究的主要內(nèi)容 4. HYPERLINK l bookmark8 o Current Document 第二章 環(huán)境溫度檢測(cè)及顯示總體的設(shè)計(jì)方案 5. HYPERLINK l b
3、ookmark10 o Current Document 環(huán)境溫度檢測(cè)及顯示的各個(gè)部分的設(shè)計(jì)方案 5.測(cè)量部分 5.遠(yuǎn)程通信部分 5.顯示部分 5. HYPERLINK l bookmark12 o Current Document 2.2 環(huán)境溫度檢測(cè)及顯示的總體的設(shè)計(jì)結(jié)構(gòu) 6. HYPERLINK l bookmark16 o Current Document 第三章 環(huán)境溫度檢測(cè)及顯示主要模塊的組成 7.溫度檢測(cè)芯片 DS18B20 模塊 7.DS18B20 的技術(shù)參數(shù) 7.DS18B20 數(shù)字溫度計(jì)的封裝與外形尺寸 7.DS1820 使用中注意事項(xiàng) 7. HYPERLINK l boo
4、kmark18 o Current Document 12864 液晶顯示模塊 8. HYPERLINK l bookmark20 o Current Document OCM4X8C 漢字液晶屏引腳表 8. HYPERLINK l bookmark22 o Current Document OCM4X8C 接口方式與時(shí)序 8. HYPERLINK l bookmark26 o Current Document 8255 按鍵模塊 9.引腳說(shuō)明 1.0.內(nèi)部結(jié)構(gòu) 1.0.工作方式控制電路 1.0總線(xiàn)數(shù)據(jù)緩沖器 1.18255 三種基本工作方式 1.1讀/寫(xiě)控制邏輯電路 1.1 HYPERLIN
5、K l bookmark28 o Current Document 第四章 系統(tǒng)的軟件實(shí)現(xiàn) 1.2. HYPERLINK l bookmark30 o Current Document 主程序的流程圖 1.2. HYPERLINK l bookmark32 o Current Document 按鍵的流程圖 1.2. HYPERLINK l bookmark34 o Current Document 時(shí)間功能的流程圖 1.3. HYPERLINK l bookmark36 o Current Document 第五章 環(huán)境溫度檢測(cè)系統(tǒng)顯示 1.4 HYPERLINK l bookmark38
6、o Current Document 應(yīng)用 DXP2004 繪制環(huán)境溫度檢測(cè)及顯示原理圖 1. 4電路原理圖的 PCB 顯示 1.4 HYPERLINK l bookmark40 o Current Document 5.2 環(huán)境溫度顯示 1.5.環(huán)境溫度顯示使用和操作說(shuō)明 1.5第六章 心得體會(huì) 錯(cuò). 誤!未定義書(shū)簽。參考文獻(xiàn) 1.7.附錄 1.8.程序代碼 1.8. TOC o 1-5 h z HYPERLINK l bookmark48 o Current Document 頭文件 1.8. HYPERLINK l bookmark50 o Current Document DS18B2
7、0 的主要程序代碼 1.8 HYPERLINK l bookmark52 o Current Document 12864 的主要程序代碼 2.0 HYPERLINK l bookmark54 o Current Document 8255 的主要程序代碼 2.1時(shí)鐘的主要程序 2.2 HYPERLINK l bookmark56 o Current Document 動(dòng)畫(huà)的主要程序代碼 2.3第一章 緒論環(huán)境溫度檢測(cè)的概述 環(huán)境溫度檢測(cè)實(shí)質(zhì)上就是對(duì)周?chē)h(huán)境溫度的測(cè)量,周?chē)h(huán)境的溫度變化, 檢測(cè)到的溫度會(huì)隨著周?chē)h(huán)境的變化而變化。溫度測(cè)量?jī)x表按測(cè)溫方式可分為接觸式和非接觸式兩大類(lèi)。一、接觸式測(cè)
8、 溫儀表測(cè)溫儀表:比較簡(jiǎn)單、可靠,測(cè)量精度較高;但因測(cè)溫元件與被測(cè)介質(zhì) 需要進(jìn)行充分的熱交金剛,幫需要一定的時(shí)間才能達(dá)到熱平衡,所以存在測(cè)溫 的延遲現(xiàn)象,同時(shí)受耐高溫材料的限制,不能應(yīng)用于很高的溫度測(cè)量。二、非 接觸式儀表測(cè)溫:通過(guò)熱輻射原理來(lái)測(cè)量溫度的,測(cè)溫元件不需與被測(cè)介質(zhì)接 觸,測(cè)溫范圍廣,不受測(cè)溫上限的限制,也不會(huì)破壞被測(cè)物體的溫度場(chǎng),反應(yīng) 速度一般也比較快。但是,在本設(shè)計(jì)中,我們采用的是 DS18B20 溫度傳感器,通過(guò)檢測(cè)周?chē)h(huán) 境而顯示當(dāng)前的溫度值。溫度是影響傳感器性能的一個(gè)關(guān)鍵因素 ,溫度補(bǔ)償對(duì)于 提高傳感器的性能起到關(guān)鍵作用 ,在研制新一代的傳感器中 ,溫度測(cè)量的難題以 再一
9、次擺在人們的面前。因此 ,如何在傳感器極小的空間內(nèi)精確地測(cè)量、傳輸、 處理溫度信息是制約傳感器性能和體積的關(guān)鍵 ,采用進(jìn)口高性能、小體積、數(shù)字 化溫度元件 DS18B20 可以很好地解決這個(gè)問(wèn)題 ,另外 ,有些傳感器需要多點(diǎn)溫度 補(bǔ)償,只需將多個(gè) DS18B20 并聯(lián)就可以解決這個(gè)問(wèn)題 ,無(wú)需增加硬件 ,電路非常簡(jiǎn) 單。故而,我們采用 DS18B20 溫度傳感器檢測(cè)周?chē)h(huán)境,顯示當(dāng)前溫度值。環(huán)境溫度檢測(cè)的現(xiàn)狀和發(fā)展前景1.2.1 環(huán)境溫度檢測(cè)裝置的現(xiàn)狀 據(jù)網(wǎng)上信息的顯示,我國(guó)環(huán)境溫度檢測(cè)裝置在的應(yīng)用宏觀(guān)環(huán)境分析:圖 1.1 我國(guó)溫度檢測(cè)裝置產(chǎn)業(yè)宏觀(guān)經(jīng)濟(jì)環(huán)境分析1.2.2環(huán)境溫度檢測(cè)裝置的發(fā)展前
10、景3環(huán)境溫度檢測(cè)裝置的發(fā)展前景:圖 1.2 國(guó)內(nèi)溫度檢測(cè)裝置供給分布圖圖 1.3 國(guó)內(nèi)溫度檢測(cè)裝置的需求結(jié)構(gòu)分布圖環(huán)境溫度檢測(cè)研究的主要內(nèi)容 本次的溫度檢測(cè)及顯示設(shè)計(jì)主要研究了單片機(jī)與 12864 液晶顯示模塊、溫 度檢測(cè)芯片 DS18B20接口之間的聯(lián)系, 學(xué)會(huì)根據(jù)外圍電路設(shè)計(jì)進(jìn)行軟件編程及 系統(tǒng)調(diào)試。通過(guò)這些的結(jié)合,使得該設(shè)計(jì)達(dá)到一個(gè)目標(biāo):通過(guò)對(duì)周?chē)h(huán)境的檢 測(cè)來(lái)顯示當(dāng)前的溫度值。第二章 環(huán)境溫度檢測(cè)及顯示總體的設(shè)計(jì)方案2.1 環(huán)境溫度檢測(cè)及顯示的各個(gè)部分的設(shè)計(jì)方案2.1.1 測(cè)量部分方案一、 采用熱敏電阻,可滿(mǎn)足 4090的測(cè)量范圍,但熱敏電阻精度、 重復(fù)性、可靠性都比較差 ,對(duì)于檢測(cè)小
11、于 1的溫度信號(hào)是不適用的。方案二、 采用 DS18B20。DS18B20可以程序設(shè)定 912 位的分辨率,精 度為0.5 C??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用 戶(hù)設(shè)定的報(bào)警溫度存儲(chǔ)在 EEPROM 中,掉電后依然保存。 DS18B20 的性能是 新一代產(chǎn)品中最好的!性能價(jià)格比也非常出色!它是 DALLAS 公司專(zhuān)利產(chǎn)品, 在 2075范圍內(nèi)精度為 0.5,但是在此范圍外的溫度測(cè)量卻誤差雖然比較大, 而且其串行數(shù)字輸出方式采用軟件處理比較困難,但是,正好鍛煉我們?cè)诿鎸?duì) 困難時(shí)克服困難的精神。綜上比較分析,我們選擇方案二,以實(shí)現(xiàn)較好的溫度測(cè)量實(shí)現(xiàn)。2.1.2 遠(yuǎn)程通信部分
12、方案一、 一般微機(jī)提供的標(biāo)準(zhǔn)接口為 RS232,它的接口是一種用于近距 離(最大 3060 米)、慢速度、點(diǎn)對(duì)點(diǎn)通訊的通訊協(xié)議,在 RS232 中一個(gè)信號(hào)只 用到一條信號(hào)線(xiàn),采取與地電壓參考的方式,因而在長(zhǎng)距離傳輸后,發(fā)送端和 接收端地電壓有出入,容易造成通訊出錯(cuò)或速度降低。方案二、 采用 89C51 編碼后以并行方式傳輸數(shù)據(jù)。 它的優(yōu)點(diǎn)是方便實(shí)現(xiàn), 軟件開(kāi)銷(xiāo)小。綜上比較分析,方案二容易實(shí)現(xiàn),我們選擇方案二。2.1.3 顯示部分方案一、 向每一個(gè)數(shù)碼管發(fā)送數(shù)據(jù),通過(guò)控制器控制顯示順序,由于顯 示速度快,肉眼看不出閃爍,完成顯示。但是占用控制器資源太多。方案二、 通過(guò) 12864 液晶顯示模塊顯
13、示, 用鍵盤(pán)通過(guò) 8255 控制液晶顯示 模塊顯示,控制器資源占用少。綜合分析,我們決定使用方案二。2.2 環(huán)境溫度檢測(cè)及顯示的總體的設(shè)計(jì)結(jié)構(gòu)圖 2.1 系統(tǒng)總體的設(shè)計(jì)結(jié)構(gòu)圖由系統(tǒng)的總體結(jié)構(gòu)可知,本系統(tǒng)主要由電源供給、 89C51 單片機(jī)、溫度傳 感器 DS18B20、 8255按鍵、 12864液晶顯示模塊這五大部分組成。第三章 環(huán)境溫度檢測(cè)及顯示主要模塊的組成3.1 溫度檢測(cè)芯片 DS18B20模塊DS18B20數(shù)字溫度計(jì)是 DALLAS 公司生產(chǎn)的 1Wire,即單總線(xiàn)器件, 具 有線(xiàn)路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線(xiàn)路簡(jiǎn)單, 在一根通信線(xiàn),可以?huà)旌芏噙@樣的數(shù)字溫度
14、計(jì),十分方便。3.1.1 DS18B20 的技術(shù)參數(shù)序號(hào)項(xiàng)目?jī)?nèi)容1內(nèi)置傳感器DS18B202溫度精度0.5( -10 +85C 范圍內(nèi))3測(cè)溫范圍-55 +1254溫度分辨率9-12 位 (0.0625 )5測(cè)溫速度750ms(12 位分辨率 )6電源要求3V-5.5V7支持通訊電纜長(zhǎng)度100m8材質(zhì)314 不銹鋼9外型尺寸 6mm 長(zhǎng)度 25mm, 30mm 可選10運(yùn)行環(huán)境-55 +80表 3.1 DS18B20 的技術(shù)參數(shù)表3.1.2 DS18B20 數(shù)字溫度計(jì)的封裝與外形尺寸圖 3.13.1.3DS18B20 的封裝圖圖 3.2 DS18B20 的外形尺寸圖DS1820使用中注意事項(xiàng)較
15、小的硬件開(kāi)銷(xiāo)需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償。單總線(xiàn)上所掛 DS1820超過(guò) 8 小時(shí),需要解決微處理器的總線(xiàn)驅(qū)動(dòng)問(wèn)題。(3)連接 DS1820 的總線(xiàn)電纜是有長(zhǎng)度限制的。(4)在 DS1820測(cè)溫程序設(shè)計(jì)中 DS1820接觸不好或斷線(xiàn),當(dāng)程序讀該 DS1820 時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)3.2 12864 液晶顯示模塊12864液晶顯示模塊也就是 OCM4X8C 液晶顯示模塊,是通過(guò)串行掃描方式 與單片機(jī)連接,用來(lái)顯示文字,圖像。3.2.1 12864液晶顯示模塊的概述和比較概述:帶中文字庫(kù)的 128X64是一種具有 4位/8位并行、 2線(xiàn)或 3線(xiàn)串行多種接 口方式, 內(nèi)部含有國(guó)標(biāo)一級(jí)、
16、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊; 其顯 示分辨率為 12864, 內(nèi)置8192個(gè)16*16點(diǎn)漢字,和 128個(gè)16*8點(diǎn)ASCII 字符集。利 用該模塊靈活的接口方式和簡(jiǎn)單、 方便的操作指令, 可構(gòu)成全中文人機(jī)交互圖形 界面。可以顯示 84行1616點(diǎn)陣的漢字。 也可完成圖形顯示。 低電壓低功耗是其 又一顯著特點(diǎn)。比較:該模塊構(gòu)成的液晶顯示方案與同類(lèi)型的圖形點(diǎn)陣液晶顯示模塊, 不論 硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多, 且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖 形液晶模塊。3.2.1 OCM4X8C 漢字液晶屏引腳表 如下所示:引 腳名稱(chēng)方向說(shuō)明引腳名稱(chēng)方向說(shuō)明1VSS-GND( 0V)11
17、DB4I/O數(shù)據(jù)42VDD-Supply V oltage For Logic (+5v)12DB5I/O數(shù)據(jù)53VO-Supply Voltage For LCD (懸空)13DB6I/O數(shù)據(jù)64RS(CS)H/LH: Data L: Instruction Code14DB7I/O數(shù)據(jù)75R/W (STD)H/LH: Read L: Write15PSBH/LH: Parallel Mode L: Serial Mode6E(SCLK)H,H /LEnable Signal16NC-空腳7DB0I/O數(shù)據(jù)017/RSTH/LReset Signal 低電平有效8DB1I/O數(shù)據(jù) 118NC
18、-空腳9DB2I/O數(shù)據(jù)219LED A-背光源正極( LED+5V )10DB3I/O數(shù)據(jù)320LED K-背光源負(fù)極( LED-OV )表 3.2 OCM4X8C 漢字液晶屏引腳表3.2.2 OCM4X8C 接口方式與時(shí)序(1)4/8 位并行接口方式當(dāng)模塊的 PSB腳接高電平時(shí),模塊即進(jìn)入并行接 口模式。在并行模式下可由功能設(shè)定指令的 “DL”位來(lái)選擇 8 位或 4 接口方式, 主控制系統(tǒng)將配合 “RS”、“RW”、“E”DB0DB7 來(lái)完成指令 /數(shù)據(jù)的傳送,其操 作時(shí)序與其它并行接口液晶顯示模塊相同。(2)2/3 線(xiàn)串行接口方式當(dāng)模塊的 PSB 腳接低電平時(shí),模塊即進(jìn)入串行接口模式。串
19、行模式使用串 行數(shù)據(jù)線(xiàn) SID 與串行時(shí)鐘線(xiàn) SCLK 來(lái)傳送數(shù)據(jù),即構(gòu)成 2 線(xiàn)串行模式。本系統(tǒng)選擇的是串行接口控制方式,工作原理如下:OCM4X8C 還允許同時(shí)接入多個(gè)液晶顯示模塊以完成多路信息顯示功能。 此時(shí),要利用片選端 “CS”構(gòu)成 3 線(xiàn)串行接口方式,當(dāng) “CS”接高電位時(shí),模塊可 正常接收并顯示數(shù)據(jù),否則模塊顯示將被禁止。通常情況下,當(dāng)系統(tǒng)僅使用一 個(gè)液晶顯示模塊時(shí), “CS”可連接固定的高電平。線(xiàn)串行工作操作時(shí)序如圖 1所示。由圖 1 可以看出,單片機(jī)與液晶模塊之 間傳送 1字節(jié)的數(shù)據(jù)共需 24 個(gè)時(shí)鐘脈沖。首先,單片機(jī)要給出數(shù)據(jù)傳輸起始位, 這里是以 5個(gè)連續(xù)的 “1作”數(shù)據(jù)
20、起始位,如模塊接收到連續(xù)的 5個(gè)“1,”則內(nèi)部 傳輸被重置并且串行傳輸將被同步。 緊接著, “RW”位用于選擇數(shù)據(jù)的傳輸方向 (讀或?qū)懀?“RS”位用于選擇內(nèi)部數(shù)據(jù)寄存器或指令寄存器,最后的第 8 位固 定為“0?!痹诮邮盏狡鹗嘉患?“RW”和“RW”的第 1個(gè)字節(jié)后, 下一個(gè)字節(jié)的數(shù)據(jù) 或指令將被分為 2 個(gè)字節(jié)來(lái)串行傳送或接收。數(shù)據(jù)或指令的高 4 位,被放在第 2個(gè)字節(jié)串行數(shù)據(jù)的高 4 位,其低 4 位則置為 “0;”數(shù)據(jù)或指令的低 4 位被放在 第 3個(gè)字節(jié)的高 4位,其低 4位也置為 “0,”如此完成一個(gè)字節(jié)指令或數(shù)據(jù)的傳 送。需要注意的是,當(dāng)有多個(gè)數(shù)據(jù)或指令要傳送時(shí),必須要等到一個(gè)
21、指令完成 執(zhí)行完畢后再傳送下一個(gè)指令或數(shù)據(jù),否則,會(huì)造成指令或數(shù)據(jù)的丟失。這是 因?yàn)橐壕K內(nèi)部沒(méi)有發(fā)送 /接收緩沖區(qū)。圖 3.3 OCM4X8C 的 2 線(xiàn)串行工作模式操作時(shí)序圖3.3 8255按鍵模塊8255A 具有 3 個(gè) 8 位的并行 I/O 口,具有三種工作方式,可通過(guò)程序改變其功能,因而使用靈活方便,通用性強(qiáng),可作單片機(jī)與多種外圍設(shè)備連接時(shí)的 中間接口電路。3.3.1 引腳說(shuō)明8255共有 40個(gè)引腳,采用雙列直插式封裝。各引腳功能如下: D7D0:三個(gè)態(tài)雙向數(shù)據(jù)線(xiàn),與單片機(jī)數(shù)據(jù)總線(xiàn)連接,用來(lái)傳送數(shù)據(jù)信息。 CS:片選信號(hào)線(xiàn),低電平有效,表示芯片被選中。RD:讀出信號(hào)線(xiàn),低電科有效
22、,控制數(shù)據(jù)的讀出。WR :寫(xiě)入信號(hào)線(xiàn),低電平有效,控制數(shù)據(jù)的寫(xiě)入。VCC: +5V 電源。PA7PA0:A 的輸入 /輸出線(xiàn)。PB7PB0:B 口輸入 /輸出線(xiàn)。PC7PC0:C 口輸入 /輸出線(xiàn)。RESET:復(fù)位信號(hào)線(xiàn)。A1A0 :地址線(xiàn),用來(lái)選擇 8255內(nèi)部端口。GND:地線(xiàn)。3.3.2 內(nèi)部結(jié)構(gòu)8255 內(nèi)部結(jié)構(gòu)其中包括三個(gè)并行數(shù)據(jù)輸入 /輸出端口,二個(gè)工作方式控制電 路,一個(gè)讀 /寫(xiě)控制邏輯電路和 8 位總線(xiàn)緩沖器。各部分功能概括如下:端口 A 、B、CA 口:是一個(gè) 8 位數(shù)據(jù)出鎖器 / 緩沖器和一個(gè) 8 位數(shù)據(jù)輸入鎖存器。B 口:是一個(gè) 8 位數(shù)據(jù)輸入 / 輸出鎖存器和一個(gè) 8
23、位數(shù)據(jù)輸入結(jié)沖器。C 口:是一個(gè) 8位數(shù)據(jù)輸入 /輸出端口。 C作為控制 /狀態(tài)住處緩沖器(輸入 不鎖存)。通常 A 口、B 口作為數(shù)據(jù)輸入 /輸出端口。 C 口作為控制 /狀態(tài)信息端口, 它 在“方式控制字 ”的控制下可分為二個(gè) 4位端口。每個(gè)端口有一個(gè) 4 位鎖存器, 分別與 A 口和 B 口配合使用,作為控制信號(hào)輸出或狀態(tài)信息輸入端口。3.3.3 工作方式控制電路 工作方式控制電路有兩個(gè), 一個(gè)是 A 組控制電路,另一個(gè)是 B 組控制電路。 這兩組控制電路具有一個(gè)控制命令寄存器, 用來(lái)接收中央處理器發(fā)來(lái)的控制字,10 以決定兩組端口的工作方式, 也可根據(jù)控制字的要求對(duì) C 口按位清 “0
24、或”者位置 “1?!盇 組控制電路用來(lái)控制 A 口和 C 口的上半部分( PC7PC4)。B 組控制 電路用來(lái)控制 B 口和 C 口的下半部分( PC3PC0)。3.3.4 總線(xiàn)數(shù)據(jù)緩沖器總線(xiàn)數(shù)據(jù)緩沖器是一個(gè)三態(tài)雙向 8位緩沖器,作為 8255與系統(tǒng)總線(xiàn)之間的 接口,用來(lái)傳送數(shù)據(jù)、指令、控制命令以及外部狀態(tài)信息。3.3.5 8255 三種基本工作方式方式 0:( MODE 0):基本輸入輸出方式 1(Mode 1):選通輸入輸出方式 2(Mode 2):雙向傳送3.3.6 讀/寫(xiě)控制邏輯電路讀/寫(xiě)控制邏輯電路接收 CPU 發(fā)來(lái)的控制信號(hào) WR、 RD、 RESET、地址信 號(hào) A1A0 等,然
25、后根據(jù)控制信號(hào)的要求,將端口數(shù)據(jù)讀出,送往 CPU,或者將 CPU 送來(lái)的數(shù)據(jù)寫(xiě)入端口。各端口的工作狀態(tài)如表二所求。表二 8255 接口工作狀態(tài)表A1A2RDWRCS工作狀態(tài)00010A 口數(shù)據(jù)數(shù)據(jù)總線(xiàn)01010B 口數(shù)據(jù)數(shù)據(jù)總線(xiàn)10010C 口數(shù)據(jù)數(shù)據(jù)總線(xiàn)00100總線(xiàn)數(shù)據(jù)A口01100總線(xiàn)數(shù)據(jù)B口10100總線(xiàn)數(shù)據(jù)C口11100總線(xiàn)數(shù)據(jù) 控制字寄存器1數(shù)據(jù)總線(xiàn)三態(tài)11010非法狀態(tài)110數(shù)據(jù)總線(xiàn)三態(tài)表 3.3 8055 各端口的工作狀態(tài)本系統(tǒng)采用方式 0 工作,通過(guò)控制字設(shè) PB口為輸入,檢測(cè)哪個(gè)鍵被按下, 將數(shù)據(jù)通過(guò) P0 口送給單片機(jī)處理。11第四章 系統(tǒng)的軟件實(shí)現(xiàn)4.1 主程序的流程
26、圖圖 4.1 主程序的流程圖4.2 按鍵的流程圖圖 4.2 按鍵的流程圖124.3 時(shí)間功能的流程圖圖 4.3 時(shí)間功能的流程圖13第五章 環(huán)境溫度檢測(cè)系統(tǒng)顯示5.1 應(yīng)用 DXP2004繪制環(huán)境溫度檢測(cè)及顯示原理圖我們?cè)O(shè)計(jì)的是一種有 P89V51單片機(jī)控制的 OCM4X8C 漢字液晶屏。采用串行 掃描方式進(jìn)行顯示,有占用 I/O口小的特點(diǎn)。整個(gè)系統(tǒng)由單片機(jī)、 74HC138、74HC373、OCM4X8C 液晶屏, 8255A和按 鍵組成,以 P89V51單片機(jī)為控制核心。5.1.1 電路原理圖的 PCB顯示顯示如下:圖 5.1 電源及單片機(jī)等模塊圖 5.2 按鍵及 8255等模塊14圖 5
27、.3 串行口及液晶顯示等模塊5.2 環(huán)境溫度顯示環(huán)境溫度顯示使用和操作說(shuō)明我們使用的開(kāi)發(fā)環(huán)境為 Flash magic,打開(kāi) Flash magic ,打開(kāi)附錄里的 工程文件,編繹出 hex 文件,將 hex文件下載到單片機(jī)里,復(fù)位一下。圖 5.5 主界面(或者按鍵)顯示此時(shí)液晶屏?xí)霈F(xiàn)如圖所示:圖 5.4 智能儀器實(shí)訓(xùn)圖顯示 按液晶屏上的提示,按 K4 鍵 如按下 K4 ,會(huì)出現(xiàn):圖 5.6 設(shè)計(jì)人員的顯示15如按下 K5 ,會(huì)出現(xiàn):圖 5.7 當(dāng)前溫度的顯示如按下 K6 ,會(huì)出現(xiàn)動(dòng)畫(huà):圖 5.8 動(dòng)畫(huà) “謝謝 ”的顯示如按 K7,則顯示時(shí)間:圖 5.9 時(shí)間的顯示總的實(shí)物圖:圖 5.10
28、總的實(shí)物圖16參考文獻(xiàn) 1 祁偉.單片微型計(jì)算機(jī)原理與接口技術(shù)教程 M.北京:北京航空 航天大學(xué)出版社, 2007.2 馬忠梅 .單片機(jī)的 C 語(yǔ)言應(yīng)用程序設(shè)計(jì) M.北京:北京航空航天 大學(xué)出版社, 2007.楊欣榮 .智能儀器原理、設(shè)計(jì)與發(fā)展 .中南大學(xué)出版社, 2006.7.李朝青.單片機(jī)原理及接口技術(shù)(修訂版) M. 北京:北京航空航天 大學(xué)出版社, 1998.5 何立民. 單片機(jī)高級(jí)教程 M.北京航空航天大學(xué)出版社, 2000年 5 月第一版.17附錄程序代碼1. 頭文件#includeREG51.h#include #include #include #include #includ
29、e #include #include 2. DS18B20 的主要程序代碼sbit DQ =P34;/*1us延時(shí)子函數(shù) */定義通信端口 */void delay(unsigned int i) while(i-);/*1ms延時(shí)子函數(shù) */void delay1(unsigned int z)unsigned int x,y;for(x=z;x0;x-) for(y=110;y0;y-);初始化函數(shù) */Init_DS18B20(void) unsigned char x=0; DQ = 1;/DQ 復(fù)位delay(8); / 稍做延時(shí) DQ = 0;/ 單片機(jī)將 DQ 拉低delay(
30、80); / 精確延時(shí) 大于 480us DQ = 1;/ 拉高總線(xiàn)delay(14);x=DQ;/稍做延時(shí)后 如果 x=0 則初始化成功 x=1 則初始化失敗delay(20);/*讀一個(gè)字節(jié) */ReadOneChar(void)unsigned char i=0;18unsigned char dat = 0; for (i=8;i0;i-)DQ = 0; / 給脈沖信號(hào)dat=1;DQ = 1; / 給脈沖信號(hào)if(DQ) dat|=0 x80; delay(10);return(dat);寫(xiě)一個(gè)字節(jié)WriteOneChar(unsigned char dat) unsigned ch
31、ar i=0;for (i=8; i0; i-)DQ = 0;DQ = dat&0 x01;delay(10);DQ = 1;dat=1;讀取溫度 *float ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0 xCC); / 跳過(guò)讀序號(hào)列號(hào)的操作WriteOneChar(0 x44); / 啟動(dòng)溫度轉(zhuǎn)換Init_DS18B20();WriteOneChar(0 xCC); / 跳過(guò)讀序號(hào)列號(hào)的操作前兩個(gè)就是溫度Wr
32、iteOneChar(0 xBE); / 讀取溫度寄存器等(共可讀 9 個(gè)寄存器) a=ReadOneChar();b=ReadOneChar();t=b;t=8;t=t|a;tt=t*0.0625;/t= tt*10+0.5; / 放大 10 倍輸出并四舍五入 -此行沒(méi)用return(tt);193. 12864 的主要程序代碼sbit LCD_RS=P14;/ 定義引腳sbit LCD_RW=P15;sbit LCD_E=P16;sbit PSB =P17; /PSB 腳為 12864-12 系列的串、并通訊功能切換,我們使用 8位并行接 口, PSB=1#define LCD_Data
33、P0#define Busy/*0 x80 / 用于檢測(cè) LCD 狀態(tài)字中的 Busy 標(biāo)識(shí) 聲明子函數(shù) */void WriteDataLCD(unsigned char WDLCD);void WriteCommandLCD(unsigned char WCLCD,BuysC);unsigned char ReadDataLCD(void);unsigned char ReadStatusLCD(void);void LCDInit(void);void LCDClear(void);void LCDFlash(void);void DisplayOneChar(unsigned char
34、 X, unsigned char Y , unsigned char DData);void DisplayListChar(unsigned char X, unsigned char Y , unsigned char code *DData); void DisplayImage (unsigned char code *DData);void Delay5Ms(void); void Delay400Ms(void);定義顯示數(shù)組 */code unsigned char uctech1 = 設(shè)計(jì)人員: ; code unsigned char uctech3 = 當(dāng)前溫度: ; c
35、ode unsigned char uctech4 = K5: 顯示溫度 ; code unsigned char uctech2 = K4: 設(shè)計(jì)人員 ; code unsigned char uctech5 = K6: 顯示動(dòng)畫(huà) ; code unsigned char uctech6 = K7: 顯示時(shí)間 ; code unsigned char uctech7 = 當(dāng)前時(shí)間: ; code unsigned char net = 智能儀器實(shí)訓(xùn) ; code unsigned char net1 = 環(huán)境溫度檢測(cè) ;code unsigned char mcu = ;code unsig
36、ned char qq = ;unsigned char const table=0,1,2,3,4,5,6,7,8,9;/unsigned char const dofly=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;/ 顯示 段碼值 0123456789 void WriteDataLCD(unsigned char WDLCD)寫(xiě)數(shù)據(jù)ReadStatusLCD(); / 檢測(cè)忙 LCD_RS = 1;LCD_RW = 0;LCD_Data = WDLCD;LCD_E = 1;LCD_E = 1;20LCD_E =
37、 1;/*LCD_E = 0;寫(xiě)指令 */void WriteCommandLCD(unsigned char WCLCD,BuysC) /BuysC 為 0 時(shí)忽略忙檢測(cè) if (BuysC) ReadStatusLCD(); / 根據(jù)需要檢測(cè)忙 LCD_RS = 0;LCD_RW = 0;LCD_Data = WCLCD;LCD_E = 1;LCD_E = 1;LCD_E = 1;LCD_E = 0;/*讀數(shù)據(jù) */ unsigned char ReadDataLCD(void)LCD_RS = 1;LCD_RW = 1;LCD_E = 0;LCD_E = 0;LCD_E = 1; ret
38、urn(LCD_Data);讀狀態(tài)unsigned char ReadStatusLCD(void) LCD_Data = 0 xFF; LCD_RS = 0; LCD_RW = 1; LCD_E = 1; while (LCD_Data & Busy); / 檢測(cè)忙信號(hào) LCD_E = 0;return(LCD_Data);* LCM初始化void LCDInit(void)WriteCommandLCD(0 x30,1); / 顯示模式設(shè)置 , 開(kāi)始要求每次檢測(cè)忙信號(hào)WriteCommandLCD(0 x01,1); / 顯示清屏WriteCommandLCD(0 x06,1); / 顯示
39、光標(biāo)移動(dòng)設(shè)置WriteCommandLCD(0 x0C,1); / 顯示開(kāi)及光標(biāo)設(shè)置4. 8255 的主要程序代碼#include 21#define LCD_STRING_END 0#define com8255 XBYTE0 xFFFF /8255 控制端口的地址#define PORTA XBYTE0 xFFFC /A 口的地址#define PORTB XBYTE0 xFFFD /B 口的地址#define PORTC XBYTE0 xFFFE /C 口的地址sbit AA=P10; /74HC138 的 A 輸入口 sbit BB=P11; /74HC138 的 B 輸入口 sbit
40、 CC=P12; /74HC138 的 C 輸入口/*片選子函數(shù) */void CS8255() AA=0;BB=1;CC=0;5. 時(shí)鐘的主要程序#define uint unsigned int#define uchar unsigned charuint temp,miao=0,fen=0,xiaoshi=0,K;sbit P3_2=P32;sbit P3_4=P34;void display4();void delay(uint z);void start();void start()/初始化子程序TH0=(65536-50000)/256;/ 定時(shí)時(shí)間為 50msTL0=(65536
41、-50000)%256;TMOD=0X01;/方式一ET0=1;TR0=1;EA=1;void timer1() interrupt 1/中斷程序TH0=(65536-50000)/256;/ 重裝時(shí)間初值TL0=(65536-50000)%256;K+;if(K=20)K=0;miao+;22if(miao=60)miao=0;fen+;if(fen=60)fen=0;xiaoshi+;if(xiaoshi=24)xiaoshi=0;6. 動(dòng)畫(huà)的主要程序代碼unsigned char code nBitmapDot1 =/ 數(shù)據(jù)表0 x00,0 x00,0 x08,0 x00,0 x00,0
42、 x00,0 x00,0 x00,0 x00,0 x08,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00, 0 x00,0 x00,0 x0E,0 x00,0 x30,0 x00,0 x00,0 x00,0 x00,0 x0E,0 x00,0 x30,0 x00,0 x00,0 x00,0 x00, 0 x00,0 x00,0 x0F,0 x00,0 x38,0 x00,0 x00,0 x00,0 x00,0 x0F,0 x00,0 x38,0 x00,0 x00,0 x00,0 x00, 0 x0E,0 x00,0 x1B,0 x80,0 x2E,0 x00,0 x0
43、0,0 x0E,0 x00,0 x1B,0 x80,0 x2E,0 x00,0 x00,0 x00,0 x00, 0 x0F,0 x00,0 x1B,0 x00,0 x26,0 x00,0 x00,0 x0F,0 x00,0 x1B,0 x00,0 x26,0 x00,0 x00,0 x00,0 x00, 0 x07,0 x80,0 x16,0 x00,0 x26,0 x00,0 x00,0 x07,0 x80,0 x1E,0 x00,0 x26,0 x00,0 x00,0 x00,0 x00, 0 x06,0 xC0,0 x16,0 x00,0 x2C,0 x00,0 x00,0 x06,0
44、 xC0,0 x16,0 x00,0 x2C,0 x00,0 x00,0 x00,0 x00, 0 x03,0 x60,0 x16,0 x00,0 x2C,0 x00,0 x00,0 x03,0 x60,0 x16,0 x00,0 x2C,0 x00,0 x00,0 x00,0 x00, 0 x03,0 x61,0 x1C,0 x60,0 x2C,0 x00,0 x00,0 x03,0 x61,0 x1C,0 x40,0 x2C,0 x00,0 x00,0 x80,0 x00, 0 x01,0 x21,0 x9C,0 xE0,0 x2C,0 x00,0 x00,0 x01,0 x21,0 x9
45、C,0 xE0,0 x2C,0 x00,0 x00,0 x00,0 x0E, 0 x01,0 xA1,0 xF9,0 xF0,0 x2C,0 x00,0 x00,0 x01,0 xA1,0 xF9,0 xF0,0 x2C,0 x00,0 x00,0 x00,0 x1F, 0 x01,0 xA1,0 x7F,0 x98,0 x2C,0 x00,0 x00,0 x01,0 xA1,0 x7F,0 xB8,0 x2C,0 x00,0 x00,0 x00,0 x31, 0 x00,0 xA1,0 x7F,0 xB8,0 x2C,0 x00,0 x00,0 x01,0 xA1,0 x7F,0 xB8,0
46、 x2C,0 x00,0 x00,0 x00,0 x31, 0 x00,0 xE1,0 x7F,0 xB0,0 x2C,0 x00,0 x00,0 x00,0 xE1,0 x7F,0 xB0,0 x2C,0 x00,0 x00,0 x00,0 x21, 0 x00,0 xE1,0 x40,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 xE1,0 x40,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 x31, 0 x00,0 x01,0 x40,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 x01,0 x40,0 xA0,0 x2C,0 x0
47、0,0 x00,0 x00,0 x31, 0 x00,0 x01,0 x40,0 xA0,0 x2C,0 x80,0 x00,0 x00,0 x01,0 x40,0 xA0,0 x2C,0 x80,0 x00,0 x00,0 x31, 0 x00,0 x01,0 x40,0 xA0,0 x2D,0 xC0,0 x00,0 x00,0 x01,0 x40,0 xA0,0 x2D,0 xC0,0 x00,0 x00,0 x31, 0 x00,0 x01,0 x40,0 xA0,0 x2F,0 xC0,0 x00,0 x00,0 x01,0 x40,0 xA0,0 x2F,0 xC0,0 x00,0
48、 x00,0 x31, 0 x01,0 x81,0 x7F,0 xBF,0 xFF,0 x60,0 x00,0 x01,0 x81,0 x7F,0 xBF,0 xFF,0 x60,0 x00,0 x00,0 x31, 0 x01,0 x81,0 x7F,0 xBB,0 xFF,0 xF0,0 x00,0 x01,0 x81,0 x7F,0 xBB,0 xFF,0 xF0,0 x00,0 x00,0 x11, 0 x03,0 xC1,0 x7F,0 xAF,0 xEF,0 xF0,0 x00,0 x03,0 xC1,0 x7F,0 xAF,0 xEF,0 xF0,0 x00,0 x00,0 x1
49、1, 0 xFF,0 xE1,0 x40,0 xA4,0 x2C,0 x00,0 x00,0 xFF,0 xE1,0 x40,0 xA4,0 x2C,0 x00,0 x00,0 x00,0 x11, 0 x7E,0 x61,0 x40,0 xA0,0 x24,0 x00,0 x00,0 x7E,0 x61,0 x40,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 x13, 0 x7E,0 xC1,0 x40,0 xA0,0 x24,0 x00,0 x00,0 x7E,0 xC1,0 x40,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 x13, 0 x02,
50、0 x81,0 x40,0 xA0,0 x24,0 x00,0 x00,0 x02,0 x81,0 x40,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 x13, 0 x02,0 x81,0 x40,0 xA0,0 x24,0 x00,0 x00,0 x02,0 x81,0 x40,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 x13, 0 x02,0 x81,0 x40,0 xA0,0 x24,0 x00,0 x00,0 x02,0 x81,0 x40,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 x12,230 x02,0 x81,0
51、x7F,0 xAC,0 x24,0 x00,0 x00,0 x02,0 x81,0 x7F,0 xAC,0 x2C,0 x00,0 x00,0 x00,0 x1A, 0 x02,0 x81,0 x7F,0 xAC,0 x24,0 x00,0 x00,0 x02,0 x81,0 x7F,0 xAC,0 x2C,0 x00,0 x00,0 x00,0 x1A, 0 x02,0 x81,0 x40,0 xAE,0 x24,0 x00,0 x00,0 x02,0 x81,0 x41,0 xAE,0 x2C,0 x00,0 x00,0 x00,0 x1A, 0 x02,0 x81,0 x40,0 xAF
52、,0 x24,0 x00,0 x00,0 x02,0 x81,0 x40,0 xAF,0 x2C,0 x00,0 x00,0 x00,0 x1A, 0 x02,0 x81,0 x40,0 xA7,0 xA4,0 x00,0 x00,0 x02,0 x81,0 x40,0 xA7,0 x2C,0 x00,0 x00,0 x00,0 x1A, 0 x02,0 x81,0 x40,0 xA7,0 xA4,0 x00,0 x00,0 x02,0 x81,0 x40,0 xA7,0 xAC,0 x00,0 x00,0 x00,0 x0A, 0 x02,0 x81,0 x40,0 xA6,0 xE4,0
53、x00,0 x00,0 x02,0 x81,0 x40,0 xA6,0 xAC,0 x00,0 x00,0 x00,0 x0A, 0 x02,0 x81,0 x40,0 xA6,0 xE4,0 x00,0 x00,0 x02,0 x81,0 x40,0 xA6,0 xEC,0 x00,0 x00,0 x00,0 x0A, 0 x02,0 x81,0 x40,0 xA2,0 x64,0 x00,0 x00,0 x02,0 x81,0 x40,0 xA2,0 xEC,0 x00,0 x00,0 x00,0 x0E, 0 x02,0 xBF,0 x7F,0 xA2,0 x6C,0 x00,0 x00
54、,0 x02,0 xBF,0 x7F,0 xA2,0 x6C,0 x00,0 x00,0 x00,0 x0E, 0 x02,0 xBF,0 x7F,0 xA2,0 xE4,0 x00,0 x00,0 x02,0 xBF,0 x7F,0 xA2,0 xEC,0 x00,0 x00,0 x00,0 x0C, 0 x02,0 x9F,0 xFE,0 xA3,0 xE4,0 x00,0 x00,0 x02,0 x9F,0 xFE,0 xA3,0 xEC,0 x00,0 x00,0 x00,0 x0C, 0 x02,0 x8F,0 xFD,0 xA3,0 xA4,0 x00,0 x00,0 x02,0
55、x9F,0 xFD,0 xA3,0 xAC,0 x00,0 x00,0 x00,0 x0C, 0 x02,0 x80,0 x0D,0 xA1,0 x24,0 x00,0 x00,0 x02,0 x80,0 x0D,0 xA1,0 x2C,0 x00,0 x00,0 x00,0 x0C, 0 x02,0 x83,0 x0D,0 xA0,0 x24,0 x00,0 x00,0 x02,0 x87,0 x0D,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 x00, 0 x02,0 x87,0 x1B,0 xA0,0 x24,0 x00,0 x00,0 x02,0 x87,0 x1B,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 x00, 0 x02,0 x8E,0 x1B,0 xA0,0 x24,0 x00,0 x00,0 x02,0 x8E,0 x1A,0 xA0,0 x2C,0 x00,0 x00,0 x00,0 x0
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保潔與員工合同范本
- 住宅加裝電梯工程合同范例
- 出售尼龍水箱合同范本
- 與政府合作合同范本
- 內(nèi)控合同范本
- 協(xié)商撤銷(xiāo)合同范例
- 勞動(dòng)合同范本 病假
- 單位租住房合同范本
- 個(gè)人蓋房合同范本
- 中醫(yī)醫(yī)聯(lián)體合同范本
- 染廠(chǎng)公司簡(jiǎn)介(4個(gè)范本)
- PPT用中國(guó)地圖(可編輯)
- 基于德育的農(nóng)村中小學(xué)校園欺凌現(xiàn)象的解決對(duì)策優(yōu)秀獲獎(jiǎng)科研論文
- 鐵路工程概預(yù)算-工程經(jīng)濟(jì)管理培訓(xùn)-課件
- 小學(xué)英語(yǔ)一般現(xiàn)在時(shí)-(演示)課件
- 面部激素依賴(lài)性皮炎的管理課件
- 盧卡奇教學(xué)講解課件
- 智慧環(huán)衛(wèi)項(xiàng)目建設(shè)方案
- 焊接作業(yè)現(xiàn)場(chǎng)環(huán)境溫度濕度記錄
- 長(zhǎng)期護(hù)理保險(xiǎn)待遇資格申請(qǐng)表
- 馬克思主義基本原理教案:第一章+教案
評(píng)論
0/150
提交評(píng)論