版權(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> 本文設(shè)計(jì)了一種以ATMEL公司的AT89C52單片機(jī)為核心控制器的單片機(jī)學(xué)習(xí)板,板上資源主要包括溫度傳感器DS18B20模塊、蜂鳴器模塊、流水燈模塊、液晶顯示模塊、8*8點(diǎn)陣模塊等。針對(duì)各個(gè)硬件模塊開(kāi)發(fā)了相應(yīng)的軟件模塊,包括各個(gè)控制驅(qū)動(dòng)程序、溫度傳感器程序、蜂鳴器程序、跑馬燈程序、液晶顯示程序等。</p><
2、p> 開(kāi)發(fā)板可以作為主控制模塊安裝于控制系統(tǒng)中執(zhí)行控制任務(wù),也可以用作實(shí)驗(yàn)板,完成單片機(jī)各類(lèi)通用實(shí)驗(yàn),操作簡(jiǎn)單,控制結(jié)果可見(jiàn),性?xún)r(jià)比高,可以應(yīng)用于高校、科研院所的實(shí)驗(yàn)室等場(chǎng)合,具有一定的實(shí)用價(jià)值和現(xiàn)實(shí)意義。</p><p> 關(guān)鍵詞:AT89C52,DS18B20,蜂鳴器,流水燈,液晶顯示,8*8點(diǎn)陣</p><p><b> ABSTRACT</b>&l
3、t;/p><p> Design a development board based on C52 MCU ,the board has characteristics of low cost, small size, high reliability, full-featured, low-power design and easy to operate. This paper introduces the de
4、velopment process of the development board and related hardware and software design. Development board using AT89C52 of ATMEL Corporation as core controller, resources on-board include data acquisition and processing mod
5、ule, DS1302 clock module, AD Light, LCD module and keyboard module. Buzzer module</p><p> Development board can be used as the main control module installed in the control system to perform control tasks, a
6、lso can be used as experimental board, complete all kinds of universal experiments of MCU, operated simply, control results can be seen, high cost performance, can be applied to universities, research institutes, laborat
7、ories and so on, has some practical value and practical significance. </p><p> Keywords: AT89C52, DS18B20, Buzzer, AD Light, LCD, 8*8 matrix</p><p><b> 目錄</b></p><p>&
8、lt;b> 摘 要Ⅰ</b></p><p> Abstract..................................................................................................................................Ⅱ</p><p><b>
9、第1章 緒論1</b></p><p> 1.1 選題的背景與意義.....................................................................................................1</p><p> 1.2 研究的基本內(nèi)容與擬解決的主要問(wèn)題......................
10、...........................................2</p><p> 第2章 系統(tǒng)方案3</p><p> 2.1 總體設(shè)計(jì)方案3</p><p> 2.2 設(shè)計(jì)原則3</p><p> 第3章 硬件部分4</p><p> 3.1 硬件結(jié)構(gòu)框圖4</p&
11、gt;<p> 3.2 硬件電路設(shè)計(jì)5</p><p> 3.2.1 C52單片機(jī)主控制模塊5</p><p> 3.2.2 DS18B20測(cè)溫模塊5</p><p> 3.2.3 8*8共陽(yáng)點(diǎn)陣模塊6</p><p> 3.2.4 數(shù)碼管顯示模塊8</p><p> 3.2
12、.5 LCD1602模塊9</p><p> 3.2.6 LED燈模塊10</p><p> 3.2.7 蜂鳴器模塊11</p><p> 3.2.8 USB及下載器模塊11</p><p> 3.2.9 其他模塊....................................................
13、....................................................13</p><p> 第4章 軟件部分14</p><p> 4.1 整體程序設(shè)計(jì)14</p><p> 4.2 分模塊程序設(shè)計(jì)14</p><p> 4.2.1 DS18B20測(cè)溫模塊程序設(shè)計(jì)14</p>
14、<p> 4.2.2 8*8共陽(yáng)點(diǎn)陣模塊程序設(shè)計(jì)17</p><p> 4.2.3 數(shù)碼管顯示模塊程序設(shè)計(jì)18</p><p> 4.2.4 LCD1602模塊程序設(shè)計(jì)19</p><p> 4.2.5 LED燈模塊程序設(shè)計(jì).......................................................
15、.........................22</p><p> 4.2.6 蜂鳴器模塊程序設(shè)計(jì)24</p><p> 4.2.7 USB及下載器模塊程序設(shè)計(jì)25</p><p> 4.2.8 其他模塊程序設(shè)計(jì)...................................................................
16、.................27 </p><p> 第5章 開(kāi)發(fā)板設(shè)計(jì)及測(cè)試30</p><p> 5.1 開(kāi)發(fā)板PCB設(shè)計(jì)30</p><p> 5.2 開(kāi)發(fā)板測(cè)試30</p><p> 5.2.1 調(diào)試結(jié)果31</p><p><b> 第6章 結(jié)論33</b>&l
17、t;/p><p><b> 致謝34</b></p><p><b> 參考文獻(xiàn)35</b></p><p> 附錄1 LCD滾動(dòng)顯示程序36</p><p> 附錄2 數(shù)碼管模塊部分程序38</p><p> 附錄3 LED燈上移程序40</p&
18、gt;<p> 附錄4 蜂鳴器播放程序42</p><p> 附錄5 點(diǎn)陣動(dòng)態(tài)表情程序45</p><p> 附錄6 電路原理圖整體圖48</p><p> 附錄7 PCB整體圖49</p><p> 附錄8 學(xué)習(xí)板實(shí)際電路整體圖50</p><p><b> 第
19、1章 緒論</b></p><p> 1.1 選題的背景與意義</p><p> 單片機(jī)開(kāi)發(fā)學(xué)習(xí)板自發(fā)展以來(lái)已走過(guò)了近20多個(gè)年頭的發(fā)展改進(jìn)之路。單片機(jī)開(kāi)發(fā)學(xué)習(xí)板的改良和發(fā)展是基于超大規(guī)模集成電路技術(shù)及微處理器(MPU)技術(shù)之上的,其被應(yīng)用在各式各樣的領(lǐng)域,跟微處理器相比較它更具有個(gè)性化發(fā)展的潛力。小到遙控電子玩具,大到航空航天技術(shù)等各行各業(yè)的電子應(yīng)用中都有單片機(jī)開(kāi)發(fā)學(xué)習(xí)板
20、的身影。針對(duì)51單片機(jī)開(kāi)發(fā)板在電子行業(yè)自動(dòng)化領(lǐng)域的重要應(yīng)用,為滿足廣大學(xué)生、愛(ài)好者、產(chǎn)品研究者能較快地學(xué)會(huì)掌握單片機(jī)這門(mén)技術(shù),于是產(chǎn)生51單片機(jī)開(kāi)發(fā)板。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。</p><p> 單片機(jī)學(xué)習(xí)板在自動(dòng)化領(lǐng)域里占有重要的地位,它的快速發(fā)展必然會(huì)推動(dòng)科技的進(jìn)步。它必將向高性能,高智能化的方向發(fā)展。隨著學(xué)習(xí)板進(jìn)一步地被研究與開(kāi)發(fā),更多五花八門(mén)實(shí)用性的功能
21、會(huì)被人們所用,給人們帶來(lái)多姿多彩的世界,進(jìn)而提高人們生活水平的質(zhì)量。由此同時(shí),工業(yè)和農(nóng)業(yè)會(huì)更加自動(dòng)化,大大地提高各企業(yè)的生產(chǎn)效率并降低農(nóng)民的勞動(dòng)負(fù)擔(dān),進(jìn)而為國(guó)民經(jīng)濟(jì)的發(fā)展做出貢獻(xiàn)。單片機(jī)不僅僅在這些領(lǐng)域有著極大的作用,還給軍事行業(yè)輸入了新的“血液”,如無(wú)線傳感器網(wǎng)絡(luò)技術(shù),HMAC認(rèn)證協(xié)議,紅外測(cè)溫儀,單片機(jī)在武器火控系統(tǒng)模擬器中的應(yīng)用研究,防空武器自動(dòng)化指揮系統(tǒng)中單片機(jī)的應(yīng)用等,給增強(qiáng)國(guó)家的軍事實(shí)力貢獻(xiàn)了微薄之力。因此完整的單片機(jī)學(xué)習(xí)板
22、的研究與開(kāi)發(fā)有非常重要的實(shí)踐意義和廣闊的應(yīng)用前景。</p><p> 單片機(jī)具有成本低、體積小、可靠性高、具有高附加值、通過(guò)更改軟件就可以改變控制對(duì)象等優(yōu)點(diǎn),單片機(jī)越來(lái)越成為電子工程師設(shè)計(jì)產(chǎn)品時(shí)的首選器件之一。因此擁有一塊單片機(jī)開(kāi)發(fā)板對(duì)單片機(jī)學(xué)習(xí)具有極其重要的意義。但是單片機(jī)學(xué)習(xí)效果的優(yōu)劣直接取決于單片機(jī)的選擇,C52系列單片機(jī)內(nèi)部具有128字節(jié)RAM、5個(gè)中斷源、32條I/O口線、2個(gè)16位定時(shí)器、4KB的程
23、序存儲(chǔ)器、一個(gè)全雙工異步串行口。C52單片機(jī)除兼容S51單片機(jī)外,還具有工作頻率0至33MHz的高工作頻率;可以滿足絕大多數(shù)的實(shí)際應(yīng)用開(kāi)發(fā)需求,在開(kāi)發(fā)板上使用十分方便。</p><p> 本課題設(shè)計(jì)的51單片機(jī)開(kāi)發(fā)板,具有一般開(kāi)發(fā)板通用結(jié)構(gòu),并基于硬件進(jìn)行相關(guān)軟件設(shè)計(jì)。利用程序開(kāi)發(fā)語(yǔ)言開(kāi)發(fā)程序并實(shí)現(xiàn)ISP在線下載到單片機(jī),無(wú)需配置單獨(dú)的下載器。單片機(jī)使用ISP在線下載程序,加快了程序設(shè)計(jì)者調(diào)試的進(jìn)度,使設(shè)計(jì)者所
24、設(shè)計(jì)的程序盡快得到驗(yàn)證。通過(guò)對(duì)開(kāi)發(fā)板上的模塊進(jìn)行實(shí)驗(yàn),可以提高針對(duì)不同硬件進(jìn)行編程的能力,同時(shí)通過(guò)實(shí)驗(yàn)現(xiàn)象對(duì)所用的硬件也有了更深一步的認(rèn)識(shí),因此該開(kāi)發(fā)板具有一定的實(shí)用價(jià)值和現(xiàn)實(shí)意義。</p><p> 1.2 研究的基本內(nèi)容與擬解決的主要問(wèn)題</p><p> 本次畢業(yè)設(shè)計(jì)的課題是:設(shè)計(jì)一款簡(jiǎn)易實(shí)用的51單片機(jī)學(xué)習(xí)板。要求:在Keil和Proteus環(huán)境下進(jìn)行以AT89C52為核心器件
25、的單片機(jī)的研究與開(kāi)發(fā),并完成實(shí)際電路的開(kāi)發(fā);可以在該板上完成定時(shí)器、中斷、串口通信及鍵盤(pán)顯示等實(shí)驗(yàn)。旨在通過(guò)本次設(shè)計(jì),掌握51單片機(jī)以及了解學(xué)習(xí)板開(kāi)發(fā)的思想并學(xué)會(huì)簡(jiǎn)單模塊的實(shí)際開(kāi)發(fā)和應(yīng)用。課題由系統(tǒng)和模塊兩大部分組成:以AT89C52單片機(jī)為中心控制系統(tǒng)和溫度傳感器DS18B20模塊、電源電路、液晶顯示器、鍵盤(pán)、LED顯示指示燈等模塊。</p><p> 對(duì)于單片機(jī)學(xué)習(xí)板首先要研究它的基本原理和關(guān)鍵技術(shù),只有弄
26、清楚原理才好設(shè)計(jì)制作。故對(duì)單片機(jī)學(xué)習(xí)板有以下要求:</p><p> (1)合理布局,提高電路工作的可靠性。</p><p> ?。?)考慮系統(tǒng)內(nèi)外部因素來(lái)保證單片機(jī)系統(tǒng)可靠安全運(yùn)行。</p><p> ?。?)研究設(shè)計(jì)單片機(jī)各個(gè)外圍功能模塊的驅(qū)動(dòng)軟件。</p><p> ?。?)對(duì)開(kāi)發(fā)板的功能進(jìn)行仿真驗(yàn)證。</p><
27、p> ?。?)研究設(shè)計(jì)單片的最小系統(tǒng)及外圍電路,在Protel中進(jìn)行電路的設(shè)計(jì)。</p><p> 針對(duì)以上問(wèn)題采用了以下解決方法:</p><p> ?。?)對(duì)于那些易產(chǎn)生噪聲的器件,應(yīng)盡量使其遠(yuǎn)離單片機(jī)的邏輯控制電路和存儲(chǔ)電路(ROM、RAM),如果可能的話,可以將這些電路另外制成電路板,這樣有利于抗干擾。另外應(yīng)把相互有關(guān)的器件盡量放得靠近些,能獲得較好的抗噪聲效果。</
28、p><p> (2)盡量在關(guān)鍵元件如ROM、RAM等芯片旁安裝去耦電容。盡可能選擇典型電路,布線時(shí)盡量減少回路的面積。對(duì)于單片機(jī)閑置的I/O不要懸空,要接地和電源。</p><p> ?。?)學(xué)會(huì)使用Keil進(jìn)行編輯、編譯及仿真調(diào)試,實(shí)現(xiàn)對(duì)單片機(jī)進(jìn)行C語(yǔ)言開(kāi)發(fā)。</p><p> ?。?)以Proteus為平臺(tái),對(duì)單片機(jī)外圍各個(gè)功能模塊進(jìn)行軟件仿真驗(yàn)證功能。</
29、p><p> ?。?)查閱資料,在Protel中對(duì)單片機(jī)的各個(gè)功能模塊進(jìn)行外部電路設(shè)計(jì),在實(shí)現(xiàn)各個(gè)模塊功能的前提下充分合理利用單片機(jī)的內(nèi)部資源和外圍接口,以求最大限度的發(fā)揮單片機(jī)的功能。</p><p><b> 第2章 系統(tǒng)方案</b></p><p> 2.1 總體設(shè)計(jì)方案</p><p> 本開(kāi)發(fā)板共分為十一個(gè)模
30、塊,主要是:C52單片機(jī)主控制器模塊、DS18B20模塊、8*8共陽(yáng)點(diǎn)陣模塊、數(shù)碼管顯示模塊、LCD1602模塊、流水燈模塊、蜂鳴器模塊、USB及下載器模塊;其次是:鍵盤(pán)模塊、DS1302時(shí)鐘模塊、測(cè)溫模塊、AT24C02模塊。其中以C52單片機(jī)作為核心控制器;8*8共陽(yáng)點(diǎn)陣模塊用來(lái)顯示數(shù)字、符號(hào)、漢字;數(shù)碼管模塊用來(lái)顯示簡(jiǎn)單的數(shù)字、字母;LCD1602模塊用來(lái)顯示字母、數(shù)字、符號(hào);流水燈模塊用來(lái)顯示單片機(jī)I/O口電平的變化;蜂鳴器模塊
31、用來(lái)發(fā)出聲音;下載器模塊用來(lái)實(shí)現(xiàn)C52單片機(jī)的ISP在線編程;USB模塊用來(lái)提供電源鍵盤(pán)模塊用來(lái)向單片機(jī)輸入特定編碼的信息;DS1302時(shí)鐘模塊用來(lái)實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘;測(cè)溫模塊用來(lái)測(cè)量環(huán)境溫度;AT24C02模塊通過(guò)IIC總線接口進(jìn)行數(shù)據(jù)的存取。</p><p><b> 2.2 設(shè)計(jì)原則</b></p><p> 開(kāi)發(fā)板系統(tǒng)的擴(kuò)展和配置應(yīng)遵循以下設(shè)計(jì)原則: </
32、p><p> (1)盡可能選擇典型電路,并符合單片機(jī)常規(guī)用法。為硬件系統(tǒng)的標(biāo)準(zhǔn)化、模塊化打下良好的基礎(chǔ)。</p><p> (2)系統(tǒng)擴(kuò)展與外圍設(shè)備的配置水平應(yīng)充分滿足應(yīng)用系統(tǒng)的功能要求,并留有適當(dāng)余地,以便進(jìn)行二次開(kāi)發(fā)。</p><p> (3)硬件結(jié)構(gòu)應(yīng)結(jié)合應(yīng)用軟件方案一并考慮。硬件結(jié)構(gòu)布局和軟件設(shè)計(jì)方案兩者之間會(huì)互相產(chǎn)生影響,所要顧慮的原則性問(wèn)題是:軟件能夠
33、實(shí)現(xiàn)的功能可由它自身來(lái)完成,從而來(lái)簡(jiǎn)化硬件的結(jié)構(gòu)布局。但有需要注意的事項(xiàng):硬件功能通過(guò)軟件來(lái)實(shí)現(xiàn)的,其一般的回應(yīng)時(shí)間比硬件自身實(shí)現(xiàn)更長(zhǎng),與此同時(shí)會(huì)占用CPU運(yùn)行的時(shí)間。</p><p> (4)當(dāng)單片機(jī)開(kāi)發(fā)板上有許多外圍電路時(shí),必須要考慮其驅(qū)動(dòng)能力。如果驅(qū)動(dòng)能力不足,系統(tǒng)工作會(huì)具有不可靠性,可通過(guò)多放置線驅(qū)動(dòng)器來(lái)增強(qiáng)單片機(jī)的驅(qū)動(dòng)能力或減少芯片所需功耗來(lái)降低總線負(fù)載量。</p><p>
34、 (5)盡可能地向“單片”方向來(lái)設(shè)計(jì)硬件系統(tǒng)。系統(tǒng)中的器件越多,各器件之間相互干擾也會(huì)越強(qiáng),功耗也會(huì)相應(yīng)地增大,也不可避免地降低了系統(tǒng)的穩(wěn)定性。</p><p><b> 第3章 硬件部分</b></p><p> 3.1 硬件結(jié)構(gòu)框圖</p><p> 總體硬件結(jié)構(gòu)主要包括:C52單片機(jī)主控制器模塊、測(cè)溫模塊、8*8共陽(yáng)點(diǎn)陣模塊、數(shù)碼管
35、顯示模塊、LCD1602模塊、流水燈模塊、蜂鳴器模塊、USB及下載器模塊鍵盤(pán)模塊、DS1302時(shí)鐘模塊、測(cè)溫模塊、AT24C02模塊。硬件結(jié)構(gòu)框圖如3-1所示:</p><p> 圖3-1 總體硬件結(jié)構(gòu)框圖</p><p> 3.2 硬件電路設(shè)計(jì)</p><p> 3.2.1 C52單片機(jī)主控制器模塊</p><p> C52單片機(jī)最
36、小系統(tǒng)包括:MCU、復(fù)位電路、晶振電路。原理圖如圖3-2所示:</p><p> 圖3-2 C52單片機(jī)主控制模塊原理圖</p><p> 采用按鍵復(fù)位方式,選取晶振為12MHZ,系統(tǒng)機(jī)器周期為1us。</p><p> 3.2.2 DS18B20測(cè)溫模塊</p><p> ?。?)DS18B20簡(jiǎn)介:DS18B20 是DALLAS
37、半導(dǎo)體公司生產(chǎn)的,是一種單總線溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,有兩種封裝形式分別為3腳PR-35封裝和16腳SSOP封裝。本文采用的是3腳PR-35封裝,其具有以下特點(diǎn):采用了單總線技術(shù),傳感器直接以二進(jìn)制輸出被測(cè)溫度,可通過(guò)串行口線,也可與單機(jī)通過(guò)I/O口連接;所能測(cè)量的溫度范圍為:- 55℃~+115℃,測(cè)量的精度可高達(dá)+0.6℃;內(nèi)包括寄生電源,寄生電源可在兩線方式下通過(guò)數(shù)據(jù)線提供,而無(wú)需再獨(dú)自給它供電;轉(zhuǎn)換時(shí)
38、間在分辨率為12位(即0.0625℃)時(shí)最大為750ms;使用者能分別對(duì)每個(gè)器件設(shè)定溫度的上下限;DS18B20在使用時(shí)不需要任何外圍元件,一只形如三極管的集成電路內(nèi)包含了全部的傳感元件及轉(zhuǎn)換集成電路;當(dāng)電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能進(jìn)行正常工作;每個(gè)DSl8B20器件對(duì)應(yīng)一個(gè)唯一的64位長(zhǎng)的序號(hào),該序號(hào)值存放在ROM中,可通過(guò)序號(hào)匹配實(shí)現(xiàn)多點(diǎn)測(cè)溫。引腳排列如圖3-3所示:</p><p> VD
39、D:接電源引腳,電源供電3.0~5.5V;</p><p> DQ:數(shù)據(jù)的輸入和輸出引腳;</p><p><b> GND:接地</b></p><p> 圖3-3 DS18B20引腳圖</p><p> ?。?)硬件實(shí)現(xiàn):DS18B20溫度傳感器模塊的原理圖如圖3-4所示:</p><p&
40、gt; 圖3-4 DS18B20溫度傳感器模塊原理圖</p><p> 單片機(jī)與DS18B20通過(guò)P3.5相連,作為數(shù)據(jù)/控制信號(hào)線。</p><p> 3.2.3 8*8共陽(yáng)點(diǎn)陣模塊</p><p> 8*8LED點(diǎn)陣共由64個(gè)發(fā)光二極管組成,每個(gè)發(fā)光二極管是放置在行線和列線的交叉點(diǎn)上,當(dāng)對(duì)應(yīng)的某一行置1高電平,且某一列置0低電平,則相應(yīng)的發(fā)光二極管就
41、亮;因此要用8*8LED點(diǎn)陣來(lái)顯示一個(gè)字符或漢字,只需要根據(jù)字符或漢字圖形中的線條或筆畫(huà),通過(guò)點(diǎn)亮多個(gè)發(fā)光二極管來(lái)勾勒出字符或漢字的線條或筆畫(huà)就行了。當(dāng)要比較完美的顯示一般的漢字,單個(gè)8*8LED點(diǎn)陣模塊很難做到,因?yàn)長(zhǎng)ED的點(diǎn)數(shù)(也稱(chēng)為像素點(diǎn))不夠多,因此要顯示漢字的話,需要多個(gè)8*8LED點(diǎn)陣拼合成一個(gè)顯示屏。</p><p> LED點(diǎn)陣顯示器最大的特點(diǎn)是亮度高、功耗較低、壽命長(zhǎng)、容易控制等,因此它的應(yīng)用
42、很廣,常用在廣場(chǎng)、車(chē)站、商業(yè)廣告等室外的顯示。64個(gè)發(fā)光二極管按照行共陽(yáng)、列共陰4個(gè)一組的方式封裝成一個(gè)模塊,這樣8*8LED點(diǎn)陣模塊就有8行、8列共16個(gè)引腳。其實(shí)物圖如圖3-5,電路模塊符號(hào)圖如圖3-6。</p><p> 圖3-5 8*8LED點(diǎn)陣實(shí)物圖 圖3-6 8*8LED點(diǎn)陣符號(hào)圖</p><p> 但8*8LED點(diǎn)陣的16個(gè)引腳并不是很有規(guī)律,
43、而且不同產(chǎn)品的點(diǎn)陣外部引腳排列規(guī)律還可能不一樣。以下是NLB1388SRA和LDM1388SRA兩個(gè)型號(hào)點(diǎn)陣引腳對(duì)應(yīng)行、列的關(guān)系如下表所示:</p><p> 表3-1 8*8LED引腳對(duì)應(yīng)表</p><p> 假如你買(mǎi)到一塊新的8*8LED點(diǎn)陣,又沒(méi)有關(guān)于它的相關(guān)資料,那你只有自己用萬(wàn)用表或通過(guò)VCC電源串接一個(gè)510歐姆的電阻來(lái)檢測(cè)了。8*8共陽(yáng)點(diǎn)陣模塊硬件實(shí)現(xiàn)的原理圖如圖3-7
44、所示:</p><p> 圖3-7 8*8共陽(yáng)點(diǎn)陣原理圖</p><p> 3.2.4 數(shù)碼管顯示模塊</p><p> 數(shù)碼管顯示模塊由三部分構(gòu)成:(1)4位一體顯示數(shù)碼管。(2)4個(gè)8550三極管。(3)電阻。</p><p> ?。?)四位顯示數(shù)碼管是一種半導(dǎo)體發(fā)光器件,它的基本單元由發(fā)光二極管組成。能顯示4個(gè)數(shù)碼管叫四位數(shù)碼管
45、。數(shù)碼管可以按段數(shù)進(jìn)行分類(lèi):七段數(shù)碼管和八段數(shù)碼管,七段數(shù)碼管比八段數(shù)碼管少一個(gè)發(fā)光二極管單元(少一個(gè)小數(shù)點(diǎn)顯示);發(fā)光二極管單元連接方式可以分為共陽(yáng)極式連接和共陰極式連接。共陽(yáng)數(shù)碼管的連接方式是將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。使用共陽(yáng)數(shù)碼管時(shí)應(yīng)將公共極COM接到+5V電源上,當(dāng)某一個(gè)發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。</p><p&
46、gt; ?。?)由于三極管的結(jié)構(gòu)和外形特征,它有三個(gè)接出來(lái)的端點(diǎn),所以便被形象的命名為三極管。三個(gè)接出來(lái)的端點(diǎn)依序稱(chēng)為發(fā)射極(emitter, E)、基極(base, B)和集電極(collector, C),名稱(chēng)來(lái)源和它們?cè)谌龢O管操作時(shí)的功能有關(guān)。本設(shè)計(jì)中選用8550三極管,它是一種低電壓,大電流,小信號(hào)的PNP型硅三極管。采用TO-92封裝。由于單片機(jī)I/O的驅(qū)動(dòng)能力一般不是很強(qiáng),所以要加三極管來(lái)進(jìn)行擴(kuò)流。這里的電阻以限流為目的,從
47、而起到一個(gè)保護(hù)電路的作用。</p><p> 數(shù)碼管顯示模塊硬件實(shí)現(xiàn)的原理圖如圖3-8所示:</p><p> 圖3-8 數(shù)碼管顯示模塊原理圖</p><p> 3.2.5 LCD1602模塊</p><p> ?。?)LCD1602簡(jiǎn)介:LCD1602點(diǎn)陣字符液晶模塊是由點(diǎn)陣字符液晶顯示器件和專(zhuān)用的行列驅(qū)動(dòng)器,控制器及必要的連接件,
48、結(jié)構(gòu)件裝配而成,可以顯示數(shù)字和英文字符。各引腳接口說(shuō)明如表3-2所示:</p><p> 表3-2 LCD1602引腳接口</p><p> (2)硬件實(shí)現(xiàn):LCD1602模塊的原理圖如圖3-9所示:</p><p> 圖3-9 LCD1602模塊原理圖</p><p> 單片機(jī)與LCD1602通過(guò)P0.0、P0.1、P0.2、P
49、0.3、P0.4、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> 3.2.6 LED燈模塊</p><p> 流水燈模塊包含8個(gè)LED燈,單片機(jī)的P0口接10K上拉電阻,八個(gè)LED的負(fù)極依次連接單片機(jī)P0口的8個(gè)引腳,八個(gè)LED的正極依次與1K的排阻的八個(gè)端子相連,排阻的公共端連接短
50、路插針的一端,短路插針的另一端與電源相連,因此,若將短路插針用短路帽短路,則八個(gè)LED的正極上拉到高電平,LED低電平點(diǎn)亮。如圖3-10所示:</p><p> 圖3-10 流水燈模塊原理圖</p><p> 3.2.7 蜂鳴器模塊</p><p> 單片機(jī)的P3.4與Q1的基極通過(guò)2K歐姆電阻連接,當(dāng)P3.4為高電平時(shí),Q1導(dǎo)通,Q1的發(fā)射極與集電極導(dǎo)通
51、,將發(fā)射極下拉為低電平,蜂鳴器兩端出現(xiàn)電位差,蜂鳴器發(fā)聲;當(dāng)P3.4為低電平時(shí),Q1不導(dǎo)通,蜂鳴器兩端沒(méi)有電流流過(guò),蜂鳴器不發(fā)聲。如圖3-11所示:</p><p> 圖3-11 蜂鳴器模塊原理圖</p><p> 3.2.8 USB及下載器模塊</p><p> PL2303HX是Prolific公司生產(chǎn)的一種高度集成的RS232-USB接口轉(zhuǎn)換器,可提
52、供一個(gè)RS232全雙工異步串行通信裝置與USB功能接口便利聯(lián)接的解決方案。該器件內(nèi)置USB功能控制器、USB收發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號(hào)的UART,只需外接幾只電容就可實(shí)現(xiàn)USB信號(hào)與RS232信號(hào)的轉(zhuǎn)換,能夠方便嵌入到手持設(shè)備。該器件作為USB/RS232雙向轉(zhuǎn)換器,一方面從主機(jī)接收USB數(shù)據(jù)并將其轉(zhuǎn)換為RS232信息流格式發(fā)送給外設(shè);另一方面從RS232外設(shè)接收數(shù)據(jù)轉(zhuǎn)換為USB數(shù)據(jù)格式傳送回主機(jī)。這些工作全部由器件自動(dòng)
53、完成,開(kāi)發(fā)者無(wú)需考慮固件設(shè)計(jì)。</p><p> PL2303HX專(zhuān)門(mén)為移動(dòng)和嵌入式解決方案設(shè)計(jì),提供占地面積小,可以輕松地安裝在任何連接器和手持設(shè)備。與在任一操作功耗非常小或掛起模式相比,PL2303HX對(duì)所連接的設(shè)備用大量的左電源總線進(jìn)行完美地供電操作。靈活的信號(hào)水平要求類(lèi)似于RS232的串行端口一邊還允許PL2303HX可以直接連接到任何3.3V~1.8V范圍的設(shè)備上。PL2303HX的引腳配置如下圖3-
54、12所示: </p><p> 圖3-12 PL2303HX的引腳配置圖</p><p> USB及下載器模塊原理圖如下圖3-13所示:</p><p> 圖3-13 USB及下載器模塊原理圖</p><p> 3.2.9 其他模塊</p><p> (1)AT24C02簡(jiǎn)介: AT24C02有一個(gè)寫(xiě)16
55、字節(jié)頁(yè)的緩沖器。該器件通過(guò)IIC總線接口進(jìn)行操作,有一個(gè)專(zhuān)門(mén)的寫(xiě)保護(hù)功能。SCL串行時(shí)鐘:AT24C02串行時(shí)鐘輸入的管腳用于產(chǎn)生時(shí)鐘器件接收或發(fā)送的所有數(shù)據(jù),這是一個(gè)輸入引腳。SDA串行數(shù)據(jù)/地址:AT24C02雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA是一個(gè)開(kāi)漏輸出管腳,可與其它開(kāi)漏輸出或集電極開(kāi)路輸出進(jìn)行線或(wire-OR)。A0、A1、A2作為器件地址的輸入端:當(dāng)多個(gè)器件級(jí)聯(lián)時(shí)可用這些輸入腳來(lái)設(shè)置器件地址,當(dāng)這
56、些腳懸空時(shí)默認(rèn)值為0。當(dāng)使用AT24C02時(shí)最多能級(jí)聯(lián)8個(gè)器件。如果只有一個(gè)AT24C02被總線尋址,那么這三個(gè)地址輸入腳(A0、A1、A2 )能夠懸空或直接連接到Vss,如果只有一個(gè)AT24C02被總線尋址這三個(gè)地址輸入腳(A0、A1、A2 )必須連接到Vss。WP寫(xiě)保護(hù):如果WP管腳連接到Vcc,所有的內(nèi)容都被寫(xiě)保護(hù)只能讀。當(dāng)WP管腳連接到Vss 或懸空允許器件進(jìn)行正常的讀/寫(xiě)操作。引腳排列如圖3-14所示:</p>
57、<p> A0、A1、A2:器件地址選擇 </p><p> SDA:串行數(shù)據(jù)、地址</p><p><b> SCL:串行時(shí)鐘</b></p><p><b> WP:寫(xiě)保護(hù)</b></p><p> VCC: +1.8 ~6.0V工作電壓</p&
58、gt;<p><b> GND:地</b></p><p> 圖3-14 AT24C02引腳圖</p><p> (2)硬件實(shí)現(xiàn):AT24C02存儲(chǔ)器模塊的原理圖如圖3-15所示:</p><p> 圖3-15 AT24C02存儲(chǔ)器原理圖</p><p><b> 第4章 軟件部分&
59、lt;/b></p><p> 4.1 整體程序設(shè)計(jì)</p><p> 軟件部分主要包括DS18B20測(cè)溫模塊、8*8共陽(yáng)點(diǎn)陣模塊、數(shù)碼管顯示模塊、LCD1602模塊、流水燈模塊、蜂鳴器模塊、USB及下載器模塊、AT24C02模塊、鍵盤(pán)模塊、DS1302時(shí)鐘模塊。</p><p> 4.2 分模塊程序設(shè)計(jì)</p><p> 依據(jù)
60、開(kāi)發(fā)板上硬件資源,進(jìn)行程序的開(kāi)發(fā),在軟件的設(shè)計(jì)過(guò)程中,采用模塊化的設(shè)計(jì)方法,依次分別為每個(gè)模塊設(shè)計(jì)軟件。下面分別介紹以上各個(gè)模塊的程序設(shè)計(jì)。</p><p> 4.2.1 DS18B20測(cè)溫模塊程序設(shè)計(jì)</p><p> ?。?)DS18B20的工作時(shí)序:?jiǎn)慰偩€在任何時(shí)刻只能有一個(gè)控制信號(hào)或數(shù)據(jù),數(shù)據(jù)要能在單片機(jī)和單總線芯片之間實(shí)現(xiàn)可靠的傳送,遵循單總線處理次序通信協(xié)議,確保數(shù)據(jù)有條不紊
61、地傳送,單總線處理次序圖如圖4-1所示:</p><p> 圖4-1 單總線處理次序圖</p><p> 處理次序操作時(shí),一般有以下4 個(gè)過(guò)程:(1)初始化。基于單總線上的所有傳輸過(guò)程都是以初始化開(kāi)始的,初始化過(guò)程由主機(jī)發(fā)出的復(fù)位脈沖和從機(jī)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機(jī)知道總線上有從機(jī)設(shè)備,且準(zhǔn)備就緒。(2)ROM 操作命令。在主機(jī)檢測(cè)到應(yīng)答信號(hào)后,主機(jī)可以發(fā)出ROM操作命令之一。所有
62、的ROM 命令都是8位,而且這些命令與各個(gè)從機(jī)設(shè)備的唯一64位ROM代碼相關(guān),允許主機(jī)在單總線上連接多個(gè)從機(jī)設(shè)備時(shí),指定操作某個(gè)從機(jī)設(shè)備。可發(fā)送的ROM 命令有:讀ROM,匹配ROM,搜索ROM,跳過(guò)ROM,超ROM,超速跳過(guò)ROM,條件查找ROM。(3)RAM 操作命令。當(dāng)成功執(zhí)行上述某個(gè)ROM 操作命令后,總線可以發(fā)出一個(gè)RAM命令來(lái)訪問(wèn)和控制RAM??砂l(fā)送的RAM 命令有:寫(xiě)暫存RAM,讀暫存RAM,復(fù)制暫存RAM,數(shù)據(jù)轉(zhuǎn)換,回讀
63、E2PROM,讀電源模式。(4)數(shù)據(jù)交換。主機(jī)和從機(jī)之間進(jìn)行數(shù)據(jù)的傳輸,所有的數(shù)據(jù)都是從低位開(kāi)始讀寫(xiě)的。</p><p> 單總線上的所有通信都是以初始化時(shí)序開(kāi)始,包括主機(jī)發(fā)出的復(fù)位脈沖及從機(jī)的應(yīng)答脈沖,初始化時(shí)序如圖4-2所示:</p><p> 圖4-2 初始化時(shí)序</p><p> 當(dāng)主機(jī)把數(shù)據(jù)從邏輯高電平拉到邏輯低電平時(shí),寫(xiě)時(shí)序開(kāi)始,寫(xiě)“1”和“0”,
64、 寫(xiě)時(shí)序和讀時(shí)時(shí)分別如圖4-3和圖4-4所示:</p><p><b> 圖4-3 寫(xiě)時(shí)序</b></p><p><b> 圖4-4 讀時(shí)序</b></p><p> (2) 測(cè)溫程序流程圖如圖4-5所示:</p><p> 圖4-5 DS18b20溫度傳感器程序流程圖</p>
65、<p> 根據(jù)初始化時(shí)序?qū)S18B20進(jìn)行初始化,根據(jù)讀寫(xiě)時(shí)序?qū)S18B20進(jìn)行讀寫(xiě)編程,另外,在循環(huán)讀取溫度數(shù)據(jù)后,要將讀取的溫度數(shù)據(jù)轉(zhuǎn)換為可以在液晶上顯示的液晶字符。</p><p> 4.2.2 8*8共陽(yáng)點(diǎn)陣模塊程序設(shè)計(jì)</p><p> ?。?)8*8共陽(yáng)點(diǎn)陣的顯示原理:8*8點(diǎn)陣共由64個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管是放置在行線和列線的交叉點(diǎn)上,當(dāng)對(duì)
66、應(yīng)的某一行置1電平,某一列置0電平,則相應(yīng)的二極管就亮;如要將第一個(gè)點(diǎn)點(diǎn)亮,則DR1腳接高電平DC8腳接低電平,則第一個(gè)點(diǎn)就亮了;如果要將第一行點(diǎn)亮,則第DC8腳要接高電平,而(DR1、DR2、DR3、DR4、DR5、DR6、DR7、DR8 )這些引腳接低電平,那么第一行就會(huì)點(diǎn)亮;如要將第一列點(diǎn)亮,則第DR1腳接高電平,而(DC1、DC2、DC3、DC4、DC5、DC6、DC7、DC8)接低電平,那么第一列就會(huì)點(diǎn)亮。8*8點(diǎn)陣內(nèi)部連接如
67、下圖4-6所示:</p><p> 圖4-6 8*8共陽(yáng)點(diǎn)陣內(nèi)部連接圖</p><p> (2)LED的掃描驅(qū)動(dòng)是一個(gè)重復(fù)的不間斷的過(guò)程,自然,定時(shí)中斷是最好的實(shí)現(xiàn)方法。點(diǎn)陣發(fā)生器主要是通過(guò)定義相應(yīng)的點(diǎn)陣來(lái)保存各種需要顯示數(shù)據(jù)。8*8點(diǎn)陣程序流程圖如下圖4-7所示:</p><p> 圖4-7 8*8共陽(yáng)點(diǎn)陣程序流程圖</p><p&g
68、t; 4.2.3 數(shù)碼管顯示模塊程序設(shè)計(jì)</p><p> 4位一體數(shù)碼管的顯示方式分為靜態(tài)式和動(dòng)態(tài)式。靜態(tài)式的也稱(chēng)為鎖存方式,單片機(jī)送出數(shù)據(jù)后控制外圍鎖存器件鎖存數(shù)據(jù),這樣數(shù)碼管筆段里的電流不變,數(shù)碼管穩(wěn)定顯示,這樣單片機(jī)可以干別的活不用管數(shù)碼管了。動(dòng)態(tài)式的也稱(chēng)為掃描方式,是利用發(fā)光二極管的余輝效應(yīng)和人眼的視覺(jué)暫留效應(yīng)來(lái)實(shí)現(xiàn)的,只要在在一定時(shí)間內(nèi)數(shù)碼管的筆段亮的頻率夠快,人眼就看不出閃爍,一般外圍硬件較少,
69、但是對(duì)單片機(jī)資源耗用巨大。相比兩種方式,前一種對(duì)單片機(jī)的P口資源和時(shí)間耗用更少。其程序流程圖如下圖4-8所示:</p><p> 圖4-8 數(shù)碼管顯示程序流程圖</p><p> 4.2.4 LCD1602模塊程序設(shè)計(jì)</p><p> LCD1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表4-1所示:</p><p> 表4
70、-1 控制指令表</p><p> LCD1602液晶模塊的讀寫(xiě)操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平)</p><p> 指令1—清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。</p><p> 指令2—光標(biāo)復(fù)位,光標(biāo)返回到地址00H。</p><p> 指令3—光標(biāo)和顯示模式設(shè)置 I/D
71、:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。</p><p> 指令4—顯示開(kāi)關(guān)控制。D:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。</p><p> 指令5—光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字
72、,低電平時(shí)移動(dòng)光標(biāo)。</p><p> 指令6—功能設(shè)置命令DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。</p><p> 指令7—字符發(fā)生器RAM地址設(shè)置。</p><p> 指令8—DDRAM地址設(shè)置。</p><p>
73、 指令9—讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。</p><p><b> 指令10—寫(xiě)數(shù)據(jù)。</b></p><p><b> 指令11—讀數(shù)據(jù)。</b></p><p> 讀寫(xiě)操作時(shí)序分別如下圖4-9和4-10所示:</p><
74、p> 圖4-9 讀操作時(shí)序</p><p> 圖4-10 寫(xiě)操作時(shí)序</p><p> LCD1602顯示程序流程圖如圖4-11所示: </p><p> 圖4-11 LCD1602顯示程序流程圖</p><p> 4.2.5 LED燈模塊</p><p> 流水燈模塊程序設(shè)計(jì):程序中先定義五個(gè)
75、一維數(shù)組,每個(gè)一維數(shù)組里面含有八個(gè)元素,元素為十六進(jìn)制數(shù),對(duì)應(yīng)P0口的八個(gè)引腳,十六進(jìn)制數(shù)為1則對(duì)應(yīng)相應(yīng)引腳為高電平,為0則相應(yīng)引腳為低電平。LED連接引腳若為低電平,則LED發(fā)光,若為高電平,則LED不發(fā)光。將一維數(shù)組里的八個(gè)元素依次送到P0口,則LED亮滅依次發(fā)生變化,輪流將五個(gè)一維數(shù)組送交P0口,則可以顯示五組不同的花型。流水燈程序流程圖如圖4-12所示:</p><p> 圖4-12 流水燈程序流程圖&
76、lt;/p><p> 4.2.6 蜂鳴器模塊</p><p> 蜂鳴器模塊程序設(shè)計(jì):在程序中首先定義P3.4為蜂鳴器控制引腳,在主函數(shù)中配置T0為16位定時(shí)/計(jì)數(shù)器,并裝載一定的初值,啟動(dòng)定時(shí)器T0,定時(shí)器T0開(kāi)中斷,CPU開(kāi)中斷,然后每隔約1ms對(duì)frq進(jìn)行累加。在定時(shí)器T0中斷函數(shù)中,對(duì)定時(shí)器T0的TH0裝載0xfe,對(duì)TL0裝載累加的frq值,并翻轉(zhuǎn)P3.4口的狀態(tài),這樣,由于定時(shí)
77、器T0每次裝載的初值不同,相應(yīng)的中斷到達(dá)時(shí)間不同,P3.4翻轉(zhuǎn)的時(shí)間也就不同,frq為無(wú)符號(hào)字符型數(shù)據(jù),累加到255后歸零,因此蜂鳴器會(huì)產(chǎn)生一定頻率的聲音。蜂鳴器程序流程圖如圖4-13所示:</p><p> 圖4-13 蜂鳴器程序流程圖</p><p> 4.2.7 USB及下載器模塊</p><p> 該系統(tǒng)設(shè)計(jì)的接口程序包括單片機(jī)通訊設(shè)置。USB設(shè)備驅(qū)
78、動(dòng),以及PC應(yīng)用等3部分程序,這三者互相配合實(shí)現(xiàn)可靠、快速的數(shù)據(jù)傳輸。</p><p> ?。?)單片機(jī)通訊設(shè)置程序單片機(jī)程序?qū)嶋H上是完成單片機(jī)對(duì)串口的初始化,即對(duì)波特率,數(shù)據(jù)位,校驗(yàn)位,有無(wú)奇偶校驗(yàn)等通信協(xié)議的設(shè)計(jì)及單片機(jī)串行通信功能控制器的設(shè)置。該設(shè)計(jì)以串口參數(shù)波特率ll5200,數(shù)據(jù)位8,停止位l,校驗(yàn)位0。</p><p> ?。?)USB設(shè)備驅(qū)動(dòng)程序在PC機(jī)上安裝Prolific
79、公司免費(fèi)提供的USB設(shè)備驅(qū)動(dòng)程序。驅(qū)動(dòng)安裝完后,PC系統(tǒng)出現(xiàn)1個(gè)“Prolific USB-to-Serial Comm Port”自動(dòng)增加一個(gè)COM口,如COM3,COM4等。</p><p> (3)PC應(yīng)用程序用戶(hù)按照傳統(tǒng)的串行接口控制方式來(lái)使用該模擬的“COM口”。串口通訊參數(shù)應(yīng)與單片機(jī)所設(shè)置參數(shù)一致。當(dāng)設(shè)備插入不同的USB接口時(shí),計(jì)算機(jī)認(rèn)為一個(gè)新設(shè)備,需重新安裝設(shè)備驅(qū)動(dòng)程序。當(dāng)插入計(jì)算機(jī)不同USB接口
80、時(shí),虛擬的“COM口”不同,因此,需要計(jì)算機(jī)程序自動(dòng)識(shí)別是在哪一個(gè)串口插入的設(shè)備</p><p> PC機(jī)通信流程圖如下圖4-14所示:</p><p> 圖4-14 PC機(jī)通信流程圖</p><p> 當(dāng)單片機(jī)學(xué)習(xí)板與PC機(jī)通信時(shí),相應(yīng)的指示燈會(huì)亮,說(shuō)明程序正在從PC里向單片機(jī)芯片中燒錄,內(nèi)部的一個(gè)過(guò)程大概是這樣的:首先進(jìn)入中斷入口,中斷初始化,判斷PC機(jī)
81、與單片機(jī)學(xué)習(xí)板是否相連成功,此時(shí)會(huì)在燒錄軟件里給出一個(gè)信號(hào):握手是否成功。如果握手成功,PC機(jī)通過(guò)燒錄軟件把數(shù)據(jù)程序傳輸?shù)絾纹瑱C(jī)的芯片中,然后中斷返回。如果握手失敗,直接中斷返回,會(huì)在燒錄軟件里給出燒錄失敗的相關(guān)原因。單片機(jī)串口中斷子程序圖如下圖4-15所示:</p><p> 圖4-15 單片機(jī)串口中斷子程序圖</p><p> 4.2.8 其他模塊</p><
82、p> ?。?)時(shí)鐘及數(shù)據(jù)傳輸:SDA引腳通常被外圍器件拉高。SDA引腳的數(shù)據(jù)應(yīng)在SCL為低時(shí)變化;當(dāng)數(shù)據(jù)在SCL為高時(shí)變化,將視為下文所述的一個(gè)起始或停止命令。起始命令:當(dāng)SCL為高,SDA由高到低的變化被視為起始命令,必須以起始命令作為任何一次讀/寫(xiě)操作命令的開(kāi)始。停止命令:當(dāng)SCL為高,SDA由低到高的變化被視為停止命令,在一個(gè)讀操作后,停止命令會(huì)使EEPROM 進(jìn)入等待態(tài)低功耗模式。應(yīng)答:所有的地址和數(shù)據(jù)字節(jié)都是以8位為一組
83、串行輸入和輸出的。每收到一組8位的數(shù)據(jù)后,EEPROM都會(huì)在第9個(gè)時(shí)鐘周期時(shí)返回應(yīng)答信號(hào)。每當(dāng)主控器件接收到一組8位的數(shù)據(jù)后,應(yīng)當(dāng)在第9個(gè)時(shí)鐘周期向EEPROM返回一個(gè)應(yīng)答信號(hào)。收到該應(yīng)答信號(hào)后,EEPROM 會(huì)繼續(xù)輸出下一組8位的數(shù)據(jù)。若此時(shí)沒(méi)有得到主控器件的應(yīng)答信號(hào),EEPROM會(huì)停止讀出數(shù)據(jù),直到主控器件返回一個(gè)停止命令來(lái)結(jié)束讀周期。等待模式:AT24C01/02/04/08/16特有一個(gè)低功耗的等待模式??梢酝ㄟ^(guò)以下方法進(jìn)入該模
84、式:(a)上電收到停止位并且結(jié)束所有的內(nèi)部操作后。器件復(fù)位:在協(xié)議中斷、下電或系統(tǒng)復(fù)位后,器件可通過(guò)以下步驟復(fù)位:(ⅰ)連續(xù)輸入9個(gè)時(shí)</p><p> ?。?)AT24C02的時(shí)序:總線時(shí)序如下圖4-16所示:</p><p> 圖4-16 AT24C02總線時(shí)序圖</p><p> 寫(xiě)周期時(shí)序如下圖4-17所示:</p><p>
85、圖4-17 AT24C02寫(xiě)周期時(shí)序圖</p><p> 注:寫(xiě)周期TWR是指一個(gè)寫(xiě)序列最后一個(gè)有效停止命令到內(nèi)部擦/寫(xiě)周期結(jié)束的時(shí)間。</p><p> 數(shù)據(jù)有效時(shí)序如下圖4-18所示:</p><p> 圖4-18 AT24C02數(shù)據(jù)有效時(shí)序圖</p><p> 命令起停時(shí)序如下圖4-19所示:</p><
86、p> 圖4-19 AT24C02命令起停時(shí)序圖</p><p> 輸出應(yīng)答時(shí)序如下圖4-20所示:</p><p> 圖4-20 AT24C02輸出應(yīng)答時(shí)序圖</p><p> ?。?)AT24C02程序流程圖如下圖4-21所示:</p><p> 圖4-21 AT24C02程序流程圖</p><p&g
87、t; 第5章 開(kāi)發(fā)板設(shè)計(jì)及測(cè)試</p><p> 5.1 開(kāi)發(fā)板PCB設(shè)計(jì)</p><p> 遵循先難后易,先大后小的原則。根據(jù)要求先將所有有定位要求的元件固定并鎖定。再參考原理圖根據(jù)信號(hào)流向規(guī)律,放置其它原器件。 </p><p> 布局保障總的連線盡可能的短,關(guān)鍵信號(hào)線最短。模擬信號(hào),數(shù)字信號(hào)需分開(kāi)。</p><p> 按照均勻
88、分布,重心平衡,版面美觀的標(biāo)準(zhǔn)來(lái)優(yōu)化布局。相同結(jié)構(gòu)電路部分盡可能采取對(duì)稱(chēng)布局。同類(lèi)元件盡可能在X或Y方向上一致,以便于生產(chǎn)和調(diào)試。</p><p> 元件的放置要便于調(diào)試和維修,大元件邊上不能放置小元件,需要調(diào)試的元件周?chē)鷳?yīng)有足夠的空間。發(fā)熱元件應(yīng)有足夠的空間以利于散熱。使用同一種電源的元件應(yīng)考慮盡量放在一起,以便于將來(lái)的電源分割。</p><p> 集成電路的去耦電容應(yīng)盡量靠近芯片的
89、電源腳,使之與電源和地之間形成回路最短。旁路電容應(yīng)均勻分布在集成電路周?chē)?</p><p> 采用手動(dòng)布線方法,在保障布線合理,符合規(guī)范的情況下,盡量追求布線的完美。</p><p> 避免字符被焊盤(pán)或過(guò)孔覆蓋,要保證裝配以后還可以清晰看到字符信息。所有字符在X或Y方向上應(yīng)一致。字符,絲印大小要統(tǒng)一。</p><p><b> 5.2 開(kāi)發(fā)板測(cè)試&
90、lt;/b></p><p> 開(kāi)發(fā)板和PC機(jī)通過(guò)下載器連接,使用+5V電源給開(kāi)發(fā)板供電。在PC機(jī)上安裝ISP在線下載器驅(qū)動(dòng),打開(kāi)燒寫(xiě)器軟件,選擇燒寫(xiě)單片機(jī)類(lèi)型,加載FLASH,點(diǎn)擊編程,即可把程序燒錄到單片機(jī)中。</p><p> 8*8點(diǎn)陣實(shí)驗(yàn)效果:燒寫(xiě).HEX文件到單片機(jī),將P12插上短路帽,然后可以依次看到點(diǎn)陣上顯示“無(wú)表情”,“哭臉”,“微笑”和“笑臉”的表情。<
91、/p><p> LCD1602實(shí)驗(yàn)效果:燒寫(xiě).HEX文件到單片機(jī),液晶上顯示萬(wàn)年歷的信息等。</p><p> 流水燈模塊實(shí)驗(yàn)效果:燒寫(xiě).HEX文件到單片機(jī),流水燈顯示幾種不同的花型;</p><p> 蜂鳴器模塊實(shí)驗(yàn)效果:燒寫(xiě).HEX文件到單片機(jī),蜂鳴器以一定的聲音頻率鳴叫。</p><p> 5.2.1 調(diào)試結(jié)果</p>
92、<p> 主要實(shí)物展示圖及調(diào)試結(jié)果如下各圖所示:</p><p> 圖5-1 8*8點(diǎn)陣笑臉 圖5-2 8*8點(diǎn)鐘無(wú)表情</p><p> 圖5-3 LED跑馬燈 圖5-4 LED跑馬燈</p><p> 圖5-5 LCD滾動(dòng)
93、顯示-前</p><p> 圖5-6 LCD滾動(dòng)顯示-中</p><p> 圖5-7 LCD滾動(dòng)顯示-后</p><p><b> 第6章 結(jié)論</b></p><p> 通過(guò)三個(gè)多月的畢業(yè)設(shè)計(jì),完成了C52開(kāi)發(fā)板的設(shè)計(jì),詳細(xì)對(duì)開(kāi)發(fā)板進(jìn)行了硬件設(shè)計(jì),在硬件設(shè)計(jì)合理的情況下,對(duì)硬件驅(qū)動(dòng)程序也進(jìn)行了一定程度的開(kāi)發(fā)。&
94、lt;/p><p> 在以C52單片機(jī)為核心控制器的基礎(chǔ)上,對(duì)外圍電路進(jìn)行了設(shè)計(jì),包括豐富的硬件模塊—數(shù)據(jù)采集處理模塊、AT24C02模塊、DS18B02測(cè)溫模塊、液晶顯示模塊、鍵盤(pán)模塊、流水燈模塊、蜂鳴器模塊等。針對(duì)各個(gè)功能模塊開(kāi)發(fā)的相應(yīng)的功能程序模塊—控制驅(qū)動(dòng)程序、流水燈程序、蜂鳴器程序和液晶顯示程序等均能在開(kāi)發(fā)板上正確的運(yùn)行,運(yùn)行效果準(zhǔn)確無(wú)誤。由于該開(kāi)發(fā)板可以完成單片機(jī)各類(lèi)通用實(shí)驗(yàn)以及各種軟硬件測(cè)試,且具有操
95、作簡(jiǎn)單,性?xún)r(jià)比高的特點(diǎn),因此具有一定的實(shí)用價(jià)值和現(xiàn)實(shí)意義。</p><p><b> 致謝</b></p><p> 本論文的選題及研究是在老師的關(guān)懷和指導(dǎo)下完成的。嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。從最初論文題目的選擇到最終論文的完成老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。在這半年的時(shí)間中,老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想、生
96、活上給我以無(wú)微不至的關(guān)懷,在此謹(jǐn)向老師致以誠(chéng)摯的謝意。</p><p> 感謝在我遇到困難時(shí)為我提供幫助的所有同學(xué),正是由于你們的支持,我才能克服一個(gè)又一個(gè)的困難,直至本文的順利完成,他們對(duì)本課題做了不少工作,提出了許多寶貴的建議。</p><p> 感謝學(xué)校給我提供的良好的學(xué)習(xí)環(huán)境,并且提供了充足的圖書(shū)資源及電子資源,為我們更好的完成畢業(yè)設(shè)計(jì)提供了極大的幫助。</p>
97、<p> 最后,向各位悉心指導(dǎo),認(rèn)真評(píng)閱的老師們致以最崇高的敬意和衷心的感謝!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 李景照.基于計(jì)算機(jī)仿真的單片機(jī)學(xué)習(xí)平臺(tái)的設(shè)計(jì)與應(yīng)用[J].科技信息,2011 (10):230-231. </p><p> [2] 張宏偉,王新環(huán),王新.基于Proteus和K
98、eil的單片機(jī)實(shí)驗(yàn)教學(xué)改革[J][J].電氣電子教學(xué)學(xué)報(bào),2008,12(6):64-65. </p><p> [3] 貢雪梅,許剛.基于單片機(jī)綜合實(shí)訓(xùn)平臺(tái)的開(kāi)發(fā)[J].西安航空技術(shù)高等專(zhuān)科學(xué)校學(xué)報(bào),2012(5). </p><p> [4] 張敏菊.MSC-51單片機(jī)學(xué)習(xí)板的設(shè)計(jì)與研究[J].中國(guó)新通信,2012,14(21): 70-71.</p><p&g
99、t; [5] 夏莉英,陳雁.AT89C51單片機(jī)與PC機(jī)的通信接口及編程[J].電子工程師, 2006, 9.</p><p> [6] 黃智強(qiáng). 51單片機(jī)學(xué)習(xí)板模塊接線方法及演示程序 (上)[J].電子制作, 2007 (10): 28-30.</p><p> [7] 黃智強(qiáng).51單片機(jī)學(xué)習(xí)板模塊接線方法及演示程序(下)[J].電子制作,2007 (11):20-21. <
100、;/p><p> [8] 莊建清,徐瑋. 51單片機(jī)控制的超聲波學(xué)習(xí)板[J].電子制作,2009(1):16-18.</p><p> [9] 孫振華,許剛.基于串行接口7289的單片機(jī)學(xué)習(xí)板設(shè)計(jì)[J].西安航空技術(shù)高等專(zhuān)科學(xué)校學(xué)報(bào),2010,28(003):27-29.</p><p> [10] Pardo F, Boluda J A, De Ves E. D
101、evelopment board for the microcontroller lab[J]. Proc TELEC, 2002. </p><p> [11] Liu X, Gao G. Temperature Monitoring System Based on AT89C51[M]//Advances in Computer Science, Intelligent System and Environ
102、ment. Springer Berlin Heidelberg, 2011: 601-605.</p><p> [12] Shu-ping YU. Teaching Reform Based on IAP Microcontroller and Keil C51[J]. Journal of Electrical & Electronic Education, 2008, 6: 043.</p
103、><p> 附錄1 LCD滾動(dòng)顯示程序</p><p> #include<reg51.h></p><p> #define uint unsigned int</p><p> #define uchar unsigned char</p><p> #define dat P0</p&g
104、t;<p> sbit rs=P1^0; //定義LCD1602的RS,RW和E引腳連接</p><p> sbit rw=P1^1;</p><p> sbit e=P1^2;</p><p> sbit psb=P1^3;</p><p> sbit reset=P1^5;</p>
105、;<p> sbit button=P2^4;</p><p> uchar busy; //1602判忙標(biāo)志//</p><p> void delay_1ms(void); //延時(shí)程序</p><p> void display(void);
106、 //顯示程序</p><p> void busy_1602(void); //液晶查忙程序 </p><p> void shj_1602(uchar a); //液晶寫(xiě)數(shù)據(jù)程序</p><p> void int_1602(void);
107、 //液晶初始化</p><p> void zhl_1602(uchar a); //液晶寫(xiě)指令程序</p><p> void main(void) //主程序</p><p> { int ii=0;</p><p&
108、gt;<b> psb=1;</b></p><p><b> reset=1;</b></p><p> display();</p><p><b> for(;;)</b></p><p> { if(button)</p><p>
109、 zhl_1602(0x1c);</p><p><b> else</b></p><p> zhl_1602(0x18);</p><p> for(ii=0;ii<500;ii++)</p><p> delay_1ms();</p><p> //zhl_1602(0x1c
110、);</p><p> zhl_1602(0x0e);}}</p><p> void delay_1ms(void) //延時(shí)程序</p><p> { uchar i,j;</p><p> for(i=0;i<10;i++)</p><p>
111、; for(j=0;j<20;j++); }</p><p> void display(void)//液晶顯示程序</p><p> { uchar i;</p><p> uchar table0[16]={"Hello 51 MCU "}; //設(shè)置需要顯示的字符</p><p> uc
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--虛擬單片機(jī)實(shí)驗(yàn)系統(tǒng)的開(kāi)發(fā)
- 畢業(yè)論文--虛擬單片機(jī)實(shí)驗(yàn)系統(tǒng)的開(kāi)發(fā)
- 基于51單片機(jī)的開(kāi)發(fā)板設(shè)計(jì)畢業(yè)論文
- 單片機(jī)教學(xué)實(shí)驗(yàn)箱的開(kāi)發(fā)與研究-畢業(yè)論文
- 單片機(jī)教學(xué)實(shí)驗(yàn)箱的開(kāi)發(fā)與研究畢業(yè)論文
- 畢業(yè)論文-單片機(jī)開(kāi)發(fā)板設(shè)計(jì)【精校排版】
- 畢業(yè)論文范文——便捷式單片機(jī)實(shí)驗(yàn)開(kāi)發(fā)裝置
- 單片機(jī)畢業(yè)論文
- 單片機(jī)畢業(yè)論文
- 單片機(jī)畢業(yè)論文
- 單片機(jī)畢業(yè)論文
- 單片機(jī)開(kāi)發(fā)的流量計(jì)畢業(yè)論文
- 單片機(jī)畢業(yè)論文8
- 單片機(jī)秒表畢業(yè)論文
- 51單片機(jī)畢業(yè)論文---基于單片機(jī)的進(jìn)制換算
- 單片機(jī)課程設(shè)計(jì)--基于stc單片機(jī)的實(shí)驗(yàn)板開(kāi)發(fā)與設(shè)計(jì)
- 單片機(jī)畢業(yè)論文--數(shù)字時(shí)鐘
- 畢業(yè)論文——單片機(jī)定時(shí)鬧鐘
- 單片機(jī)串口通信畢業(yè)論文
- 基于單片機(jī)的電參數(shù)檢測(cè)插座開(kāi)發(fā)【畢業(yè)論文】
評(píng)論
0/150
提交評(píng)論