版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第7章 AT89C51單片機(jī)綜合設(shè)計(jì)v7.1 單片機(jī)間的多機(jī)通信7.1.1 Proteus電路設(shè)計(jì)7.1.2 Proteus調(diào)試與仿真7.1.3 總結(jié)與提示v7.2 I2C總線應(yīng)用技術(shù)7.2.1 Proteus電路設(shè)計(jì)7.2.2 Proteus調(diào)試與仿真7.2.3 用I2C調(diào)試器監(jiān)視I2C總線7.2.4 總結(jié)與提示v7.3 基于單片機(jī)控制的電子萬年歷7.3.1 設(shè)計(jì)任務(wù)及要求7.3.2 設(shè)計(jì)背景7.3.3 電路設(shè)計(jì)7.3.4 系統(tǒng)硬件實(shí)現(xiàn)v7.4 基于DS18B20的水溫控制系統(tǒng)7.4.1 Proteus電路設(shè)計(jì)7.4.2 Proteus調(diào)試與仿真v7.5 基于單片機(jī)的2424點(diǎn)陣LED漢字顯
2、示7.5.1 設(shè)計(jì)任務(wù)及要求7.5.2 設(shè)計(jì)背景簡介7.5.3 電路設(shè)計(jì)7.5.4 系統(tǒng)硬件實(shí)現(xiàn)7.5.5 系統(tǒng)仿真vProteus是目前最好的模擬單片機(jī)外圍器件的工具,與其他單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其他電路的工作情況。因此在仿真和調(diào)試程序時,關(guān)心的不再是某些語句執(zhí)行時單片機(jī)寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對于這樣的仿真實(shí)驗(yàn),從某種意義上講,解決了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾。7.1 單片機(jī)間的多機(jī)通信單片機(jī)間的多機(jī)通信v內(nèi)容v三個AT89C51單片機(jī)間進(jìn)行“1主2從”多機(jī)
3、通信,主機(jī)可以將其數(shù)碼管顯示的內(nèi)容發(fā)送給每個從機(jī),也可以采集每個從機(jī)數(shù)碼管顯示的數(shù)值并求和后顯示出來,每個單片機(jī)的數(shù)碼管顯示值可以通過外接的按鍵進(jìn)行設(shè)置。v訓(xùn)練目的v掌握MCS-51單片機(jī)間進(jìn)行多機(jī)通信的實(shí)現(xiàn)方法。7.1.1 Proteus電路設(shè)計(jì)電路設(shè)計(jì)v1. 元件清單列表v打開Proteus ISIS編輯環(huán)境,按表7-1所列的清單添加元件。 v2. 電路原理圖v元件全部添加后,在Proteus ISIS的編輯區(qū)域中按圖7-1和圖7-2所示的主、從機(jī)電路原理圖(晶振和復(fù)位電路略)連接硬件電路。 圖7-1 主機(jī)部分電路原理圖圖7-2 從機(jī)部分電路原理圖7.1.2 Proteus調(diào)試與仿真調(diào)試與
4、仿真參照6.3.3節(jié)建立程序文件,加載目標(biāo)代碼文件,在Proteus ISIS界面中,單擊按鈕 啟動仿真。主機(jī)操作如下:(1) 每按下“加1”鍵,數(shù)碼管顯示值加1,對應(yīng)左邊的數(shù)碼管顯示“7”;(2) 每按下“匯總數(shù)據(jù)”鍵,主機(jī)數(shù)碼管顯示值變?yōu)閺臋C(jī)1的顯示值+從機(jī)2的顯示值之和,對應(yīng)左邊的數(shù)碼管顯示“5”;(3) 每按下“發(fā)送數(shù)據(jù)”鍵,各從機(jī)的數(shù)碼管顯示值均變?yōu)橹鳈C(jī)數(shù)碼管所顯示的數(shù)值,對應(yīng)左邊的數(shù)碼管顯示“3”。v從機(jī)操作如下:v(1) 每按下“加1”鍵,數(shù)碼管顯示值加1;v(2) 運(yùn)行中的數(shù)碼管顯示值隨主機(jī)的操作而發(fā)生改變。v仿真運(yùn)行片段如圖7-3和圖7-4所示。仿真過程中可單擊 按鈕暫停仿真
5、,從“Debug”菜單中調(diào)出各個單片機(jī)的“8051 CPU Registers”窗口來觀察各單片機(jī)運(yùn)行中相關(guān)寄存器的工作狀態(tài),如圖7-4所示。圖7-3 仿真運(yùn)行片段1圖7-4 仿真運(yùn)行片段27.1.3 總結(jié)與提示總結(jié)與提示v在仿真剛開始的幾秒鐘,仿真系統(tǒng)還未完全就位,仿真結(jié)果可能會不正常,稍停一會兒便可正常運(yùn)行;v可將從機(jī)的串口工作方式改為采用中斷方式進(jìn)行編程和仿真實(shí)驗(yàn)。7.2 I2C總線應(yīng)用技術(shù)總線應(yīng)用技術(shù)v內(nèi)容vI2C總線是一種用于IC器件之間的二線制總線。它通過SDA(串行數(shù)據(jù)線)及SCL(串行時鐘線)兩根線在連到總線上的器件之間傳送消息,并根據(jù)地址識別每個器件。本例使用串口通信I2C存
6、儲器24C01擴(kuò)展AT89C51單片機(jī)的數(shù)據(jù)存儲器,完成讀寫操作。v訓(xùn)練目的v學(xué)習(xí)使用Proteus設(shè)計(jì)并仿真I2C器件擴(kuò)展單片機(jī)存儲器的方法;v掌握單片機(jī)進(jìn)行I2C通信的編程方法;v學(xué)會使用Proteus VSM虛擬I2C調(diào)試器。7.2.1 Proteus電路設(shè)計(jì)電路設(shè)計(jì)v1. 元件清單列表v打開Proteus ISIS編輯環(huán)境,按表7-2所列的清單添加元件。v2. 電路原理圖v元件全部添加后,在Proteus ISIS的編輯區(qū)域中按圖7-5所示的原理圖(晶振和復(fù)位電路略)連接硬件電路。 圖7-5 電路原理圖7.2.2 Proteus調(diào)試與仿真 v參照6.3.3節(jié)建立程序文件,加載目標(biāo)代碼文
7、件,執(zhí)行以下操作:v(1) 在Proteus ISIS界面中,單擊按鈕啟動仿真;v(2) 仿真過程中單擊按鈕暫停仿真,從“Debug”菜單中調(diào)出“8051 CPU Internal (IDATA) Memory”窗口和“I2C Memory Internal Memory-U2”窗口,觀察單片機(jī)內(nèi)部數(shù)據(jù)存儲器和24C01存儲器相關(guān)單元的狀態(tài)變化,如圖7-6所示。 圖7-6 仿真暫停時程序運(yùn)行的中間結(jié)果7.2.3 用用I2C調(diào)試器監(jiān)視調(diào)試器監(jiān)視I2C總線總線v1. 在電路中添加I2C調(diào)試器v在工具欄單擊按鈕,再在對象選擇器中選擇“I2C DEBUGGER”。將其中兩引腳與單片機(jī)連接,其中SCL接
8、P3.0,SDA接P3.1。v2. 仿真監(jiān)視v從圖7-6中的I2C調(diào)試器窗口可以看到I2C總線在循環(huán)讀/寫,窗口的左上角區(qū)域,記錄了總線上的所有活動,其中向左的藍(lán)箭頭表示I2C調(diào)試器作為從器件監(jiān)視總線上的活動。單擊“+”,可顯示詳細(xì)的數(shù)據(jù),以字節(jié),甚至以位的形式顯示。其中:v第一行內(nèi)容是單片機(jī)向24C01存儲器寫數(shù)據(jù)過程,其時序?yàn)镾、A0、A、地址(30H)、A、數(shù)據(jù)1、A、數(shù)據(jù)2、A、數(shù)據(jù)16、A、P;v第二行內(nèi)容是單片機(jī)從24C01存儲器讀數(shù)據(jù)過程,其時序?yàn)镾、A0、A、地址(30H)、A、Sr、A1、A、數(shù)據(jù)1、A、數(shù)據(jù)16、N、P。v3. I2C通信讀/寫操作序列中的專用字符vI2C通
9、信讀/寫操作序列中的專用字符,如表7-3所示。7.2.4 總結(jié)與提示總結(jié)與提示v本例中,如果將AT89C51單片機(jī)的時鐘頻率設(shè)置為12MHz,則應(yīng)將24C01屬性中的TD_WRITE=1m項(xiàng)改為TD_WRITE=0.5m。具體步驟為:雙擊24C01元件,打開其屬性編輯框,選中“Edit all properties as text”項(xiàng),然后進(jìn)行修改。7.3 基于單片機(jī)控制的基于單片機(jī)控制的電子萬年歷電子萬年歷7.3.1 設(shè)計(jì)任務(wù)及要求設(shè)計(jì)任務(wù)及要求v1. 設(shè)計(jì)題目v基于單片機(jī)的萬年歷。v2. 設(shè)計(jì)要求與目的v利用單片機(jī)、時鐘芯片、溫度傳感器、數(shù)碼管等實(shí)現(xiàn)日期、時間、溫度的顯示即一個簡單的萬年歷
10、;v萬年歷的設(shè)計(jì)是幾個簡單模塊的組合,硬件上是這樣,軟件上也是這樣,要熟悉這種模塊化的設(shè)計(jì)思路;v通過萬年歷的設(shè)計(jì)要掌握好對Proteus仿真設(shè)計(jì)的熟練使用;v通過萬年歷的設(shè)計(jì)要熟練掌握單片機(jī)的各個功能,并且能對單片機(jī)有一個總體的把握,在設(shè)計(jì)的過程中能夠憑借對單片機(jī)各功能的了解,達(dá)到理想的設(shè)計(jì)效果;v本例使用了時鐘芯片DS1302、溫度傳感器DS18B20和74HC164,通過對單片機(jī)的學(xué)習(xí)能夠?qū)λ鼈冇|類旁通。v3. 設(shè)計(jì)任務(wù)v設(shè)計(jì)系統(tǒng)硬件;v設(shè)計(jì)系統(tǒng)軟件;v編寫設(shè)計(jì)說明書。7.3.2 設(shè)計(jì)背景設(shè)計(jì)背景v在生活中,我們經(jīng)常能看到各種各樣的制作精美的萬年歷,萬年歷大有取代常規(guī)鐘表的趨勢。隨著人們
11、生活水平的提高,智能產(chǎn)品越來越受到人們的歡迎。而單片機(jī)、傳感器及各種集成電路起到關(guān)鍵作用。希望通過本設(shè)計(jì)能夠?qū)ξ磥淼内厔萦兴盐?,從而適應(yīng)社會需要。7.3.3 電路設(shè)計(jì)電路設(shè)計(jì)v萬年歷大體可以分為三大模塊,74HC164與數(shù)碼管的顯示模塊、DS1302時鐘芯片與單片機(jī)的時鐘模塊和DS18B20與單片機(jī)的溫度模塊。v單片機(jī)在5V電壓下,各個模塊正常工作。單片機(jī)從DS1302芯片中讀出一組時間日期數(shù)據(jù),同時單片機(jī)通過DS18B20溫度傳感器獲得當(dāng)前溫度并且發(fā)送給單片機(jī)。單片機(jī)接收到各個數(shù)據(jù)時,利用串行通信原理把數(shù)據(jù)按照一定的順序發(fā)送給74HC164。74HC164移位到最后一個數(shù)碼管后,把各個數(shù)據(jù)
12、顯示出來。v1. 74HC164芯片相關(guān)知識v(1) 74HC164簡介v74HC164是一種8位串行輸入并行輸出的移位寄存器。它是高速硅門 CMOS 器件,與低功耗肖特基型 TTL (TTL LS) 器件的引腳兼容。74HC164、74HCT164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個輸入端之一(DSA 或 DSB)串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。兩個輸入端或者連接在一起,或者把不用的輸入端接高電平,一定不要懸空。時鐘(CP)每次由低變高時,數(shù)據(jù)右移一位,輸入到 Q0,Q0是兩個數(shù)據(jù)輸入端 (DSA和DSB)的邏輯與,它
13、在上升時鐘沿之前保持一個建立時間的長度。主復(fù)位 (MR) 輸入端上的一個低電平將使其他所有輸入端都無效,同時非同步地清除寄存器,強(qiáng)制所有的輸出為低電平。v(2) 74HC164的引腳功能v74HC164的引腳功能如圖7-7、圖7-8和表7-4所示。 圖7-7 74HC164的引腳圖 圖7-8 74HC164的IEC邏輯符號v2. DS1302芯片相關(guān)知識v(1) DS1302簡介vDS1302是DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時時鐘芯片,它可以對年、月、日、星期、時、分、秒進(jìn)行計(jì)時,且具有閏年補(bǔ)償功能,工作電壓為2.55.5V。DS1302采用三線接口,與CPU進(jìn)行同步通
14、信,并可采用突發(fā)方式一次傳送多個字節(jié)的時間數(shù)據(jù)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM存儲器。v(2) DS1302的引腳功能vDS1302的引腳功能如圖7-9及表7-5所示。v(3) 控制字格式v控制字格式如表7-6所示??刂谱肿罡呶槐仨毷?,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中,位6如果為0則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位51指示操作單元的地址;最低位為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。 表7-6 控制字格式v(4) 復(fù)位和時鐘控制vDS1302通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RS
15、T輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中置RST為低電平,則會終止此數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦锠顟B(tài)。上電運(yùn)行時,在VCC2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。v(5) DS1302寄存器v7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字如表7-7所示。v時鐘與日歷暫停。v時鐘與日歷包含在七個寫/讀寄存器中,采用BCD碼形式。秒寄存器
16、的位7(CH)為時鐘暫停位,為1時,時鐘振蕩停止,DS1302為低功率的備份方式,當(dāng)為0時,時鐘將啟動。vAM-PM/12-24方式。v小時寄存器的位7定義為12/24小時方式選擇位。為高電平,選擇12小時方式。在12小時方式下,位5是AM/PM位,此位為高電平時表示PM。在24小時方式下,位5是第二個10小時位(2023時)。v寫保護(hù)寄存器。v寫保護(hù)寄存器的位7是寫保護(hù)位。開始七位(位06)置為0,在讀操作時總是讀出0。在對時鐘或RAM進(jìn)行寫操作之前,位7必須為0。當(dāng)為高電平時,寫保護(hù)防止對任何其他寄存器進(jìn)行寫操作。v慢速充電寄存器。v這個寄存器控制DS1302的慢速充電特征。慢速充電選擇位
17、(TCS)控制慢速充電器的選擇。為了防止偶然的因素使之工作,只有1010模式才能使慢速充電器工作,所有其他模式將禁止慢速充電器。 DS1302上電時,慢速充電器被禁止。二極管選擇位(DS)選擇一個還是兩個二極管連接在VCC1與VCC2之間。如果DS為01選擇一個,如果DS為10選擇兩個。如果DS為00或11,那么充電器被禁止,與TCS無關(guān)。RS選擇連接在VCC1與VCC2之間的電阻。RS為00無電阻,為01用2K,為10用4K,為11用8K。v時鐘/日歷多字節(jié)方式。v時鐘/日歷命令字節(jié)可規(guī)定多字節(jié)方式,在此方式下,最先八個時鐘/日歷寄存器可以從地址0位開始連續(xù)地讀寫。當(dāng)指定寫時鐘/日歷為多字節(jié)
18、方式時,如果寫保護(hù)位被設(shè)置為高電平,那么沒有數(shù)據(jù)會傳送到八個時鐘/日歷寄存器的任一個。在多字節(jié)方式下,慢速充電器是不可訪問的。vDS1302還有充電寄存器,時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共有31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H-FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的控制寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。v3. DS18B20芯片相關(guān)知識v(1) DS18B2
19、0簡介vDS18B20是由美國DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器芯片。與傳統(tǒng)的熱敏電阻有所不同,DS18B20可直接將被測溫度轉(zhuǎn)化為串行數(shù)字信號,以供單片機(jī)處理,它還具有微型化、低功率、高性能、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。通過編程,DS18B20可以實(shí)現(xiàn)912位的溫度讀數(shù)。信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從微處理器到DS18B20僅需連接一條信號線和地線。讀、寫和執(zhí)行溫度變換所需的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源。 v(2) DS18B20的引腳功能vDS18B20的引腳(圖7-10),其功能如表7-8所示。 v(3) DS18B20的主要特點(diǎn)v采用單線技
20、術(shù),與單片機(jī)通信只需一個引腳;v通過識別芯片各自唯一的產(chǎn)品序列號從而實(shí)現(xiàn)單線多掛接,簡化了分布式溫度檢測的應(yīng)用;v實(shí)際應(yīng)用中不需要外部任何器件即可實(shí)現(xiàn)測溫;v可通過數(shù)據(jù)線供電,電壓的范圍在35.5V;v不需要備份電源;v測量范圍為-55+125,在-10+85范圍內(nèi)誤差為0.5;v數(shù)字溫度計(jì)的分辨率用戶可以在9位到12位之間選擇,可配置實(shí)現(xiàn)912位的溫度讀數(shù);v將12位的溫度值轉(zhuǎn)換為數(shù)字量所需時間不超過750ms;v用戶定義的,非易失性的溫度告警設(shè)置,用用戶可以自行設(shè)定告警的上下限溫度。v(4) 單總線技術(shù)v單總線協(xié)議保證了數(shù)據(jù)可靠的傳輸,任一時刻總線上只能有一個控制信號或數(shù)據(jù)。一次數(shù)據(jù)傳輸可
21、分為以下四個操作過程:v初始化,傳送ROM命令,傳送RAM命令,數(shù)據(jù)交換。v單總線上所有的處理都從初始化開始。初始化時序是由一個復(fù)位脈沖(總線命令者發(fā)出)和一個或多個從者發(fā)出的應(yīng)答信號(總線從者發(fā)出)組成。應(yīng)答脈沖的作用是:從器件讓總線命令者知道該器件是在總線上的,并準(zhǔn)備好開始工作。當(dāng)總線命令者檢測到某器件存在時,首先發(fā)送七個ROM功能中的一個命令: v讀ROM(總線上只有一個器件時,即讀出其序列號);v匹配ROM(總線上有多個器件時,尋址某一個器件);v查找ROM(系統(tǒng)首次啟動后,須識別總線上的各器件);v跳過ROM(總線上只有一個器件時,可跳過讀ROM命令直接向器件發(fā)送命令,以節(jié)省時間);
22、v超速匹配ROM(超速模式下尋址某個器件);v超速跳過ROM(超速模式下跳過讀ROM命令);v條件查找ROM(只查找輸入電壓超過設(shè)置的報警門限值的器件)。v當(dāng)成功執(zhí)行上述命令之一后,總線命令者可發(fā)送任何一個可使用命令來訪問存儲器和控制功能,進(jìn)行數(shù)據(jù)交換。所有數(shù)據(jù)的讀寫都是從最低位開始的。單總線傳送的數(shù)據(jù)或命令是由一系統(tǒng)的時序信號組成的,單總線上共有4種時序信號:初始化信號、寫0信號、寫1信號和讀信號。v(5) DS18B20的ROM及控制指令vDS18B20的64位ROM的結(jié)構(gòu)如表7-9所示。開始8位是DS18B20的產(chǎn)品類型編號10H,接著是每一個器件的唯一的序號,共有48位,最后8位是前5
23、6位的CRC校驗(yàn)碼,這也是多個DS18B20可以用一根線進(jìn)行通信的原因。vDS18B20的高速暫存器由便箋式RAM和非易失性電擦寫EERAM組成,后者用于存儲TH、TL值。數(shù)據(jù)先寫入便箋式RAM,經(jīng)校驗(yàn)后再傳給EERAM。便箋式RAM占9個字節(jié),包括溫度信息(0、1字節(jié))、TH和TL值(2、3字節(jié))、配置寄存器數(shù)據(jù)(4字節(jié))、CRC(8字節(jié))等,5、6、7字節(jié)不用。暫存器的4字節(jié)是配置寄存器,可以通過相應(yīng)的寫命令進(jìn)行配置,其內(nèi)容如表7-11所示。vDS18B20的核心功能部件是它的數(shù)字溫度傳感器,如上所述,它的分辨率可配置為9位、10位、11位或者12位,出廠默認(rèn)設(shè)置是12位分辨率,它們對應(yīng)的
24、溫度分辨率分別是0.5、0.25、0.125、0.0625。溫度信息的低位、高位字節(jié)內(nèi)容中還包括了符號位S(是正溫度還是負(fù)溫度)和二進(jìn)制小數(shù)部分,具體形式如表7-13所示。v這是12位分辨率的情況,如果配置為低的分辨率,則其中無意義位為0;實(shí)測溫度和數(shù)字輸出的對應(yīng)關(guān)系如表7-14所示。7.3.4 系統(tǒng)硬件實(shí)現(xiàn)系統(tǒng)硬件實(shí)現(xiàn)v1DS18B20溫度測量電路v根據(jù)DS18B20的引腳功能說明,我們可以很快地把VCC接一個5V的電源,而GND接地。由于DS18B20采用了單總線技術(shù),我們只要把DQ與單片機(jī)的一個I/O口相連接就可以了,如圖7-11所示。圖7-11 DS18B20溫度測量電路v2時鐘電路v
25、DS1302有兩個電源,一個是主電源Vcc2,另一個是備份電源Vcc1。主電源Vcc2同單片機(jī)一樣接5V電源,而備份電源Vcc1使用的是兩節(jié)1.5V干電池。當(dāng)系統(tǒng)電源被切斷的情況下,DS1302也能正常工作,保證日期、時間的準(zhǔn)確性。X1、X2用來外接晶振,晶振的頻率為32.768kHz,如圖7-12所示。圖7-12 時鐘電路v3顯示電路v數(shù)碼管采用共陽極的設(shè)計(jì),一個數(shù)碼管由一個74HC164來驅(qū)動,并且采用級聯(lián)的方式進(jìn)行連接。利用單片機(jī)的串口發(fā)送或者模擬串口發(fā)送把數(shù)據(jù)發(fā)送給74HC164來驅(qū)動數(shù)碼管顯示數(shù)據(jù)。這種設(shè)計(jì)的好處是接節(jié)約單片機(jī)的I/O口,同時也不會降低CPU的運(yùn)行速度,如圖7-13所
26、示。圖7-13 顯示電路v無論仿真還是實(shí)物,如果把數(shù)碼管的陽極直接接到電源上,往往會產(chǎn)生閃爍現(xiàn)象。為了解決這一問題。本設(shè)計(jì)把數(shù)碼管的陽極接到單片機(jī)的一個I/O口上。在程序里,發(fā)送數(shù)據(jù)的過程中,這個端口置低電平,數(shù)據(jù)發(fā)送完畢置為高電平,此時顯示所有數(shù)據(jù)。由于串口發(fā)送及74HC164移位的速度相當(dāng)快,人的眼睛根本分辨不出來,所以就不會產(chǎn)生閃爍,如圖7-14所示。圖7-14 顯示去閃爍電路7.4 基于基于DS18B20的水溫控制系統(tǒng)的水溫控制系統(tǒng)v內(nèi)容v利用單片機(jī)AT89C51控制DS18B20溫度傳感器對水溫的控制,當(dāng)水溫低于預(yù)設(shè)溫度值時系統(tǒng)開始加熱(點(diǎn)亮紅色發(fā)光二極管表示加熱狀態(tài)),當(dāng)溫度達(dá)到預(yù)
27、設(shè)溫度值時自動停止加熱。預(yù)設(shè)溫度值和實(shí)測溫度值分別由兩個3位數(shù)碼管顯示,范圍為099。v背景知識v已掌握Keil Vision3開發(fā)軟件的使用方法;v掌握DS18B20的工作原理與使用方法。v訓(xùn)練目的v掌握單片機(jī)控制系統(tǒng)綜合開發(fā)設(shè)計(jì)方法。7.4.1 Proteus電路設(shè)計(jì)電路設(shè)計(jì)v1. 元件清單列表v打開Proteus ISIS編輯環(huán)境,按表7-16所列的清單添加元件。v2. 電路原理圖v元件全部添加后,在Proteus ISIS的編輯區(qū)域中按圖7-15所示的原理圖(復(fù)位和振蕩電路略)連接硬件電路。圖7-15 電路原理圖7.4.2 Proteus調(diào)試與仿真調(diào)試與仿真v參照6.3.3節(jié)建立程序文
28、件,加載目標(biāo)代碼文件,進(jìn)入調(diào)試環(huán)境,執(zhí)行程序,在Proteus ISIS界面中,分別調(diào)節(jié)十位設(shè)置按鍵和個位設(shè)置按鍵來預(yù)設(shè)水溫,當(dāng)DS18B20的溫度低于預(yù)設(shè)溫度值時,紅色發(fā)光二極管點(diǎn)亮表示進(jìn)入熱狀態(tài);調(diào)節(jié)DS18B20元件上的按鈕可人工模擬實(shí)際水溫的升高和下降??梢钥吹?,當(dāng)實(shí)測溫度達(dá)到預(yù)設(shè)溫度后,紅色發(fā)光二極管便自動熄滅,表示停止加熱。仿真片斷如圖7-16所示。圖7-16 程序運(yùn)行結(jié)果7.5 基于單片機(jī)的基于單片機(jī)的2424點(diǎn)陣點(diǎn)陣LED漢字顯示漢字顯示7.5.1 設(shè)計(jì)任務(wù)及要求設(shè)計(jì)任務(wù)及要求v1. 設(shè)計(jì)題目v基于單片機(jī)的2424點(diǎn)陣LED漢字顯示。v2. 設(shè)計(jì)要求與目的v實(shí)現(xiàn)LED點(diǎn)陣屏核心
29、功能即漢字、數(shù)字、字母的多樣化顯示;v通過本次設(shè)計(jì)加深對單片機(jī)課程和仿真軟件的認(rèn)識和掌握以及對仿真軟件Proteus的應(yīng)用進(jìn)一步的了解;v掌握SPI串口進(jìn)行數(shù)據(jù)傳輸?shù)膽?yīng)用,并學(xué)會使用外部芯片輔助項(xiàng)目設(shè)計(jì);v通過此次設(shè)計(jì)將單片機(jī)軟硬件結(jié)合起來對程序進(jìn)行編輯、校驗(yàn),鍛煉實(shí)踐能力和理論聯(lián)系實(shí)際的能力。v3. 設(shè)計(jì)任務(wù)v設(shè)計(jì)系統(tǒng)硬件;v設(shè)計(jì)系統(tǒng)軟件;v編寫設(shè)計(jì)說明書。7.5.2 設(shè)計(jì)背景簡介 vLED點(diǎn)陣塊具有亮度高、發(fā)光均勻、可靠性好、拼裝方便等優(yōu)點(diǎn),能構(gòu)成各種尺寸的顯示屏。目前,LED顯示屏已被廣泛應(yīng)用于商場、車站等公共場合的文字圖形顯示,并取得了很好的效果。vLED顯示屏的種類較多,大致有以下四
30、種分類法:一是按室內(nèi)室外分類,二是按工作方式分類,三是按顏色的數(shù)量分類,四是按LED管的單位密度大小分類。 不同類型的顯示屏用途不同,各有優(yōu)缺點(diǎn),室內(nèi)LED顯示屏與戶外LED顯示屏差別很大,可根據(jù)需要側(cè)重選擇。首先是亮度不同,室內(nèi)屏的發(fā)光亮度要比戶外屏低出幾倍到幾十倍,因此,戶外屏必須采用超高亮度LED,而且為了進(jìn)一步提高亮度和增加可視距離,在一個像素內(nèi)往往要封裝多只超高亮度LED。7.5.3 電路設(shè)計(jì) v在電路設(shè)計(jì)中要考慮硬件的選型,硬件的選型應(yīng)根據(jù)設(shè)計(jì)要求和應(yīng)用場合的限制選用。在此,選用行列控制器件是很關(guān)鍵的,如果選用的器件達(dá)不到要求可能就會出現(xiàn)驅(qū)動能力不足造成亮度不夠,傳送數(shù)據(jù)出錯等一些
31、問題,本LED顯示系統(tǒng)主要由AT89C51作為主控單元,列控制選用74HC138芯片,行數(shù)據(jù)傳輸選用串入并出器件,74164和74595功能相仿,都是8位串行輸入轉(zhuǎn)并行輸出移位寄存器。74164的驅(qū)動電流(25mA)比74595(35mA)的要小,14腳封裝,體積也小一些,而且74595的主要優(yōu)點(diǎn)是具有數(shù)據(jù)存儲寄存器,在移位的過程中,輸出端的數(shù)據(jù)可以保持不變,數(shù)碼管沒有閃爍感。與164只有數(shù)據(jù)清零端相比,595還多有輸出端時能/禁止控制端,可以使輸出為高阻態(tài)。v我們這里選用74HC595芯片及9塊兒88點(diǎn)陣顯示模塊組成2424點(diǎn)陣顯示屏,如圖7-17所示為單基色88的點(diǎn)陣屏內(nèi)部結(jié)構(gòu)圖。從結(jié)構(gòu)上
32、可知,它的每一列共用一根列線,每一行共用一根行線。當(dāng)相應(yīng)的行接高電平,列接低電平時,對應(yīng)的發(fā)光二極管被點(diǎn)亮。通常情況下,一塊88像素的LED顯示屏是不能用來顯示一個漢字的,因此,本設(shè)計(jì)按照其原理結(jié)構(gòu)擴(kuò)展為2424,顯示一個漢字。在顯示過程中,多采用掃描方式,利用人的視覺暫停效應(yīng),只要刷新速率不小于25幀/秒,就不會有閃爍的感覺。控制系統(tǒng)的結(jié)構(gòu)框圖如圖7-18所示。v其次,戶外屏須防(雨)水、防陽光直射、防塵、防高溫、防風(fēng)、防雷擊等,而室內(nèi)屏則無須考慮這些問題。此設(shè)計(jì)是基于單片機(jī)89C51對點(diǎn)陣2424漢字顯示的設(shè)計(jì)。 單片機(jī) 89 C 51 行控制 列控制 矩 陣 顯 示 屏 圖7-17 點(diǎn)陣
33、屏內(nèi)部結(jié)構(gòu)圖 圖7-18 控制系統(tǒng)框圖7.5.4 系統(tǒng)硬件實(shí)現(xiàn)系統(tǒng)硬件實(shí)現(xiàn)v1. 時鐘電路vAT89C51單片機(jī)芯片內(nèi)部設(shè)有一個由反向放大器構(gòu)成的振蕩器,XTAL1和XTAL2分別為振蕩電路的輸入端和輸出端,時鐘可由內(nèi)部或外部生成,在XTAL1和XTAL2引腳上外接定時元件,內(nèi)部振蕩電路就會產(chǎn)生自激振蕩。系統(tǒng)采用的定時元件為石英晶體和電容組成的并聯(lián)諧振回路。晶振頻率選擇12MHZ,C1、C2的電容值取30pF,電容的大小起頻率微調(diào)的作用。時鐘電路圖如圖7-19所示。 v2. 復(fù)位電路 v單片機(jī)有多種復(fù)位電路,本系統(tǒng)采用電平式開關(guān)復(fù)位與上電復(fù)位方式,電路如圖7-20所示。當(dāng)上電時,C1相當(dāng)于短路
34、,使單片機(jī)復(fù)位,在正常工作時,按下復(fù)位鍵時單片機(jī)復(fù)位。在有時碰到干擾時會造成錯誤復(fù)位,但在大多數(shù)條件下,不會出現(xiàn)單片機(jī)錯誤復(fù)位,而可能會引起內(nèi)部某些寄存器錯誤復(fù)位,如果在復(fù)位端加一個去耦電容,則會得到很好的效果。 圖7-19 時鐘電路圖 圖7-20 復(fù)位電路圖v3. 行數(shù)據(jù)傳輸電路v根據(jù)如圖7-21所示的74HC595管腳圖對控制端的說明為:MR(10腳)指低點(diǎn)平時將移位寄存器數(shù)據(jù)清零;SH_CP(11腳)指上升沿時數(shù)據(jù)寄存器的數(shù)據(jù)移位;Q1、Q2、Q3、.、Q7指下降沿移位寄存器數(shù)據(jù)不變(脈沖寬度:5V時,大于幾十納秒就行了,通常都選微秒級);ST_CP(12腳)指上升沿時移位寄存器的數(shù)據(jù)進(jìn)
35、入數(shù)據(jù)存儲寄存器,下降沿時存儲寄存器數(shù)據(jù)不變。v通常將RCK置為低電平,當(dāng)移位結(jié)束后,在RCK端產(chǎn)生一個正脈沖(5V時,大于幾十納秒就行了,通常都選微秒級),更新顯示數(shù)據(jù);/G(13腳)指高電平時禁止輸出(高阻態(tài))。如果單片機(jī)的引腳不緊張,用一個引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果,這樣比通過數(shù)據(jù)端移位控制要省時省力。然后用三片74HC595串聯(lián)起來組成行數(shù)據(jù)傳輸端,如圖7-22所示。通過數(shù)據(jù)端和時鐘端把數(shù)據(jù)傳送到移位寄存器。Q015Q11Q22Q33Q44Q55Q66Q77Q79SH_CP11ST_CP12DS14MR10OE13U274HC595Q015Q11Q22Q33Q44Q55Q
36、66Q77Q79SH_CP11ST_CP12DS14MR10OE13U674HC595Q015Q11Q22Q33Q44Q55Q66Q77Q79SH_CP11ST_CP12DS14MR10OE13U474HC595ST_CPDDSMRSH_CPOEROW0ROW1ROW2ROW3ROW4ROW5ROW6ROW7ROW8ROW9ROW10ROW11ROW12ROW13ROW14ROW15ROW16ROW17ROW18ROW19ROW20ROW21ROW22ROW23圖7-21 74HC595管腳圖 圖7-22 74HC595管腳分配連接圖 v4. 列控制電路v列控器件74LS138是3-8譯碼器,
37、它具有三個使能端,三個數(shù)據(jù)輸入端,只有當(dāng)使能端S1為高電平,而S2與S3之和為低電平時,才能正常工作,輸出端低電平有效。此設(shè)計(jì)采用三片138和每個輸出端串接一個470的電阻起一定的限流作用,然后與P1口相連接作為顯示屏的列選擇線。ABC為譯碼器數(shù)據(jù)輸入端,E1、E2、E3為片使能端。當(dāng)E1為高點(diǎn)平,E2和E3為低電平時第一片譯碼器使能可控制(COL0COL7)列,以此類推選擇列。電路連接如圖7-23所示。A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U574HC138A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69
38、Y77U774HC138A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U974HC138ABCE1E2E3ABCABCCOL8COL9COL10COL11COL12COL13COL14COL15COL0COL1COL2COL3COL4COL5COL6COL7COL16COL17COL18COL19COL20COL21COL22COL23圖7-23 74HC138管腳分配連接圖v5. 點(diǎn)陣組合電路v此點(diǎn)陣是按共陰式組合,控制列選端低電平有效。ROW0ROW23為行數(shù)據(jù)端,COL0COL16為列控制端,然后在仿真軟件下合并起來就組成了24*24點(diǎn)陣。管腳分配方式如圖7-24所示。圖7-24 點(diǎn)陣管腳分配連接圖v6
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年商業(yè)廣告燈箱安裝施工合同
- 2025年度大曰金地產(chǎn)樓盤銷售代理合同全案策劃執(zhí)行合同4篇
- 2025年私人住房買賣合同書含物業(yè)管理服務(wù)條款范本2篇
- 2025年度高端鈦礦資源批量采購合同
- 二零二五版鍋爐設(shè)備買賣合同附安全使用操作手冊3篇
- 2025年度醫(yī)療設(shè)備租賃合同擔(dān)保與維修保養(yǎng)服務(wù)范本4篇
- 二零二五年度屋頂防水隔熱一體化合同
- 2025年BEC商務(wù)英語專業(yè)課程研發(fā)與授權(quán)使用合同3篇
- 二零二五版智慧城市基礎(chǔ)設(shè)施用地租賃合同3篇
- 預(yù)應(yīng)力專項(xiàng)施工方案
- GB/T 18101-2013難燃膠合板
- 根因分析(huangyan)課件
- 圓形蓄水池工程量及配筋Excel計(jì)算
- 浙教版初中科學(xué)八下《表示元素的符號》課件
- 總住院醫(yī)師管理制度
- 八年級上冊歷史 第二單元 社會主義制度的建立與社會主義建設(shè)的探索
- DB31T 360-2020 住宅物業(yè)管理服務(wù)規(guī)范
- 園林綠化工程大樹移植施工方案
- 應(yīng)收賬款最高額質(zhì)押擔(dān)保合同模版
- 基于新型光彈性實(shí)驗(yàn)技術(shù)的力學(xué)實(shí)驗(yàn)教學(xué)方法探索
- 訴前車輛保全申請書(5篇)
評論
0/150
提交評論