版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 畢 業(yè) 設(shè) 計(論 文)</p><p> 題 目: 基于51單片機的開發(fā)板設(shè)計</p><p> 院 (系): </p><p> 專 業(yè): </p><p&g
2、t; 班 級: </p><p> 學(xué)生姓名: </p><p> 導(dǎo)師姓名: 職稱: </p><p> 畢業(yè)設(shè)計(論文)任務(wù)書</p><p>&
3、lt;b> 任務(wù)與要求</b></p><p> 西 安 郵 電 學(xué) 院</p><p> 畢 業(yè) 設(shè) 計 (論文) 工 作 計 劃</p><p> 學(xué)生姓名 ___ 指導(dǎo)教師___職稱 _</p><p> 院(系)_____ _______專業(yè) _____ </p><p
4、> 題目 S51開發(fā)板的設(shè)計 </p><p><b> 工作進程</b></p><p> 第一周 至第二周 查找S51單片機資料,確定軟硬件設(shè)計總體方案。 </p><p> 第三周至第五周 使用Pro
5、tel軟件,確定單片機外圍電路的各功能模塊硬件設(shè)計。 </p><p> 第六周至第八周 使用Keil C 設(shè)計軟件,對各個功能模塊進行軟件設(shè)計。 </p><p> 第九周至第十二周 利用Proteus進行軟件仿真,對功能模塊進行仿真驗證,仿真驗證合格后進行PCB加工,焊接
6、元器件,制作出S51開發(fā)板及下載器,并對開發(fā)板和下載器功能進行最后驗證,保證功能全部能夠?qū)崿F(xiàn)。 </p><p> 第十三周至第十四周 撰寫畢業(yè)論文,準(zhǔn)備答辯。</p><p> 主要參考書目(資料)</p><p> 相關(guān)論文(電子版);</p><p> 《新概念51單片機C語言
7、教程》;</p><p> 《新編MCS-51單片機應(yīng)用設(shè)計》;</p><p> 《51單片機C語言應(yīng)用程序設(shè)計實例精講》;</p><p> 及相關(guān)網(wǎng)站http://www.21ic.com</p><p> 計算機、S51控制器及外圍元件、相關(guān)傳感器、配套軟件</p><p> 除每周定時具體指導(dǎo)外,學(xué)
8、生有問題也可隨時聯(lián)系指導(dǎo)。</p><p> 如有特殊原因可是當(dāng)調(diào)整,否則按計劃執(zhí)行。</p><p><b> 說明:</b></p><p> 本報告必須由承擔(dān)畢業(yè)論文(設(shè)計)課題任務(wù)的學(xué)生在畢業(yè)論文(設(shè)計) 正式開始的第1周周五之前獨立撰寫完成,并交指導(dǎo)教師審閱。</p><p> 西安郵電學(xué)院畢業(yè)設(shè)計 (
9、論文)成績評定表</p><p> 西安郵電學(xué)院畢業(yè)論文(設(shè)計)成績評定表(續(xù)表)</p><p><b> 目錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 1 引言1<
10、;/b></p><p><b> 2 系統(tǒng)方案2</b></p><p> 2.1 總體設(shè)計方案2</p><p> 2.2 設(shè)計原則2</p><p><b> 3 硬件部分3</b></p><p> 3.1 硬件結(jié)構(gòu)框圖3</p>
11、<p> 3.2 硬件電路設(shè)計4</p><p> 3.2.1 S51單片機主控制模塊4</p><p> 3.2.2 鍵盤模塊4</p><p> 3.2.3 AD模塊5</p><p> 3.2.4 DA模塊6</p><p> 3.2.5 DS1302時鐘模塊7&l
12、t;/p><p> 3.2.6 測溫模塊9</p><p> 3.2.7 串行通信模塊10</p><p> 3.2.8 顯示模塊12</p><p> 3.2.9 下載器模塊16</p><p> 3.2.10 其他模塊17</p><p><b> 4 軟
13、件部分19</b></p><p> 4.1 整體程序設(shè)計19</p><p> 4.2 分模塊程序設(shè)計19</p><p> 4.2.1 鍵盤模塊程序設(shè)計19</p><p> 4.2.2 AD模塊程序設(shè)計20</p><p> 4.2.3 DA模塊程序設(shè)計22</p&g
14、t;<p> 4.2.4 DS1302時鐘模塊程序設(shè)計23</p><p> 4.2.5 測溫模塊程序設(shè)計25</p><p> 4.2.6 串行通信模塊程序設(shè)計28</p><p> 4.2.7 顯示模塊程序設(shè)計30</p><p> 4.2.8 其他模塊38</p><p&g
15、t; 5 開發(fā)板設(shè)計及測試41</p><p> 5.1 開發(fā)板PCB設(shè)計41</p><p> 5.2 開發(fā)板測試41</p><p><b> 6 結(jié)論43</b></p><p><b> 致謝44</b></p><p><b> 參考
16、文獻45</b></p><p><b> 附錄46</b></p><p> 附錄1 鍵盤模塊部分程序46</p><p> 附錄2 AD模塊部分程序46</p><p> 附錄3 DA模塊部分程序48</p><p> 附錄4 DS1302時鐘模塊部分程
17、序48</p><p> 附錄5 測溫模塊部分程序51</p><p> 附錄6 單片機通過MAX485與PC機通訊程序52</p><p> 附錄7 LCD1602顯示模塊部分程序53</p><p> 附錄8 開發(fā)板整觀圖55</p><p> 附錄9 下載器整觀圖55</p&
18、gt;<p><b> 摘 要</b></p><p> 設(shè)計一種基于S51單片機的開發(fā)板,該開發(fā)板具有成本低、體積小、可靠性高、功能齊全、低功耗設(shè)計、操作方便等特點。本論文詳細介紹了該開發(fā)板的開發(fā)過程及相關(guān)硬件結(jié)構(gòu)和軟件設(shè)計。開發(fā)板以ATMEL公司的AT89S51單片機為核心控制器,板上資源主要包括數(shù)據(jù)采集處理模塊、DS1302時鐘模塊、通信模塊、液晶顯示模塊、鍵盤模塊等
19、。針對各個硬件模塊開發(fā)了相應(yīng)的軟件模塊,包括各個控制驅(qū)動程序、AD/DA程序、RS232/ RS485通信程序、液晶顯示程序等。</p><p> 開發(fā)板可以作為主控制模塊安裝于控制系統(tǒng)中執(zhí)行控制任務(wù),也可以用作實驗板,完成單片機各類通用實驗,操作簡單,控制結(jié)果可見,性價比高,可以應(yīng)用于高校、科研院所的實驗室等場合,具有一定的實用價值和現(xiàn)實意義。</p><p> 關(guān)鍵詞:S51 D
20、S1302 通信 液晶顯示 鍵盤 </p><p><b> Abstract</b></p><p> Design a development board based on S51 MCU,the board has characteristics of low cost, small size, high reliability,
21、 full-featured, low-power design and easy to operate. This paper introduces the development process of the development board and related hardware and software design. Development board using AT89S51 of ATMEL Corporation
22、as core controller, resources on-board include data acquisition and processing module, DS1302 clock module, communication module, LCD module and keyboard module. De</p><p> Development board can be used as
23、the main control module installed in the control system to perform control tasks, also can be used as experimental board, complete all kinds of universal experiments of MCU, operated simply, control results can be seen,h
24、igh cost performance, can be applied to universities, research institutes, laboratories and so on, has some practical value and practical significance. </p><p> Key words: S51 DS1302 communication LCD k
25、eypad</p><p><b> 1 引言</b></p><p> 單片機具有成本低、體積小、可靠性高、具有高附加值、通過更改軟件就可以改變控制對象等優(yōu)點,單片機越來越成為電子工程師設(shè)計產(chǎn)品時的首選器件之一。因此擁有一塊單片機開發(fā)板對單片機學(xué)習(xí)具有著極其重要的意義。但是單片機學(xué)習(xí)效果的優(yōu)劣直接取決于單片機的選擇,C51系列單片機內(nèi)部具有128字節(jié)RAM、5個
26、中斷源、32條I/O口線、2個16位定時器、4KB的程序存儲器、一個全雙工異步串行口。本開發(fā)板選擇具有ISP在線編程功能的S51單片機,該單片機不需要燒寫器,可在開發(fā)板上ISP在線編程,具有廣泛的應(yīng)用前景。</p><p> S51單片機除兼容C51單片機外,還具有工作頻率0至33MHz的高工作頻率;可以滿足絕大多數(shù)的實際應(yīng)用開發(fā)需求,在開發(fā)板上使用十分方便。</p><p> 本課題
27、設(shè)計的S51單片機開發(fā)板,具有一般開發(fā)板通用結(jié)構(gòu),并基于硬件進行相關(guān)軟件設(shè)計。利用程序開發(fā)語言開發(fā)程序并實現(xiàn)ISP在線下載到單片機,無需配置單獨的下載器。單片機使用ISP在線下載程序,加快了程序設(shè)計者調(diào)試的進度,使設(shè)計者所設(shè)計的程序盡快得到驗證。通過對開發(fā)板上的模塊進行實驗,可以提高針對不同硬件進行編程的能力,同時通過實驗現(xiàn)象對所用的硬件也有了更深一步的認識,因此該開發(fā)板具有一定的實用價值和現(xiàn)實意義。</p><p&
28、gt;<b> 2 系統(tǒng)方案</b></p><p> 2.1 總體設(shè)計方案</p><p> 本開發(fā)板共分為十四個模塊,分別是:S51單片機主控制器模塊、鍵盤模塊、AD模塊、DA模塊、DS1302時鐘模塊、測溫模塊、MAX232模塊、MAX485模塊、數(shù)碼管模塊、LCD1602模塊、LCD12864模塊、下載器模塊、流水燈模塊、蜂鳴器模塊。其中以S51單片機作
29、為核心控制器;鍵盤模塊用來向單片機輸入特定編碼的信息;AD模塊用來實現(xiàn)模數(shù)轉(zhuǎn)換;DA模塊用來實現(xiàn)DA轉(zhuǎn)換;DS1302時鐘模塊用來實現(xiàn)實時時鐘;測溫模塊用來測量環(huán)境溫度;RS232模塊和RS485模塊通過電平轉(zhuǎn)換實現(xiàn)通信;數(shù)碼管模塊用來顯示簡單的數(shù)字、字母;LCD1602模塊用來顯示字母、數(shù)字、符號;LCD12864模塊用來顯示圖像、符號、漢字;下載器模塊用來實現(xiàn)S51單片機的ISP在線編程;流水燈模塊用來顯示單片機I/O口電平的變化;
30、蜂鳴器模塊用來發(fā)出聲音。</p><p><b> 2.2 設(shè)計原則</b></p><p> 開發(fā)板系統(tǒng)的擴展和配置應(yīng)遵循以下設(shè)計原則: </p><p> (1)盡可能選擇典型電路,并符合單片機常規(guī)用法。為硬件系統(tǒng)的標(biāo)準(zhǔn)化、模塊化打下良好的基礎(chǔ);</p><p> (2)系統(tǒng)擴展與外圍設(shè)備的配置水平應(yīng)充分滿足
31、應(yīng)用系統(tǒng)的功能要求,并留有適當(dāng)余地,以便進行二次開發(fā); </p><p> (3)硬件結(jié)構(gòu)應(yīng)結(jié)合應(yīng)用軟件方案一并考慮。硬件結(jié)構(gòu)與軟件方案會產(chǎn)生相互影響,考慮的原則是:軟件能實現(xiàn)的功能盡可能由軟件實現(xiàn),以簡化硬件結(jié)構(gòu)。但必須注意,由軟件實現(xiàn)的硬件功能,一般響應(yīng)時間比硬件實現(xiàn)長,且占用CPU時間;</p><p> (4)系統(tǒng)中的相關(guān)器件要盡可能做到性能匹配。如選用CMOS芯片單片機構(gòu)成低
32、功耗系統(tǒng)時,系統(tǒng)中所有芯片都應(yīng)盡可能選擇低功耗產(chǎn)品; </p><p> (5)可靠性及抗干擾設(shè)計是硬件設(shè)計必不可少的一部分,它包括芯片、器件選擇、去耦濾波、印刷電路板布線、通道隔離等;</p><p> (6)單片機外圍電路較多時,必須考慮其驅(qū)動能力。驅(qū)動能力不足時,系統(tǒng)工作不可靠,可通過增設(shè)線驅(qū)動器增強驅(qū)動能力或減少芯片功耗來降低總線負載; </p><p>
33、; (7)盡量朝“單片”方向設(shè)計硬件系統(tǒng)。系統(tǒng)器件越多,器件之間相互干擾也越強,功耗也增大,也不可避免地降低了系統(tǒng)的穩(wěn)定性。</p><p><b> 3 硬件部分</b></p><p> 3.1 硬件結(jié)構(gòu)框圖</p><p> 總體硬件結(jié)構(gòu)主要包括:S51單片機主控制器模塊、鍵盤模塊、AD模塊、DA模塊、DS1302時鐘模塊、測溫模
34、塊、MAX232模塊、MAX485模塊、數(shù)碼管模塊、LCD1602模塊、LCD12864模塊、下載器模塊、流水燈模塊、蜂鳴器模塊。硬件結(jié)構(gòu)框圖如圖3-1所示: </p><p> 圖3-1 總體硬件結(jié)構(gòu)框圖</p><p> 3.2 硬件電路設(shè)計</p><p> 3.2.1 S51單片機主控制模塊</p><p> S51單片機
35、最小系統(tǒng)包括:MCU、復(fù)位電路、晶振電路。原理圖如圖3-2所示: </p><p> 圖3-2 S51單片機主控制模塊原理圖</p><p> 采用按鍵復(fù)位方式,選取晶振為12MHZ,系統(tǒng)機器周期為1us。</p><p> 3.2.2 鍵盤模塊</p><p> 在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩
36、陣形式,如圖3-3所示:</p><p> 圖3-3 鍵盤模塊原理圖</p><p> JP7用來連接P2口與矩陣鍵盤模塊,在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P2口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一
37、鍵(9鍵),在需要的按鍵數(shù)較多時,采用矩陣法來做鍵盤是合理的。</p><p> 3.2.3 AD模塊</p><p> a ADC0832簡介</p><p> A/D轉(zhuǎn)換在單片機接口中應(yīng)用廣泛,串行A/D轉(zhuǎn)換器具有功耗低、性價比較高、芯片引腳少等特點。ADC0832是NS(National Semiconductor)公司生產(chǎn)的具有Microwire/P
38、lus串行接口的8位A/D轉(zhuǎn)換器,通過三線接口與單片機連接,適宜在袖珍式智能儀器中使用。主要性能指標(biāo)有:功耗低,只有15mW;8位分辨率,逐次逼近型,基準(zhǔn)電壓為5V;輸入模擬信號電壓范圍為0~5V;輸入和輸出電平與TTL和CMOS兼容;在250kHz時鐘頻率時,轉(zhuǎn)換時間為32us;具有兩個可供選擇的模擬輸入通道。</p><p> ADC0832有DIP和SOIC兩種封裝,DIP封裝的,ADC0832引腳排列如
39、圖3-4所示:</p><p> 圖3-4 ADC0832引腳圖</p><p><b> 各引腳說明如下:</b></p><p> CS—片選端,低電平有效;</p><p> CH0,CH1—兩路模擬信號輸入端;</p><p> D I—兩路模擬輸入選擇輸入端;</p&g
40、t;<p> DO—模數(shù)轉(zhuǎn)換結(jié)果串行輸出端;</p><p> CLK—串行時鐘輸入端;</p><p> VCC /REF—正電源端和基準(zhǔn)電壓輸入端;</p><p><b> GND—電源地。</b></p><p> ADC0832工作時,模擬通道的選擇及單端輸入和差分輸入的選擇,都取決于輸
41、入時序的配置位。當(dāng)差分輸入時,要分配輸入通道的極性,兩個輸入通道的任何一個通道都可作為正極或負極。</p><p><b> b 硬件實現(xiàn)</b></p><p> AD模塊的原理圖如圖3-5所示:</p><p> 圖3-5 AD模塊原理圖</p><p> 單片機與ADC0832通過P2.5、P2.6、P2.
42、7相連,分別為時鐘信號線、數(shù)據(jù)輸出信號線、片選信號線。開發(fā)板可外接模擬信號,也可由電位器R7、R8將+5V分壓后提供兩路模擬信號。 </p><p> 3.2.4 DA模塊</p><p> a TLC5615簡介 </p><p> TLC5615為美國德州儀器公司1999年推出的產(chǎn)品,是具有串行接口的數(shù)模轉(zhuǎn)換器,其輸出為電壓型,最大輸出電壓是基準(zhǔn)電壓值的
43、兩倍。帶有上電復(fù)位功能,即把DAC寄存器復(fù)位至全零。TLC5615性能價格比高,目前在國內(nèi)市場很方便購買。主要性能指標(biāo)有:10位CMOS電壓輸出;5V單電源供電;與CPU三線串行接口;最大輸出電壓可達基準(zhǔn)電壓的二倍;輸出電壓具有和基準(zhǔn)電壓相同極性;建立時間12.5μs;內(nèi)部上電復(fù)位;低功耗,最大僅1.75mW。 </p><p> TLC5615有小型和塑料DIP封裝,DIP封裝的TLC5615芯片引腳排列如圖
44、3-6所示: </p><p> 圖3-6 TLC5615引腳排列圖</p><p> 引腳功能說明如下: </p><p> DIN—串行數(shù)據(jù)輸入端; </p><p> SCLK—串行時鐘輸入端; </p><p> CS—芯
45、片選用通端,低電平有效; </p><p> DOUT—用于級聯(lián)時的串行數(shù)據(jù)輸出端; </p><p> AGND—模擬地; </p><p> REFIN—基準(zhǔn)電壓輸入端; </p><p> OUT—DAC模擬電壓輸出端; </p><p> VDD—正電源端。 </p><p>
46、<b> b 硬件實現(xiàn)</b></p><p> DA模塊的原理圖如圖3-7所示:</p><p> 圖3-7 DA模塊原理圖</p><p> 單片機與TLC5615通過P2.0、P2.1、P2.2相連,分別為片選信號線、時鐘信號線、數(shù)據(jù)輸入信號線。TLC5615轉(zhuǎn)換后的模擬信號通過OUT端輸出。</p><p&g
47、t; 3.2.5 DS1302時鐘模塊</p><p> a DS1302簡介</p><p> DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、周日、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達2.5~5.5V。采用三線接口與MCU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部
48、有一個31*8的用于臨時性存放數(shù)據(jù)的RAM寄存器。主要性能指標(biāo)有:31字節(jié)帶后備電池的RAM用于數(shù)據(jù)存儲;串行I/O口,管腳數(shù)量少;寬范圍工作電壓:2.0~5.5V;工作電壓2.0V時,電流小于300nA;讀/寫時鐘或RAM數(shù)據(jù)時有兩種傳送方式—單字節(jié)傳送和突發(fā)模式傳送;8 腳DIP封裝或其他可選封裝方式;簡單的3線接口;與TTL 兼容(Vcc = 5V);可選工業(yè)級溫度范圍:- 40℃~+ 85℃;與DS1202 兼容。</p&
49、gt;<p> DS1302 的引腳如圖3-8所示:</p><p> 圖3-8 DS1302引腳圖</p><p> Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2高于Vcc1 + 0. 2V時,Vcc2給DS1302供電。當(dāng)Vcc2低于Vcc1時,DS1302由Vcc
50、1 供電。X1、X2為振蕩源,外接32. 768 kHz晶振。I/O為串行數(shù)據(jù)輸入/輸出端(雙向),SCL K為時鐘輸入端。RST是復(fù)位片選線,通過把RST輸入驅(qū)動置為高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:RST接通控制邏輯,允許地址/命令序列送入移位寄存器;RST提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許DS1302進行操作。如果在傳送過程中置RST為低電平,則會終止此次數(shù)據(jù)傳
51、送,并且I/ O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc高于2. 5V之前,RST必須保持低電平。只有在SCL K為低電平時,才能將RST置為高電平。</p><p><b> b 硬件實現(xiàn)</b></p><p> DS1302時鐘模塊的原理圖如圖3-9所示:</p><p> 圖3-9 DS1302時鐘原理圖</p><
52、;p> 單片機與DS1302通過P3.5、P3.6、P3.7相連,分別為時鐘信號線、輸入輸出線、復(fù)位信號線。DS1302的晶振引腳連接32768HZ的晶振。</p><p> 3.2.6 測溫模塊</p><p> a DS18B20簡介</p><p> DS18B20 是DALLAS 半導(dǎo)體公司生產(chǎn)的,是一種單總線溫度傳感器,屬于新一代適配微處理
53、器的智能溫度傳感器,有兩種封裝形式分別為3腳PR-35封裝和16腳SSOP封裝。本文采用的是3腳PR-35封裝,其具有以下特點:采用了單總線技術(shù),傳感器直接以二進制輸出被測溫度,可通過串行口線,也可與單機通過I/O 口連接;測量溫度范圍為:- 55℃~+125℃,測量精度高達+0.5℃;內(nèi)含寄生電源,在兩線方式下可通過數(shù)據(jù)線提供寄生電源,而不需要再單獨供電;轉(zhuǎn)換時間在分辨率為12位(即0.0625℃)時最大為750ms;用戶可分別對每個
54、器件設(shè)定溫度上下限;DS18B20 在使用時不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi);電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作;每個DSl8B20 器件對應(yīng)一個唯一的64 位長的序號,該序號值存放ROM中,可通過序號匹配實現(xiàn)多點測溫。引腳排列如圖3-10所示: </p><p> VDD:接電源引腳,電源供電3.0~5.5V;</p><p>
55、; DQ:數(shù)據(jù)的輸入和輸出引腳;</p><p><b> GND:接地</b></p><p> 圖3-10 DS18B20引腳圖</p><p><b> b 硬件實現(xiàn)</b></p><p> DS18b20溫度傳感器模塊的原理圖如圖3-11所示:</p><p&
56、gt; 圖3-11 DS18b20溫度傳感器模塊原理圖</p><p> 單片機與DS18B20通過P3.7相連,作為數(shù)據(jù)/控制信號線。</p><p> 3.2.7 串行通信模塊</p><p> a RS232串行通信模塊</p><p> RS232是由電子工業(yè)協(xié)會(Electronic Industries Associa
57、tion,EIA) 所制定的異步傳輸標(biāo)準(zhǔn)接口。對于一般雙工通信,僅需幾條信號線就可實現(xiàn),如一條發(fā)送線、一條接收線及一條地線。</p><p> RS232與TTL電路之間需要進行電平和邏輯關(guān)系的變換。實現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。MAX232芯片可完成TTL←→RS232雙向電平轉(zhuǎn)換。</p><p> MAX232芯片是RS232標(biāo)準(zhǔn)接口芯片,使用+5v單電源供
58、電。是PC機與單片機串口進行通訊的電平轉(zhuǎn)換芯片。內(nèi)部結(jié)構(gòu)基本可分三個部分:</p><p> 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS232串口電平的需要。</p><p> 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(
59、T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS232數(shù)據(jù)從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。</p><p> 第三部分是供電。15腳DNG、16腳V
60、CC(+5V)。</p><p> MAX232模塊的原理圖如圖3-12所示:</p><p> 圖3-12 MAX232模塊的原理圖</p><p> 單片機與MAX232通過P3.0、P3.1相連,分別為發(fā)送線、接收線,另外單片機要與MAX232共地。</p><p> b RS485串行通信模塊</p><
61、p> RS232由于傳輸速率慢,傳輸距離短,傳輸信號易受外界的干擾等缺點。新的串行通訊接口標(biāo)準(zhǔn)RS-449被制定出來,與之相對應(yīng)的是RS-485的電氣標(biāo)準(zhǔn)。RS-485是美國電氣工業(yè)聯(lián)合會(EIA)制定的利用平衡雙絞線作傳輸線的多點通訊標(biāo)準(zhǔn)。它采用差分信號進行傳輸;最大傳輸距離可以達到1.2 km;最大可連接32個驅(qū)動器和收發(fā)器;接收器最小靈敏度可達±200 mV;最大傳輸速率可達2.5 Mb/s。由此可見,RS-48
62、5協(xié)議正是針對遠距離、高靈敏度、多點通訊制定的標(biāo)準(zhǔn)。MAX485的引腳和結(jié)構(gòu)如下圖3-13所示:</p><p> 圖3-13 MAX485的引腳和結(jié)構(gòu)</p><p> 該芯片采用單一電源+5 V工作,額定電流為300 μA,采用半雙工通訊方式。它完成將TTL電平轉(zhuǎn)換為RS-485電平的功能。MAX485芯片的結(jié)構(gòu)和引腳都非常簡單,內(nèi)部含有一個驅(qū)動器和接收器。RO和DI端分別為接收
63、器的輸出和驅(qū)動器的輸入端,與單片機連接時只需分別與單片機的RXD和TXD相連即可;/RE和DE端分別為接收和發(fā)送的使能端,當(dāng)/RE為邏輯0時,器件處于接收狀態(tài);當(dāng)DE為邏輯1時,器件處于發(fā)送狀態(tài),因為MAX485工作在半雙工狀態(tài),所以只需用單片機的一個管腳控制這兩個引腳即可;A端和B端分別為接收和發(fā)送的差分信號端,當(dāng)A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為0。在與單片機連接時接線非常簡單。只需要一
64、個信號控制MAX485的接收和發(fā)送即可。同時將A和B端之間加匹配電阻,一般可選100Ω的電阻。</p><p> MAX485模塊的原理圖如圖3-14所示:</p><p> 圖3-14 MAX485模塊原理圖</p><p> 單片機與MAX485通過P3.0、P3.1、P3.2相連,分別為接收輸出線、發(fā)送輸入線、發(fā)送/接收使能信號線。</p>
65、<p> 3.2.8 顯示模塊</p><p><b> a 數(shù)碼管模塊</b></p><p> (1) 數(shù)碼管驅(qū)動采用8位數(shù)據(jù)緩沖器74HC573,其功能表如下表3-1所示:</p><p> 表3-1 74HC573功能表</p><p><b> 注意:</b><
66、;/p><p><b> H=高電平</b></p><p> h=要保持高電平到低電平轉(zhuǎn)變時一個建立周期以上的高電平</p><p><b> L=低電平</b></p><p> I=要保持高電平到低電平轉(zhuǎn)變時一個建立周期以上的低電平</p><p><b>
67、; Z=高組態(tài) </b></p><p> 選用74HC573增強驅(qū)動能力,提高數(shù)碼管顯示亮度。A-DP對應(yīng)八段數(shù)碼管的各段,當(dāng)A-DP中有低電平輸出時,被低電平片選中的數(shù)碼管的相應(yīng)段點亮。</p><p><b> (2) 硬件實現(xiàn):</b></p><p> 數(shù)碼管模塊的原理圖如圖3-15所示:</p>
68、<p> 圖3-15 數(shù)碼管模塊原理圖</p><p> 單片機與74HC573通過P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7相連,作為段碼信號線;與74HC138通過P1.0、P1.1、P1.2相連,作為片選信號線。</p><p> b LCD1602模塊</p><p> (1) LCD1602簡介:<
69、;/p><p> LCD1602點陣字符液晶模塊是由點陣字符液晶顯示器件和專用的行列驅(qū)動器,控制器及必要的連接件,結(jié)構(gòu)件裝配而成,可以顯示數(shù)字和英文字符。</p><p> LCD1602采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表3-2所示:</p><p> 表3-2 LCD1602引腳接口圖</p><p>
70、 續(xù)表3-2 LCD1602引腳接口圖</p><p><b> (2) 硬件實現(xiàn):</b></p><p> LCD1602模塊的原理圖如圖3-16所示:</p><p> 圖3-16 LCD1602模塊原理圖</p><p> 單片機與LCD1602通過P0.0、P0.1、P0.2、P0.3、P0.4、
71、P0.5、P0.6、P0.7、P1.0、P1.1、P1.2相連,P0.0—P0.7為數(shù)據(jù)線,P1.0、P1.1、P1.2為控制線。</p><p> c LCD12864模塊</p><p> (1) LCD12864簡介:</p><p> LCD12864漢字圖形點陣液晶顯示模塊可以顯示漢字、圖形、ASCⅡ碼和自定義字形,內(nèi)置8192個16*16的中文漢字
72、、128個8*16字符、以及64*256點陣顯示RAM,控制器為ST7920,具有串/并接口方式,其內(nèi)部含有中文字庫,LCD12864顯示屏為128*64點陣,可顯示4行,每行8個字,模塊內(nèi)含有多種軟件功能:光標(biāo)顯示、畫面移位、自定義字符、反白、清除、關(guān)閉顯示和睡眠模式等,可方便地對模塊進行控制。模塊內(nèi)置升壓電路,無需負壓,配置LED背光。3V低電平工作時,只需一個20K的電阻與Vo的地相接。適用于3.3V~5V寬范圍工作電壓的系統(tǒng)。&
73、lt;/p><p> RS,R/W的配合決定的4種模式見表3-3:</p><p> 表3-3 RS,R/W決定的控制模式</p><p> E信號的狀態(tài)產(chǎn)生的動作見表3-4:</p><p> 表3-4 E信號的狀態(tài)產(chǎn)生的動作</p><p> LCD12864的并行接口見表3-5:</p>&
74、lt;p> 表3-5 LCD12864的并行接口</p><p> *注釋1:如在實際應(yīng)用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VCC”用焊錫短接。</p><p> *注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合可將該端懸空。 </p><p> *注釋3:如背光和模塊共用一個電源,可以將模塊上的
75、JA、JK用焊錫短接。</p><p><b> (2) 硬件實現(xiàn):</b></p><p> 開發(fā)板上LCD12864模塊的原理圖如圖3-17所示:</p><p> 圖3-17 LCD12864模塊原理圖</p><p> 單片機與LCD12864通過P0.0、P0.1、P0.2、P0.3、P0.4、P0
76、.5、P0.6、P0.7、P1.0、P1.1、P1.2相連,P0.0—P0.7為數(shù)據(jù)線,P1.0、P1.1、P1.2為控制線。</p><p> 3.2.9 下載器模塊</p><p> ATmega8是基于增強的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間, ATmega8 的數(shù)據(jù)吞吐率高達 1MIPS/MHz,從而可以緩減系統(tǒng)在功
77、耗和處理速度之間的矛盾。</p><p> ATmega8有如下特點:8K字節(jié)的系統(tǒng)內(nèi)可編程 Flash(具有同時讀寫的能力,即 RWW),512 字節(jié) EEPROM,1K 字節(jié) SRAM,32個通用I/O口線,32 個通用工作寄存器,三個具有比較模式的靈活的定時器 / 計數(shù)器 (T/C), 片內(nèi) / 外中斷,可編程串行 USART,面向字節(jié)的兩線串行接口,10 位6 路(8 路為 TQFP與MLF 封裝)AD
78、C,具有片內(nèi)振蕩器的可編程看門狗定時器,一個SPI 串行端口,以及五種可以通過軟件進行選擇的省電模式。工作于空閑模式時 CPU 停止工作,而 SRAM、T/C、SPI 端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式時晶體振蕩器停止振蕩,所有功能除了中斷和硬件復(fù)位之外都停止工作;在省電模式下,異步定時器繼續(xù)運行,允許用戶保持一個時間基準(zhǔn),而其余功能模塊處于休眠狀態(tài);ADC噪聲抑制模式時終止CPU 和除了異步定時器與ADC 以外所有 I/O 模塊的工作
79、,以降低ADC 轉(zhuǎn)換時的開關(guān)噪聲;Standby 模式下只有晶體或諧振振蕩器運行,其余功能模塊處于休眠狀態(tài),使得器件只消耗極少的電流,同時具有快速啟動能力。 </p><p> ATMEGA8L的引腳配置如下圖3-18所示: </p><p> 圖3-18 ATMEGA8L的引腳配置圖</p><p> 下載器模塊原理圖如圖3-19所示:</p>
80、<p> 圖3-19下載器模塊原理圖</p><p> 下載器模塊實現(xiàn)將USB信號轉(zhuǎn)換為能通過SPI協(xié)議傳輸?shù)男盘?,從而實現(xiàn)對單片機的編程。</p><p> 3.2.10 其他模塊</p><p> 流水燈模塊、蜂鳴器模塊的原理圖如圖3-20、圖3-21所示:</p><p> 圖3-20 流水燈模塊原理圖
81、 圖3-21蜂鳴器模塊原理圖</p><p> 如圖3-20所示流水燈模塊包含8個LED燈,單片機的P0口接10K上拉電阻,八個LED的負極依次連接單片機P0口的8個引腳,八個LED的正極依次與510歐姆的排阻的八個端子相連,排阻的公共端連接短路插針的一端,短路插針的另一端與電源相連,因此,若將短路插針用短路帽短路,則八個LED的正極上拉到高電平, LED低電平點亮。</p><
82、p> 如圖3-21所示,單片機的P3.4與Q1的基極通過1K歐姆電阻連接,當(dāng)P3.4為高電平時,Q1導(dǎo)通,Q1的發(fā)射極與集電極導(dǎo)通,將發(fā)射極下拉為低電平,蜂鳴器兩端出現(xiàn)電位差,蜂鳴器發(fā)聲;當(dāng)P3.4為低電平時,Q1不導(dǎo)通,蜂鳴器兩端沒有電流流過,蜂鳴器不發(fā)聲。</p><p> 總結(jié):對硬件的設(shè)計采用模塊化設(shè)計方法,采用的電路為典型應(yīng)用電路,資源配置合理,通過使用短路帽連接相應(yīng)的功能模塊,降低了功耗,減
83、弱了器件之間的相互干擾,提高了系統(tǒng)穩(wěn)定性,硬件工作穩(wěn)定可靠。</p><p><b> 4 軟件部分</b></p><p> 4.1 整體程序設(shè)計</p><p> 軟件部分主要包括數(shù)碼管程序、鍵盤程序、AD程序、DA程序、DS1302時鐘程序、DS18b20溫度傳感器程序、串行通信程序、顯示程序和其他簡單模塊程序。</p>
84、<p> 4.2 分模塊程序設(shè)計</p><p> 依據(jù)開發(fā)板上硬件資源,進行程序的開發(fā),在軟件的設(shè)計過程中,采用模塊化的設(shè)計方法,依次分別為每個模塊設(shè)計軟件。下面分別介紹以上各個模塊的程序設(shè)計。</p><p> 4.2.1 鍵盤模塊程序設(shè)計</p><p> 矩陣式鍵盤的按鍵識別方法為:</p><p> 判斷鍵
85、盤中有無鍵按下:將全部行線KEY0-KEY3置低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。 </p><p> 判斷閉合鍵所在的位置:在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再
86、逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。 </p><p> 矩陣式鍵盤的按鍵編碼處理:將行線和列線依次進行數(shù)值編碼,然后進行一定規(guī)則的運算,就是對鍵值的編碼。 </p><p> 鍵盤程序流程圖如圖4-1所示:</p><p> 圖4-1 鍵盤程序流程圖</p><p> 鍵盤采用
87、的是行掃描法確定鍵值,在程序中具體是這樣掃描鍵盤的:將鍵盤掃描碼送入P2口,先是使行線依次為低電平,順序為KEY1、KEY2、KEY3、KEY4,在某一行線為低電平的狀態(tài)下,讀取P2口的狀態(tài),將狀態(tài)值依次右移四位,這樣便將KEY5-KEY8的狀態(tài)值移到了低四位,再將高四位狀態(tài)值置一,將處理后的狀態(tài)值與當(dāng)前的掃描碼比較,如果此時的狀態(tài)值與四個掃描碼中的一個相同,證明有鍵按下,此時保存掃描碼的數(shù)組下標(biāo)和與狀態(tài)值相等的掃描碼數(shù)組下標(biāo),并將兩個
88、值按照鍵盤編碼值進行某一規(guī)則的四則運算后返回給主函數(shù)中的某一變量;如果在全部行線依次為低電平情況下的狀態(tài)值與四個掃描碼中沒有一個相同,證明沒有鍵按下,返回-1到主函數(shù)。在主函數(shù)中調(diào)用鍵盤掃描函數(shù)對鍵盤進行掃描,判斷返回鍵值,若返回值不為-1,證明右鍵按下,在某一個數(shù)碼管上顯示鍵值,若返回值為-1,證明沒有鍵按下,顯示先前按下的按鍵鍵值。</p><p> 4.2.2 AD模塊程序設(shè)計</p>&
89、lt;p> a ADC0832的工作時序</p><p> ADC0832的工作時序圖如圖4-2所示:</p><p> 圖4-2 ADC0832的工作時序圖</p><p> 當(dāng)CS由高變低時,選中ADC0832。在時鐘的上升沿,D I端的數(shù)據(jù)移ADC0832內(nèi)部的多路地址移位寄存器。在第一個時鐘期間, D I為高,表示啟動位,緊接著輸入兩位配置位
90、。當(dāng)輸入啟動位和配置位后,選通輸入模擬通道,轉(zhuǎn)換開始。轉(zhuǎn)換開始后,經(jīng)過一個時鐘周期延遲,以使選定的通道穩(wěn)定。ADC0832 接著在第4個時鐘下降沿輸出轉(zhuǎn)換數(shù)據(jù)。數(shù)據(jù)輸出時先輸出最高位(D7~D0);輸出完轉(zhuǎn)換結(jié)果后,又以最低位開始重新輸出一遍數(shù)據(jù)(D7~D0),兩次發(fā)送的最低位共用。當(dāng)片選CS為高時,內(nèi)部所有寄存器清0,輸出變?yōu)楦咦钁B(tài)。如果要再進行一次模/數(shù)轉(zhuǎn)換,片選CS必須再次從高向低跳變,后面再輸入啟動位和配置位。</p>
91、;<p><b> b AD程序流程圖</b></p><p> AD程序流程圖如4-3所示:</p><p> 圖4-3 AD程序流程圖</p><p> 依據(jù)操作時序?qū)DC0832編程,包括轉(zhuǎn)換啟動和AD值讀取函數(shù),在AD轉(zhuǎn)換函數(shù)中可以選擇ADC0832的轉(zhuǎn)換通道和輸入方式,即通道0或通道1,單通道輸入或差分輸入。
92、在主函數(shù)中循環(huán)讀取某一通道的模擬電壓值,將采集到的數(shù)據(jù)由16進制轉(zhuǎn)換為ASCLL碼。并在液晶或數(shù)碼管上顯示出來。</p><p> 4.2.3 DA模塊程序設(shè)計</p><p> a TLC5615的工作時序 </p><p> TLC5615的工作時序如圖4-4所示:</p><p> 圖4-4 TLC5615的時序圖</
93、p><p> 由時序圖可以看出,當(dāng)片選CS為低電平時,輸入數(shù)據(jù)DIN由時鐘SCLK同步輸入或輸出,而且最高有效位在前,低有效位在后。輸入時SCLK的上升沿把串行輸入數(shù)據(jù)DIN移入內(nèi)部的16位移位寄存器,SCLK的下降沿輸出串行數(shù)據(jù)DOUT,片選CS的上升沿把數(shù)據(jù)傳送至DAC寄存器。當(dāng)片選CS為高電平時,串行輸入數(shù)據(jù)DIN不能由時鐘同步送入移位寄存器;輸出數(shù)據(jù)DOUT保持最近的數(shù)值不變而不進入高阻狀態(tài)。由此要想串行輸
94、入數(shù)據(jù)和輸出數(shù)據(jù)必須滿足兩個條件:第一時鐘SCLK的有效跳變;第二片選CS為低電平。這里,為了使時鐘的內(nèi)部饋通最小,當(dāng)片選CS為高電平時,輸入時鐘SCLK應(yīng)當(dāng)為低電平。 </p><p> 串行數(shù)模轉(zhuǎn)換器TLC5615的使用有兩種方式,即級聯(lián)方式和非級聯(lián)方式。如不使用級聯(lián)方式,DIN只需輸入12位數(shù)據(jù)。DIN輸入的12位數(shù)據(jù)中,前10位為TLC5615輸入的D/A轉(zhuǎn)換數(shù)據(jù),且輸入時高位在前,低位在后,后兩位必須
95、寫入數(shù)值為零的低于LSB的位,因為TLC5615的DAC輸入鎖存器為12位寬。如果使用TL5615的級聯(lián)功能,來自DOUT的數(shù)據(jù)需要輸入16位時鐘下降沿,因此完成一次數(shù)據(jù)輸入需要16個時鐘周期,輸入的數(shù)據(jù)也應(yīng)為16位。輸入的數(shù)據(jù)中,前4位為高虛擬位,中間10位為D/A轉(zhuǎn)換數(shù)據(jù),最后2位為低于LSB的位即零。</p><p><b> b DA程序流程圖</b></p><
96、;p> DA程序流程圖如圖4-5所示:</p><p> 圖4-5 DA程序流程圖</p><p> 4.2.4 DS1302時鐘模塊程序設(shè)計</p><p> a DS1302的工作時序</p><p> DS1302 的復(fù)位特征和時鐘控制要求:復(fù)位(~RST) 輸入有兩種功能:首先,用于接通控制邏輯,允許地址/命令序列送
97、入移位寄存器;其次,用于終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送。當(dāng)為~RST高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302 進行操作。如果在傳送過程中~RST置為低電平,則會終止此次數(shù)據(jù)傳送,并且I/ O 引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.0之前,~RST必須保持低電平。另外,當(dāng)~RST為高電平時,SCLK必須為低電平。</p><p> DS1302 的數(shù)據(jù)輸入輸出:</p><p&g
98、t; 向DS1302 寫入數(shù)據(jù)時,數(shù)據(jù)在控制字節(jié)輸入后的下一個SCLK周期的上升沿被寫入,多余的SCLK將被忽略。數(shù)據(jù)寫入時從低位(位0) 開始;同樣,從DS1302 讀取數(shù)據(jù)時,數(shù)據(jù)在緊跟控制字節(jié)后的下一個SCLK的下降沿讀出,讀出數(shù)據(jù)時也是從低位(0位) 到高位(7位) ,只要~RST 保持高電平,額外的SCLK將導(dǎo)致數(shù)據(jù)字節(jié)的持續(xù)讀出,這個特性用于實現(xiàn)該芯片的突發(fā)讀模式。數(shù)據(jù)讀寫時序如圖4-6所示:</p><
99、;p> 圖4-6 DS1302的讀寫時序</p><p> 突發(fā)模式下,可以一次性讀出所有日歷時鐘數(shù)據(jù)或RAM數(shù)據(jù)。</p><p> b DS1302的寄存器</p><p> DS1302 共有12 個寄存器,其中有7 個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD 碼格式。其日歷、時間寄存器及其控制字見表4-1:</p><
100、p> 表4-1 DS1302的寄存器</p><p> c DS1302時鐘程序流程圖 </p><p> DS1302時鐘程序流程圖如圖4-7所示:</p><p> 圖4-7 DS1302時鐘程序流程圖</p><p> 在程序中定義了一個結(jié)構(gòu)體,用來存儲秒、分、時、星期、日、月、年信息,對DS1302的寄存器地址進行
101、了聲明,方便在編程時使用,依據(jù)DS1302讀寫單字節(jié)數(shù)據(jù)時序圖編寫實時時鐘讀寫一個字節(jié)的函數(shù),依據(jù)DS1302讀寫數(shù)據(jù)時序圖編寫向DS1302某地址寫入數(shù)據(jù)和從DS1302某地址讀出數(shù)據(jù)的函數(shù),從DS1302某地址讀出數(shù)據(jù)可以獲取時鐘芯片的時鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組中,這樣單片機就可以實時的從DS1302獲取時間了,向DS1302某地址寫入數(shù)據(jù)可以實現(xiàn)單片機對DS1302進行時間的初始化和修改操作。</p><p&
102、gt; 4.2.5 測溫模塊程序設(shè)計</p><p> a DS18B20的工作時序</p><p> 單總線在任何時刻只能有一個控制信號或數(shù)據(jù),數(shù)據(jù)要能在單片機和單總線芯片之間實現(xiàn)可靠的傳送,遵循單總線處理次序通信協(xié)議,確保數(shù)據(jù)有條不紊地傳送,單總線處理次序圖如圖4-8所示:</p><p> 圖4-8 單總線處理次序圖</p><p
103、> 處理次序操作時,一般有以下4 個過程:(1)初始化?;趩慰偩€上的所有傳輸過程都是以初始化開始的,初始化過程由主機發(fā)出的復(fù)位脈沖和從機的應(yīng)答脈沖組成。應(yīng)答脈沖使主機知道總線上有從機設(shè)備,且準(zhǔn)備就緒。(2)ROM 操作命令。在主機檢測到應(yīng)答信號后,主機可以發(fā)出ROM 操作命令之一。所有的ROM 命令都是8 位,而且這些命令與各個從機設(shè)備的唯一64位ROM代碼相關(guān),允許主機在單總線上連接多個從機設(shè)備時,指定操作某個從機設(shè)備。可發(fā)
104、送的ROM 命令有:讀ROM,匹配ROM,搜索ROM,跳過ROM,超ROM,超速跳過ROM,條件查找ROM。(3)RAM 操作命令。當(dāng)成功執(zhí)行上述某個ROM 操作命令后,總線可以發(fā)出一個RAM 命令來訪問和控制RAM??砂l(fā)送的RAM 命令有:寫暫存RAM,讀暫存RAM,復(fù)制暫存RAM,數(shù)據(jù)轉(zhuǎn)換,回讀E2PROM,讀電源模式。(4)數(shù)據(jù)交換。主機和從機之間進行數(shù)據(jù)的傳輸,所有的數(shù)據(jù)都是從低位開始讀寫的。</p><p&
105、gt; 所有的單總線器件要求采用嚴格的通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號:復(fù)位脈沖、應(yīng)答脈沖、寫0、寫1、讀0 和讀1。這些信號當(dāng)中,除了應(yīng)答信號是由從機發(fā)給主機的以外,其他的信號都是由主機發(fā)出同步信號,并且發(fā)送所有的命令和數(shù)據(jù)都是從字節(jié)的低位開始的。</p><p> 單總線上的所有通信都是以初始化時序開始,包括主機發(fā)出的復(fù)位脈沖及從機的應(yīng)答脈沖,初始化時序如圖4-9所示:</p>
106、;<p> 圖4-9 初始化時序</p><p> 當(dāng)主機把數(shù)據(jù)從邏輯高電平拉到邏輯低電平時,寫時序開始,寫“1”和“0”, 寫時序如圖4-10所示:</p><p><b> 圖4-10 寫時序</b></p><p><b> 圖4-11 讀時序</b></p><p>&
107、lt;b> b 測溫程序流程圖</b></p><p> 測溫程序流程圖如圖4-12所示: </p><p> 圖4-12 DS18b20溫度傳感器程序流程圖</p><p> 根據(jù)初始化時序?qū)S18B20進行初始化,根據(jù)讀寫時序?qū)S18B20進行讀寫編程,另外,在循環(huán)讀取溫度數(shù)據(jù)后,要將讀取的溫度數(shù)據(jù)轉(zhuǎn)換為可以在液晶上顯示的液
108、晶字符。</p><p> 4.2.6 串行通信模塊程序設(shè)計</p><p> a RS232通信模塊程序設(shè)計</p><p> 單片機通過MAX232與PC機通訊程序流程圖4-13所示: </p><p> 4-13 單片機通過MAX232與PC機通訊程序流程圖</p><p> 在PC機串口調(diào)試助手
109、的發(fā)送窗口發(fā)送數(shù)據(jù)到單片機,單片機接收到數(shù)據(jù)后發(fā)送給PC機,并在串口調(diào)試助手接收窗口中顯示。 </p><p> b RS485通信模塊程序設(shè)計</p><p> 單片機通過MAX485與PC機通訊程序流程圖如圖4-14所示:</p><p> 4-14 單片機通過MAX485與PC機通訊程序流程圖</p><p> 在程序中,當(dāng)串
110、口要接收數(shù)據(jù)時,使P3.2為低電平,當(dāng)串口要發(fā)送數(shù)據(jù)時,使P3.2為高電平。在PC機串口調(diào)試助手的發(fā)送窗口發(fā)送數(shù)據(jù)到單片機,單片機接收到數(shù)據(jù)后發(fā)送給PC機,并在串口調(diào)試助手接收窗口中顯示。</p><p> 4.2.7 顯示模塊程序設(shè)計</p><p><b> a 數(shù)碼管程序</b></p><p> 數(shù)碼管的顯示方式可以分為動態(tài)和靜
111、態(tài)的。動態(tài)的也叫掃描方式,是利用發(fā)光二極管的余輝效應(yīng)和人眼的視覺暫留效應(yīng)來實現(xiàn)的,只要在在一定時間內(nèi)數(shù)碼管的筆段亮的頻率夠快,人眼就看不出閃爍,一般外圍硬件較少,但是對單片機資源耗用巨大。靜態(tài)的也叫鎖存方式,單片機送出數(shù)據(jù)后控制外圍鎖存器件鎖存數(shù)據(jù),這樣數(shù)碼管筆段里的電流不變,數(shù)碼管穩(wěn)定顯示,這樣單片機可以干別的活不用管數(shù)碼管了。這種方案的優(yōu)點是對單片機的P口資源和時間耗用很少,但是數(shù)碼管的外圍輔助電路復(fù)雜。</p>&l
112、t;p> 在本程序中使用動態(tài)掃描法控制數(shù)碼管顯示,數(shù)碼管程序流程圖如圖4-15所示:</p><p> 圖4-15 數(shù)碼管程序流程圖</p><p> P0口提供數(shù)碼管顯示所需的段碼,4、3、2、1四位數(shù)字對應(yīng)的共陰數(shù)碼管的段碼分別賦給變量dis0、dis1、dis2、dis3,在主函數(shù)中,依次將dis0、dis1、dis2、dis3送至P0口,由于八個數(shù)碼管的每個段所對應(yīng)的
113、連線連在一起,只有被片選的數(shù)碼管才會點亮。因此在將段碼送至P0口的同時,還要用P1口送出位碼片選中要顯示的數(shù)碼管,這樣片選中的數(shù)碼管就會顯示特定的數(shù)字。程序中由低位到高位循環(huán)點亮數(shù)碼管顯示4、3、2、1。由于間隔時間的總和小于0.1秒,根據(jù)人眼的視覺暫留效應(yīng),四個數(shù)碼管看起來同時點亮。</p><p> b LCD1602顯示程序</p><p> 1602液晶模塊內(nèi)部的控制器共有11
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計---基于51單片機的開發(fā)板設(shè)計
- 51單片機開發(fā)板集錦
- 畢業(yè)論文-單片機開發(fā)板設(shè)計【精校排版】
- 單片機開發(fā)板設(shè)計
- 單片機開發(fā)板設(shè)計(定稿).doc
- 單片機開發(fā)板設(shè)計(初稿).doc
- 51單片機畢業(yè)論文---基于單片機的進制換算
- 基于單片機的畢業(yè)論文-- 基于51單片機的搶答器設(shè)計
- 基于單片機的畢業(yè)論文-- 基于51單片機的搶答器設(shè)計
- DB-51單片機開發(fā)板原理圖.pdf
- 單片機開發(fā)板設(shè)計(二稿).doc
- 基于51單片機的電器遙控設(shè)計畢業(yè)論文
- 基于51單片機的智能燈設(shè)計-畢業(yè)論文
- 基于51單片機的頻率合成設(shè)計畢業(yè)論文
- 第13章單片機開發(fā)板設(shè)計
- 51單片機課程設(shè)計--基于51單片機開發(fā)系統(tǒng)的pcb電路板
- 基于51單片機的智能小車畢業(yè)論文
- 畢業(yè)論文---基于51單片機的電阻測量
- 基于51單片機led流水燈設(shè)計畢業(yè)論文
- 51單片機畢業(yè)論文--基于mcs-51單片機的步進電機系統(tǒng)
評論
0/150
提交評論