2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩69頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  畢 業(yè) 設(shè) 計(jì)(論 文)</p><p>  題 目: 基于51單片機(jī)的開(kāi)發(fā)板設(shè)計(jì)</p><p>  院 (系): </p><p>  專(zhuān) 業(yè): </p><p&g

2、t;  班 級(jí): </p><p>  學(xué)生姓名:   </p><p>  導(dǎo)師姓名: 職稱(chēng): </p><p>  畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)</p><p>&

3、lt;b>  任務(wù)與要求</b></p><p>  西 安 郵 電 學(xué) 院</p><p>  畢 業(yè) 設(shè) 計(jì) (論文) 工 作 計(jì) 劃</p><p>  學(xué)生姓名 ___ 指導(dǎo)教師___職稱(chēng) _</p><p>  院(系)_____ _______專(zhuān)業(yè) _____ </p><p

4、>  題目 S51開(kāi)發(fā)板的設(shè)計(jì) </p><p><b>  工作進(jìn)程</b></p><p>  第一周 至第二周 查找S51單片機(jī)資料,確定軟硬件設(shè)計(jì)總體方案。 </p><p>  第三周至第五周 使用Pro

5、tel軟件,確定單片機(jī)外圍電路的各功能模塊硬件設(shè)計(jì)。 </p><p>  第六周至第八周 使用Keil C 設(shè)計(jì)軟件,對(duì)各個(gè)功能模塊進(jìn)行軟件設(shè)計(jì)。 </p><p>  第九周至第十二周 利用Proteus進(jìn)行軟件仿真,對(duì)功能模塊進(jìn)行仿真驗(yàn)證,仿真驗(yàn)證合格后進(jìn)行PCB加工,焊接

6、元器件,制作出S51開(kāi)發(fā)板及下載器,并對(duì)開(kāi)發(fā)板和下載器功能進(jìn)行最后驗(yàn)證,保證功能全部能夠?qū)崿F(xiàn)。 </p><p>  第十三周至第十四周 撰寫(xiě)畢業(yè)論文,準(zhǔn)備答辯。</p><p>  主要參考書(shū)目(資料)</p><p>  相關(guān)論文(電子版);</p><p>  《新概念51單片機(jī)C語(yǔ)言

7、教程》;</p><p>  《新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)》;</p><p>  《51單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)實(shí)例精講》;</p><p>  及相關(guān)網(wǎng)站http://www.21ic.com</p><p>  計(jì)算機(jī)、S51控制器及外圍元件、相關(guān)傳感器、配套軟件</p><p>  除每周定時(shí)具體指導(dǎo)外,學(xué)

8、生有問(wèn)題也可隨時(shí)聯(lián)系指導(dǎo)。</p><p>  如有特殊原因可是當(dāng)調(diào)整,否則按計(jì)劃執(zhí)行。</p><p><b>  說(shuō)明:</b></p><p>  本報(bào)告必須由承擔(dān)畢業(yè)論文(設(shè)計(jì))課題任務(wù)的學(xué)生在畢業(yè)論文(設(shè)計(jì)) 正式開(kāi)始的第1周周五之前獨(dú)立撰寫(xiě)完成,并交指導(dǎo)教師審閱。</p><p>  西安郵電學(xué)院畢業(yè)設(shè)計(jì) (

9、論文)成績(jī)?cè)u(píng)定表</p><p>  西安郵電學(xué)院畢業(yè)論文(設(shè)計(jì))成績(jī)?cè)u(píng)定表(續(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è)計(jì)方案2</p><p>  2.2 設(shè)計(jì)原則2</p><p><b>  3 硬件部分3</b></p><p>  3.1 硬件結(jié)構(gòu)框圖3</p>

11、<p>  3.2 硬件電路設(shè)計(jì)4</p><p>  3.2.1 S51單片機(jī)主控制模塊4</p><p>  3.2.2 鍵盤(pán)模塊4</p><p>  3.2.3 AD模塊5</p><p>  3.2.4 DA模塊6</p><p>  3.2.5 DS1302時(shí)鐘模塊7&l

12、t;/p><p>  3.2.6 測(cè)溫模塊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è)計(jì)19</p><p>  4.2 分模塊程序設(shè)計(jì)19</p><p>  4.2.1 鍵盤(pán)模塊程序設(shè)計(jì)19</p><p>  4.2.2 AD模塊程序設(shè)計(jì)20</p><p>  4.2.3 DA模塊程序設(shè)計(jì)22</p&g

14、t;<p>  4.2.4 DS1302時(shí)鐘模塊程序設(shè)計(jì)23</p><p>  4.2.5 測(cè)溫模塊程序設(shè)計(jì)25</p><p>  4.2.6 串行通信模塊程序設(shè)計(jì)28</p><p>  4.2.7 顯示模塊程序設(shè)計(jì)30</p><p>  4.2.8 其他模塊38</p><p&g

15、t;  5 開(kāi)發(fā)板設(shè)計(jì)及測(cè)試41</p><p>  5.1 開(kāi)發(fā)板PCB設(shè)計(jì)41</p><p>  5.2 開(kāi)發(fā)板測(cè)試41</p><p><b>  6 結(jié)論43</b></p><p><b>  致謝44</b></p><p><b>  參考

16、文獻(xiàn)45</b></p><p><b>  附錄46</b></p><p>  附錄1 鍵盤(pán)模塊部分程序46</p><p>  附錄2 AD模塊部分程序46</p><p>  附錄3 DA模塊部分程序48</p><p>  附錄4 DS1302時(shí)鐘模塊部分程

17、序48</p><p>  附錄5 測(cè)溫模塊部分程序51</p><p>  附錄6 單片機(jī)通過(guò)MAX485與PC機(jī)通訊程序52</p><p>  附錄7 LCD1602顯示模塊部分程序53</p><p>  附錄8 開(kāi)發(fā)板整觀圖55</p><p>  附錄9 下載器整觀圖55</p&

18、gt;<p><b>  摘 要</b></p><p>  設(shè)計(jì)一種基于S51單片機(jī)的開(kāi)發(fā)板,該開(kāi)發(fā)板具有成本低、體積小、可靠性高、功能齊全、低功耗設(shè)計(jì)、操作方便等特點(diǎn)。本論文詳細(xì)介紹了該開(kāi)發(fā)板的開(kāi)發(fā)過(guò)程及相關(guān)硬件結(jié)構(gòu)和軟件設(shè)計(jì)。開(kāi)發(fā)板以ATMEL公司的AT89S51單片機(jī)為核心控制器,板上資源主要包括數(shù)據(jù)采集處理模塊、DS1302時(shí)鐘模塊、通信模塊、液晶顯示模塊、鍵盤(pán)模塊等

19、。針對(duì)各個(gè)硬件模塊開(kāi)發(fā)了相應(yīng)的軟件模塊,包括各個(gè)控制驅(qū)動(dòng)程序、AD/DA程序、RS232/ RS485通信程序、液晶顯示程序等。</p><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)鍵詞:S51 D

20、S1302 通信 液晶顯示 鍵盤(pán) </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>  單片機(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ī)的選擇,C51系列單片機(jī)內(nèi)部具有128字節(jié)RAM、5個(gè)

26、中斷源、32條I/O口線(xiàn)、2個(gè)16位定時(shí)器、4KB的程序存儲(chǔ)器、一個(gè)全雙工異步串行口。本開(kāi)發(fā)板選擇具有ISP在線(xiàn)編程功能的S51單片機(jī),該單片機(jī)不需要燒寫(xiě)器,可在開(kāi)發(fā)板上ISP在線(xiàn)編程,具有廣泛的應(yīng)用前景。</p><p>  S51單片機(jī)除兼容C51單片機(jī)外,還具有工作頻率0至33MHz的高工作頻率;可以滿(mǎn)足絕大多數(shù)的實(shí)際應(yīng)用開(kāi)發(fā)需求,在開(kāi)發(fā)板上使用十分方便。</p><p>  本課題

27、設(shè)計(jì)的S51單片機(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在線(xiàn)下載到單片機(jī),無(wú)需配置單獨(dú)的下載器。單片機(jī)使用ISP在線(xiàn)下載程序,加快了程序設(shè)計(jì)者調(diào)試的進(jìn)度,使設(shè)計(jì)者所設(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&

28、gt;<b>  2 系統(tǒng)方案</b></p><p>  2.1 總體設(shè)計(jì)方案</p><p>  本開(kāi)發(fā)板共分為十四個(gè)模塊,分別是:S51單片機(jī)主控制器模塊、鍵盤(pán)模塊、AD模塊、DA模塊、DS1302時(shí)鐘模塊、測(cè)溫模塊、MAX232模塊、MAX485模塊、數(shù)碼管模塊、LCD1602模塊、LCD12864模塊、下載器模塊、流水燈模塊、蜂鳴器模塊。其中以S51單片機(jī)作

29、為核心控制器;鍵盤(pán)模塊用來(lái)向單片機(jī)輸入特定編碼的信息;AD模塊用來(lái)實(shí)現(xiàn)模數(shù)轉(zhuǎn)換;DA模塊用來(lái)實(shí)現(xiàn)DA轉(zhuǎn)換;DS1302時(shí)鐘模塊用來(lái)實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘;測(cè)溫模塊用來(lái)測(cè)量環(huán)境溫度;RS232模塊和RS485模塊通過(guò)電平轉(zhuǎn)換實(shí)現(xiàn)通信;數(shù)碼管模塊用來(lái)顯示簡(jiǎn)單的數(shù)字、字母;LCD1602模塊用來(lái)顯示字母、數(shù)字、符號(hào);LCD12864模塊用來(lái)顯示圖像、符號(hào)、漢字;下載器模塊用來(lái)實(shí)現(xiàn)S51單片機(jī)的ISP在線(xiàn)編程;流水燈模塊用來(lái)顯示單片機(jī)I/O口電平的變化;

30、蜂鳴器模塊用來(lái)發(fā)出聲音。</p><p><b>  2.2 設(shè)計(jì)原則</b></p><p>  開(kāi)發(fā)板系統(tǒng)的擴(kuò)展和配置應(yīng)遵循以下設(shè)計(jì)原則: </p><p>  (1)盡可能選擇典型電路,并符合單片機(jī)常規(guī)用法。為硬件系統(tǒng)的標(biāo)準(zhǔn)化、模塊化打下良好的基礎(chǔ);</p><p>  (2)系統(tǒng)擴(kuò)展與外圍設(shè)備的配置水平應(yīng)充分滿(mǎn)足

31、應(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)與軟件方案會(huì)產(chǎn)生相互影響,考慮的原則是:軟件能實(shí)現(xiàn)的功能盡可能由軟件實(shí)現(xiàn),以簡(jiǎn)化硬件結(jié)構(gòu)。但必須注意,由軟件實(shí)現(xiàn)的硬件功能,一般響應(yīng)時(shí)間比硬件實(shí)現(xiàn)長(zhǎng),且占用CPU時(shí)間;</p><p>  (4)系統(tǒng)中的相關(guān)器件要盡可能做到性能匹配。如選用CMOS芯片單片機(jī)構(gòu)成低

32、功耗系統(tǒng)時(shí),系統(tǒng)中所有芯片都應(yīng)盡可能選擇低功耗產(chǎn)品; </p><p>  (5)可靠性及抗干擾設(shè)計(jì)是硬件設(shè)計(jì)必不可少的一部分,它包括芯片、器件選擇、去耦濾波、印刷電路板布線(xiàn)、通道隔離等;</p><p>  (6)單片機(jī)外圍電路較多時(shí),必須考慮其驅(qū)動(dòng)能力。驅(qū)動(dòng)能力不足時(shí),系統(tǒng)工作不可靠,可通過(guò)增設(shè)線(xiàn)驅(qū)動(dòng)器增強(qiáng)驅(qū)動(dòng)能力或減少芯片功耗來(lái)降低總線(xiàn)負(fù)載; </p><p>

33、;  (7)盡量朝“單片”方向設(shè)計(jì)硬件系統(tǒng)。系統(tǒng)器件越多,器件之間相互干擾也越強(qiáng),功耗也增大,也不可避免地降低了系統(tǒng)的穩(wěn)定性。</p><p><b>  3 硬件部分</b></p><p>  3.1 硬件結(jié)構(gòu)框圖</p><p>  總體硬件結(jié)構(gòu)主要包括:S51單片機(jī)主控制器模塊、鍵盤(pán)模塊、AD模塊、DA模塊、DS1302時(shí)鐘模塊、測(cè)溫模

34、塊、MAX232模塊、MAX485模塊、數(shù)碼管模塊、LCD1602模塊、LCD12864模塊、下載器模塊、流水燈模塊、蜂鳴器模塊。硬件結(jié)構(gòu)框圖如圖3-1所示: </p><p>  圖3-1 總體硬件結(jié)構(gòu)框圖</p><p>  3.2 硬件電路設(shè)計(jì)</p><p>  3.2.1 S51單片機(jī)主控制模塊</p><p>  S51單片機(jī)

35、最小系統(tǒng)包括:MCU、復(fù)位電路、晶振電路。原理圖如圖3-2所示: </p><p>  圖3-2 S51單片機(jī)主控制模塊原理圖</p><p>  采用按鍵復(fù)位方式,選取晶振為12MHZ,系統(tǒng)機(jī)器周期為1us。</p><p>  3.2.2 鍵盤(pán)模塊</p><p>  在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口的占用,通常將按鍵排列成矩

36、陣形式,如圖3-3所示:</p><p>  圖3-3 鍵盤(pán)模塊原理圖</p><p>  JP7用來(lái)連接P2口與矩陣鍵盤(pán)模塊,在矩陣式鍵盤(pán)中,每條水平線(xiàn)和垂直線(xiàn)在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如P2口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線(xiàn)用于鍵盤(pán)多出了一倍,而且線(xiàn)數(shù)越多,區(qū)別越明顯,比如再多加一條線(xiàn)就可以構(gòu)成20鍵的鍵盤(pán),而直接用端口線(xiàn)則只能多出一

37、鍵(9鍵),在需要的按鍵數(shù)較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的。</p><p>  3.2.3 AD模塊</p><p>  a ADC0832簡(jiǎn)介</p><p>  A/D轉(zhuǎn)換在單片機(jī)接口中應(yīng)用廣泛,串行A/D轉(zhuǎn)換器具有功耗低、性?xún)r(jià)比較高、芯片引腳少等特點(diǎn)。ADC0832是NS(National Semiconductor)公司生產(chǎn)的具有Microwire/P

38、lus串行接口的8位A/D轉(zhuǎn)換器,通過(guò)三線(xiàn)接口與單片機(jī)連接,適宜在袖珍式智能儀器中使用。主要性能指標(biāo)有:功耗低,只有15mW;8位分辨率,逐次逼近型,基準(zhǔn)電壓為5V;輸入模擬信號(hào)電壓范圍為0~5V;輸入和輸出電平與TTL和CMOS兼容;在250kHz時(shí)鐘頻率時(shí),轉(zhuǎn)換時(shí)間為32us;具有兩個(gè)可供選擇的模擬輸入通道。</p><p>  ADC0832有DIP和SOIC兩種封裝,DIP封裝的,ADC0832引腳排列如

39、圖3-4所示:</p><p>  圖3-4 ADC0832引腳圖</p><p><b>  各引腳說(shuō)明如下:</b></p><p>  CS—片選端,低電平有效;</p><p>  CH0,CH1—兩路模擬信號(hào)輸入端;</p><p>  D I—兩路模擬輸入選擇輸入端;</p&g

40、t;<p>  DO—模數(shù)轉(zhuǎn)換結(jié)果串行輸出端;</p><p>  CLK—串行時(shí)鐘輸入端;</p><p>  VCC /REF—正電源端和基準(zhǔn)電壓輸入端;</p><p><b>  GND—電源地。</b></p><p>  ADC0832工作時(shí),模擬通道的選擇及單端輸入和差分輸入的選擇,都取決于輸

41、入時(shí)序的配置位。當(dāng)差分輸入時(shí),要分配輸入通道的極性,兩個(gè)輸入通道的任何一個(gè)通道都可作為正極或負(fù)極。</p><p><b>  b 硬件實(shí)現(xiàn)</b></p><p>  AD模塊的原理圖如圖3-5所示:</p><p>  圖3-5 AD模塊原理圖</p><p>  單片機(jī)與ADC0832通過(guò)P2.5、P2.6、P2.

42、7相連,分別為時(shí)鐘信號(hào)線(xiàn)、數(shù)據(jù)輸出信號(hào)線(xiàn)、片選信號(hào)線(xiàn)。開(kāi)發(fā)板可外接模擬信號(hào),也可由電位器R7、R8將+5V分壓后提供兩路模擬信號(hào)。 </p><p>  3.2.4 DA模塊</p><p>  a TLC5615簡(jiǎn)介 </p><p>  TLC5615為美國(guó)德州儀器公司1999年推出的產(chǎn)品,是具有串行接口的數(shù)模轉(zhuǎn)換器,其輸出為電壓型,最大輸出電壓是基準(zhǔn)電壓值的

43、兩倍。帶有上電復(fù)位功能,即把DAC寄存器復(fù)位至全零。TLC5615性能價(jià)格比高,目前在國(guó)內(nèi)市場(chǎng)很方便購(gòu)買(mǎi)。主要性能指標(biāo)有:10位CMOS電壓輸出;5V單電源供電;與CPU三線(xiàn)串行接口;最大輸出電壓可達(dá)基準(zhǔn)電壓的二倍;輸出電壓具有和基準(zhǔn)電壓相同極性;建立時(shí)間12.5μs;內(nèi)部上電復(fù)位;低功耗,最大僅1.75mW。 </p><p>  TLC5615有小型和塑料DIP封裝,DIP封裝的TLC5615芯片引腳排列如圖

44、3-6所示: </p><p>  圖3-6 TLC5615引腳排列圖</p><p>  引腳功能說(shuō)明如下: </p><p>  DIN—串行數(shù)據(jù)輸入端; </p><p>  SCLK—串行時(shí)鐘輸入端; </p><p>  CS—芯

45、片選用通端,低電平有效; </p><p>  DOUT—用于級(jí)聯(lián)時(shí)的串行數(shù)據(jù)輸出端; </p><p>  AGND—模擬地; </p><p>  REFIN—基準(zhǔn)電壓輸入端; </p><p>  OUT—DAC模擬電壓輸出端; </p><p>  VDD—正電源端。 </p><p>

46、<b>  b 硬件實(shí)現(xiàn)</b></p><p>  DA模塊的原理圖如圖3-7所示:</p><p>  圖3-7 DA模塊原理圖</p><p>  單片機(jī)與TLC5615通過(guò)P2.0、P2.1、P2.2相連,分別為片選信號(hào)線(xiàn)、時(shí)鐘信號(hào)線(xiàn)、數(shù)據(jù)輸入信號(hào)線(xiàn)。TLC5615轉(zhuǎn)換后的模擬信號(hào)通過(guò)OUT端輸出。</p><p&g

47、t;  3.2.5 DS1302時(shí)鐘模塊</p><p>  a DS1302簡(jiǎn)介</p><p>  DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償功能,工作電壓寬達(dá)2.5~5.5V。采用三線(xiàn)接口與MCU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部

48、有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。主要性能指標(biāo)有:31字節(jié)帶后備電池的RAM用于數(shù)據(jù)存儲(chǔ);串行I/O口,管腳數(shù)量少;寬范圍工作電壓:2.0~5.5V;工作電壓2.0V時(shí),電流小于300nA;讀/寫(xiě)時(shí)鐘或RAM數(shù)據(jù)時(shí)有兩種傳送方式—單字節(jié)傳送和突發(fā)模式傳送;8 腳DIP封裝或其他可選封裝方式;簡(jiǎn)單的3線(xiàn)接口;與TTL 兼容(Vcc = 5V);可選工業(yè)級(jí)溫度范圍:- 40℃~+ 85℃;與DS1202 兼容。</p&

49、gt;<p>  DS1302 的引腳如圖3-8所示:</p><p>  圖3-8 DS1302引腳圖</p><p>  Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2高于Vcc1 + 0. 2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2低于Vcc1時(shí),DS1302由Vcc

50、1 供電。X1、X2為振蕩源,外接32. 768 kHz晶振。I/O為串行數(shù)據(jù)輸入/輸出端(雙向),SCL K為時(shí)鐘輸入端。RST是復(fù)位片選線(xiàn),通過(guò)把RST輸入驅(qū)動(dòng)置為高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:RST接通控制邏輯,允許地址/命令序列送入移位寄存器;RST提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許DS1302進(jìn)行操作。如果在傳送過(guò)程中置RST為低電平,則會(huì)終止此次數(shù)據(jù)傳

51、送,并且I/ O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc高于2. 5V之前,RST必須保持低電平。只有在SCL K為低電平時(shí),才能將RST置為高電平。</p><p><b>  b 硬件實(shí)現(xiàn)</b></p><p>  DS1302時(shí)鐘模塊的原理圖如圖3-9所示:</p><p>  圖3-9 DS1302時(shí)鐘原理圖</p><

52、;p>  單片機(jī)與DS1302通過(guò)P3.5、P3.6、P3.7相連,分別為時(shí)鐘信號(hào)線(xiàn)、輸入輸出線(xiàn)、復(fù)位信號(hào)線(xiàn)。DS1302的晶振引腳連接32768HZ的晶振。</p><p>  3.2.6 測(cè)溫模塊</p><p>  a DS18B20簡(jiǎn)介</p><p>  DS18B20 是DALLAS 半導(dǎo)體公司生產(chǎn)的,是一種單總線(xiàn)溫度傳感器,屬于新一代適配微處理

53、器的智能溫度傳感器,有兩種封裝形式分別為3腳PR-35封裝和16腳SSOP封裝。本文采用的是3腳PR-35封裝,其具有以下特點(diǎn):采用了單總線(xiàn)技術(shù),傳感器直接以二進(jìn)制輸出被測(cè)溫度,可通過(guò)串行口線(xiàn),也可與單機(jī)通過(guò)I/O 口連接;測(cè)量溫度范圍為:- 55℃~+125℃,測(cè)量精度高達(dá)+0.5℃;內(nèi)含寄生電源,在兩線(xiàn)方式下可通過(guò)數(shù)據(jù)線(xiàn)提供寄生電源,而不需要再單獨(dú)供電;轉(zhuǎn)換時(shí)間在分辨率為12位(即0.0625℃)時(shí)最大為750ms;用戶(hù)可分別對(duì)每個(gè)

54、器件設(shè)定溫度上下限;DS18B20 在使用時(shí)不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi);電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作;每個(gè)DSl8B20 器件對(duì)應(yīng)一個(gè)唯一的64 位長(zhǎng)的序號(hào),該序號(hào)值存放ROM中,可通過(guò)序號(hào)匹配實(shí)現(xiàn)多點(diǎn)測(cè)溫。引腳排列如圖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 硬件實(shí)現(xiàn)</b></p><p>  DS18b20溫度傳感器模塊的原理圖如圖3-11所示:</p><p&

56、gt;  圖3-11 DS18b20溫度傳感器模塊原理圖</p><p>  單片機(jī)與DS18B20通過(guò)P3.7相連,作為數(shù)據(jù)/控制信號(hào)線(xiàn)。</p><p>  3.2.7 串行通信模塊</p><p>  a RS232串行通信模塊</p><p>  RS232是由電子工業(yè)協(xié)會(huì)(Electronic Industries Associa

57、tion,EIA) 所制定的異步傳輸標(biāo)準(zhǔn)接口。對(duì)于一般雙工通信,僅需幾條信號(hào)線(xiàn)就可實(shí)現(xiàn),如一條發(fā)送線(xiàn)、一條接收線(xiàn)及一條地線(xiàn)。</p><p>  RS232與TTL電路之間需要進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。MAX232芯片可完成TTL←→RS232雙向電平轉(zhuǎn)換。</p><p>  MAX232芯片是RS232標(biāo)準(zhǔn)接口芯片,使用+5v單電源供

58、電。是PC機(jī)與單片機(jī)串口進(jìn)行通訊的電平轉(zhuǎn)換芯片。內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分:</p><p>  第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS232串口電平的需要。</p><p>  第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(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>  單片機(jī)與MAX232通過(guò)P3.0、P3.1相連,分別為發(fā)送線(xiàn)、接收線(xiàn),另外單片機(jī)要與MAX232共地。</p><p>  b RS485串行通信模塊</p><

61、p>  RS232由于傳輸速率慢,傳輸距離短,傳輸信號(hào)易受外界的干擾等缺點(diǎn)。新的串行通訊接口標(biāo)準(zhǔn)RS-449被制定出來(lái),與之相對(duì)應(yīng)的是RS-485的電氣標(biāo)準(zhǔn)。RS-485是美國(guó)電氣工業(yè)聯(lián)合會(huì)(EIA)制定的利用平衡雙絞線(xiàn)作傳輸線(xiàn)的多點(diǎn)通訊標(biāo)準(zhǔn)。它采用差分信號(hào)進(jìn)行傳輸;最大傳輸距離可以達(dá)到1.2 km;最大可連接32個(gè)驅(qū)動(dòng)器和收發(fā)器;接收器最小靈敏度可達(dá)±200 mV;最大傳輸速率可達(dá)2.5 Mb/s。由此可見(jiàn),RS-48

62、5協(xié)議正是針對(duì)遠(yuǎn)距離、高靈敏度、多點(diǎn)通訊制定的標(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)和引腳都非常簡(jiǎn)單,內(nèi)部含有一個(gè)驅(qū)動(dòng)器和接收器。RO和DI端分別為接收

63、器的輸出和驅(qū)動(dòng)器的輸入端,與單片機(jī)連接時(shí)只需分別與單片機(jī)的RXD和TXD相連即可;/RE和DE端分別為接收和發(fā)送的使能端,當(dāng)/RE為邏輯0時(shí),器件處于接收狀態(tài);當(dāng)DE為邏輯1時(shí),器件處于發(fā)送狀態(tài),因?yàn)镸AX485工作在半雙工狀態(tài),所以只需用單片機(jī)的一個(gè)管腳控制這兩個(gè)引腳即可;A端和B端分別為接收和發(fā)送的差分信號(hào)端,當(dāng)A引腳的電平高于B時(shí),代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時(shí),代表發(fā)送的數(shù)據(jù)為0。在與單片機(jī)連接時(shí)接線(xiàn)非常簡(jiǎn)單。只需要一

64、個(gè)信號(hào)控制MAX485的接收和發(fā)送即可。同時(shí)將A和B端之間加匹配電阻,一般可選100Ω的電阻。</p><p>  MAX485模塊的原理圖如圖3-14所示:</p><p>  圖3-14 MAX485模塊原理圖</p><p>  單片機(jī)與MAX485通過(guò)P3.0、P3.1、P3.2相連,分別為接收輸出線(xiàn)、發(fā)送輸入線(xiàn)、發(fā)送/接收使能信號(hào)線(xiàn)。</p>

65、<p>  3.2.8 顯示模塊</p><p><b>  a 數(shù)碼管模塊</b></p><p>  (1) 數(shù)碼管驅(qū)動(dòng)采用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)變時(shí)一個(gè)建立周期以上的高電平</p><p><b>  L=低電平</b></p><p>  I=要保持高電平到低電平轉(zhuǎn)變時(shí)一個(gè)建立周期以上的低電平</p><p><b>

67、;  Z=高組態(tài) </b></p><p>  選用74HC573增強(qiáng)驅(qū)動(dòng)能力,提高數(shù)碼管顯示亮度。A-DP對(duì)應(yīng)八段數(shù)碼管的各段,當(dāng)A-DP中有低電平輸出時(shí),被低電平片選中的數(shù)碼管的相應(yīng)段點(diǎn)亮。</p><p><b>  (2) 硬件實(shí)現(xiàn):</b></p><p>  數(shù)碼管模塊的原理圖如圖3-15所示:</p>

68、<p>  圖3-15 數(shù)碼管模塊原理圖</p><p>  單片機(jī)與74HC573通過(guò)P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7相連,作為段碼信號(hào)線(xiàn);與74HC138通過(guò)P1.0、P1.1、P1.2相連,作為片選信號(hào)線(xiàn)。</p><p>  b LCD1602模塊</p><p>  (1) LCD1602簡(jiǎn)介:<

69、;/p><p>  LCD1602點(diǎn)陣字符液晶模塊是由點(diǎn)陣字符液晶顯示器件和專(zhuān)用的行列驅(qū)動(dòng)器,控制器及必要的連接件,結(jié)構(gòu)件裝配而成,可以顯示數(shù)字和英文字符。</p><p>  LCD1602采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明如表3-2所示:</p><p>  表3-2 LCD1602引腳接口圖</p><p>

70、  續(xù)表3-2 LCD1602引腳接口圖</p><p><b>  (2) 硬件實(shí)現(xiàn):</b></p><p>  LCD1602模塊的原理圖如圖3-16所示:</p><p>  圖3-16 LCD1602模塊原理圖</p><p>  單片機(jī)與LCD1602通過(guò)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ù)線(xiàn),P1.0、P1.1、P1.2為控制線(xiàn)。</p><p>  c LCD12864模塊</p><p>  (1) LCD12864簡(jiǎn)介:</p><p>  LCD12864漢字圖形點(diǎn)陣液晶顯示模塊可以顯示漢字、圖形、ASCⅡ碼和自定義字形,內(nèi)置8192個(gè)16*16的中文漢字

72、、128個(gè)8*16字符、以及64*256點(diǎn)陣顯示RAM,控制器為ST7920,具有串/并接口方式,其內(nèi)部含有中文字庫(kù),LCD12864顯示屏為128*64點(diǎn)陣,可顯示4行,每行8個(gè)字,模塊內(nèi)含有多種軟件功能:光標(biāo)顯示、畫(huà)面移位、自定義字符、反白、清除、關(guān)閉顯示和睡眠模式等,可方便地對(duì)模塊進(jìn)行控制。模塊內(nèi)置升壓電路,無(wú)需負(fù)壓,配置LED背光。3V低電平工作時(shí),只需一個(gè)20K的電阻與Vo的地相接。適用于3.3V~5V寬范圍工作電壓的系統(tǒng)。&

73、lt;/p><p>  RS,R/W的配合決定的4種模式見(jiàn)表3-3:</p><p>  表3-3 RS,R/W決定的控制模式</p><p>  E信號(hào)的狀態(tài)產(chǎn)生的動(dòng)作見(jiàn)表3-4:</p><p>  表3-4 E信號(hào)的狀態(tài)產(chǎn)生的動(dòng)作</p><p>  LCD12864的并行接口見(jiàn)表3-5:</p>&

74、lt;p>  表3-5 LCD12864的并行接口</p><p>  *注釋1:如在實(shí)際應(yīng)用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VCC”用焊錫短接。</p><p>  *注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場(chǎng)合可將該端懸空。 </p><p>  *注釋3:如背光和模塊共用一個(gè)電源,可以將模塊上的

75、JA、JK用焊錫短接。</p><p><b>  (2) 硬件實(shí)現(xiàn):</b></p><p>  開(kāi)發(fā)板上LCD12864模塊的原理圖如圖3-17所示:</p><p>  圖3-17 LCD12864模塊原理圖</p><p>  單片機(jī)與LCD12864通過(guò)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ù)線(xiàn),P1.0、P1.1、P1.2為控制線(xiàn)。</p><p>  3.2.9 下載器模塊</p><p>  ATmega8是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間, ATmega8 的數(shù)據(jù)吞吐率高達(dá) 1MIPS/MHz,從而可以緩減系統(tǒng)在功

77、耗和處理速度之間的矛盾。</p><p>  ATmega8有如下特點(diǎn):8K字節(jié)的系統(tǒng)內(nèi)可編程 Flash(具有同時(shí)讀寫(xiě)的能力,即 RWW),512 字節(jié) EEPROM,1K 字節(jié) SRAM,32個(gè)通用I/O口線(xiàn),32 個(gè)通用工作寄存器,三個(gè)具有比較模式的靈活的定時(shí)器 / 計(jì)數(shù)器 (T/C), 片內(nèi) / 外中斷,可編程串行 USART,面向字節(jié)的兩線(xiàn)串行接口,10 位6 路(8 路為 TQFP與MLF 封裝)AD

78、C,具有片內(nèi)振蕩器的可編程看門(mén)狗定時(shí)器,一個(gè)SPI 串行端口,以及五種可以通過(guò)軟件進(jìn)行選擇的省電模式。工作于空閑模式時(shí) CPU 停止工作,而 SRAM、T/C、SPI 端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式時(shí)晶體振蕩器停止振蕩,所有功能除了中斷和硬件復(fù)位之外都停止工作;在省電模式下,異步定時(shí)器繼續(xù)運(yùn)行,允許用戶(hù)保持一個(gè)時(shí)間基準(zhǔn),而其余功能模塊處于休眠狀態(tài);ADC噪聲抑制模式時(shí)終止CPU 和除了異步定時(shí)器與ADC 以外所有 I/O 模塊的工作

79、,以降低ADC 轉(zhuǎn)換時(shí)的開(kāi)關(guān)噪聲;Standby 模式下只有晶體或諧振振蕩器運(yùn)行,其余功能模塊處于休眠狀態(tài),使得器件只消耗極少的電流,同時(shí)具有快速啟動(dòng)能力。 </p><p>  ATMEGA8L的引腳配置如下圖3-18所示: </p><p>  圖3-18 ATMEGA8L的引腳配置圖</p><p>  下載器模塊原理圖如圖3-19所示:</p>

80、<p>  圖3-19下載器模塊原理圖</p><p>  下載器模塊實(shí)現(xiàn)將USB信號(hào)轉(zhuǎn)換為能通過(guò)SPI協(xié)議傳輸?shù)男盘?hào),從而實(shí)現(xiàn)對(duì)單片機(jī)的編程。</p><p>  3.2.10 其他模塊</p><p>  流水燈模塊、蜂鳴器模塊的原理圖如圖3-20、圖3-21所示:</p><p>  圖3-20 流水燈模塊原理圖

81、 圖3-21蜂鳴器模塊原理圖</p><p>  如圖3-20所示流水燈模塊包含8個(gè)LED燈,單片機(jī)的P0口接10K上拉電阻,八個(gè)LED的負(fù)極依次連接單片機(jī)P0口的8個(gè)引腳,八個(gè)LED的正極依次與510歐姆的排阻的八個(gè)端子相連,排阻的公共端連接短路插針的一端,短路插針的另一端與電源相連,因此,若將短路插針用短路帽短路,則八個(gè)LED的正極上拉到高電平, LED低電平點(diǎn)亮。</p><

82、p>  如圖3-21所示,單片機(jī)的P3.4與Q1的基極通過(guò)1K歐姆電阻連接,當(dāng)P3.4為高電平時(shí),Q1導(dǎo)通,Q1的發(fā)射極與集電極導(dǎo)通,將發(fā)射極下拉為低電平,蜂鳴器兩端出現(xiàn)電位差,蜂鳴器發(fā)聲;當(dāng)P3.4為低電平時(shí),Q1不導(dǎo)通,蜂鳴器兩端沒(méi)有電流流過(guò),蜂鳴器不發(fā)聲。</p><p>  總結(jié):對(duì)硬件的設(shè)計(jì)采用模塊化設(shè)計(jì)方法,采用的電路為典型應(yīng)用電路,資源配置合理,通過(guò)使用短路帽連接相應(yīng)的功能模塊,降低了功耗,減

83、弱了器件之間的相互干擾,提高了系統(tǒng)穩(wěn)定性,硬件工作穩(wěn)定可靠。</p><p><b>  4 軟件部分</b></p><p>  4.1 整體程序設(shè)計(jì)</p><p>  軟件部分主要包括數(shù)碼管程序、鍵盤(pán)程序、AD程序、DA程序、DS1302時(shí)鐘程序、DS18b20溫度傳感器程序、串行通信程序、顯示程序和其他簡(jiǎn)單模塊程序。</p>

84、<p>  4.2 分模塊程序設(shè)計(jì)</p><p>  依據(jù)開(kāi)發(fā)板上硬件資源,進(jìn)行程序的開(kāi)發(fā),在軟件的設(shè)計(jì)過(guò)程中,采用模塊化的設(shè)計(jì)方法,依次分別為每個(gè)模塊設(shè)計(jì)軟件。下面分別介紹以上各個(gè)模塊的程序設(shè)計(jì)。</p><p>  4.2.1 鍵盤(pán)模塊程序設(shè)計(jì)</p><p>  矩陣式鍵盤(pán)的按鍵識(shí)別方法為:</p><p>  判斷鍵

85、盤(pán)中有無(wú)鍵按下:將全部行線(xiàn)KEY0-KEY3置低電平,然后檢測(cè)列線(xiàn)的狀態(tài)。只要有一列的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位于低電平線(xiàn)與4根行線(xiàn)相交叉的4個(gè)按鍵之中。若所有列線(xiàn)均為高電平,則鍵盤(pán)中無(wú)鍵按下。 </p><p>  判斷閉合鍵所在的位置:在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。其方法是:依次將行線(xiàn)置為低電平,即在置某根行線(xiàn)為低電平時(shí),其它線(xiàn)為高電平。在確定某根行線(xiàn)位置為低電平后,再

86、逐行檢測(cè)各列線(xiàn)的電平狀態(tài)。若某列為低,則該列線(xiàn)與置為低電平的行線(xiàn)交叉處的按鍵就是閉合的按鍵。 </p><p>  矩陣式鍵盤(pán)的按鍵編碼處理:將行線(xiàn)和列線(xiàn)依次進(jìn)行數(shù)值編碼,然后進(jìn)行一定規(guī)則的運(yùn)算,就是對(duì)鍵值的編碼。 </p><p>  鍵盤(pán)程序流程圖如圖4-1所示:</p><p>  圖4-1 鍵盤(pán)程序流程圖</p><p>  鍵盤(pán)采用

87、的是行掃描法確定鍵值,在程序中具體是這樣掃描鍵盤(pán)的:將鍵盤(pán)掃描碼送入P2口,先是使行線(xiàn)依次為低電平,順序?yàn)镵EY1、KEY2、KEY3、KEY4,在某一行線(xiàn)為低電平的狀態(tài)下,讀取P2口的狀態(tài),將狀態(tài)值依次右移四位,這樣便將KEY5-KEY8的狀態(tài)值移到了低四位,再將高四位狀態(tài)值置一,將處理后的狀態(tài)值與當(dāng)前的掃描碼比較,如果此時(shí)的狀態(tài)值與四個(gè)掃描碼中的一個(gè)相同,證明有鍵按下,此時(shí)保存掃描碼的數(shù)組下標(biāo)和與狀態(tài)值相等的掃描碼數(shù)組下標(biāo),并將兩個(gè)

88、值按照鍵盤(pán)編碼值進(jìn)行某一規(guī)則的四則運(yùn)算后返回給主函數(shù)中的某一變量;如果在全部行線(xiàn)依次為低電平情況下的狀態(tài)值與四個(gè)掃描碼中沒(méi)有一個(gè)相同,證明沒(méi)有鍵按下,返回-1到主函數(shù)。在主函數(shù)中調(diào)用鍵盤(pán)掃描函數(shù)對(duì)鍵盤(pán)進(jìn)行掃描,判斷返回鍵值,若返回值不為-1,證明右鍵按下,在某一個(gè)數(shù)碼管上顯示鍵值,若返回值為-1,證明沒(méi)有鍵按下,顯示先前按下的按鍵鍵值。</p><p>  4.2.2 AD模塊程序設(shè)計(jì)</p>&

89、lt;p>  a ADC0832的工作時(shí)序</p><p>  ADC0832的工作時(shí)序圖如圖4-2所示:</p><p>  圖4-2 ADC0832的工作時(shí)序圖</p><p>  當(dāng)CS由高變低時(shí),選中ADC0832。在時(shí)鐘的上升沿,D I端的數(shù)據(jù)移ADC0832內(nèi)部的多路地址移位寄存器。在第一個(gè)時(shí)鐘期間, D I為高,表示啟動(dòng)位,緊接著輸入兩位配置位

90、。當(dāng)輸入啟動(dòng)位和配置位后,選通輸入模擬通道,轉(zhuǎn)換開(kāi)始。轉(zhuǎn)換開(kāi)始后,經(jīng)過(guò)一個(gè)時(shí)鐘周期延遲,以使選定的通道穩(wěn)定。ADC0832 接著在第4個(gè)時(shí)鐘下降沿輸出轉(zhuǎn)換數(shù)據(jù)。數(shù)據(jù)輸出時(shí)先輸出最高位(D7~D0);輸出完轉(zhuǎn)換結(jié)果后,又以最低位開(kāi)始重新輸出一遍數(shù)據(jù)(D7~D0),兩次發(fā)送的最低位共用。當(dāng)片選CS為高時(shí),內(nèi)部所有寄存器清0,輸出變?yōu)楦咦钁B(tài)。如果要再進(jìn)行一次模/數(shù)轉(zhuǎn)換,片選CS必須再次從高向低跳變,后面再輸入啟動(dòng)位和配置位。</p>

91、;<p><b>  b AD程序流程圖</b></p><p>  AD程序流程圖如4-3所示:</p><p>  圖4-3 AD程序流程圖</p><p>  依據(jù)操作時(shí)序?qū)DC0832編程,包括轉(zhuǎn)換啟動(dòng)和AD值讀取函數(shù),在AD轉(zhuǎn)換函數(shù)中可以選擇ADC0832的轉(zhuǎn)換通道和輸入方式,即通道0或通道1,單通道輸入或差分輸入。

92、在主函數(shù)中循環(huán)讀取某一通道的模擬電壓值,將采集到的數(shù)據(jù)由16進(jìn)制轉(zhuǎn)換為ASCLL碼。并在液晶或數(shù)碼管上顯示出來(lái)。</p><p>  4.2.3 DA模塊程序設(shè)計(jì)</p><p>  a TLC5615的工作時(shí)序 </p><p>  TLC5615的工作時(shí)序如圖4-4所示:</p><p>  圖4-4 TLC5615的時(shí)序圖</

93、p><p>  由時(shí)序圖可以看出,當(dāng)片選CS為低電平時(shí),輸入數(shù)據(jù)DIN由時(shí)鐘SCLK同步輸入或輸出,而且最高有效位在前,低有效位在后。輸入時(shí)SCLK的上升沿把串行輸入數(shù)據(jù)DIN移入內(nèi)部的16位移位寄存器,SCLK的下降沿輸出串行數(shù)據(jù)DOUT,片選CS的上升沿把數(shù)據(jù)傳送至DAC寄存器。當(dāng)片選CS為高電平時(shí),串行輸入數(shù)據(jù)DIN不能由時(shí)鐘同步送入移位寄存器;輸出數(shù)據(jù)DOUT保持最近的數(shù)值不變而不進(jìn)入高阻狀態(tài)。由此要想串行輸

94、入數(shù)據(jù)和輸出數(shù)據(jù)必須滿(mǎn)足兩個(gè)條件:第一時(shí)鐘SCLK的有效跳變;第二片選CS為低電平。這里,為了使時(shí)鐘的內(nèi)部饋通最小,當(dāng)片選CS為高電平時(shí),輸入時(shí)鐘SCLK應(yīng)當(dāng)為低電平。 </p><p>  串行數(shù)模轉(zhuǎn)換器TLC5615的使用有兩種方式,即級(jí)聯(lián)方式和非級(jí)聯(lián)方式。如不使用級(jí)聯(lián)方式,DIN只需輸入12位數(shù)據(jù)。DIN輸入的12位數(shù)據(jù)中,前10位為T(mén)LC5615輸入的D/A轉(zhuǎn)換數(shù)據(jù),且輸入時(shí)高位在前,低位在后,后兩位必須

95、寫(xiě)入數(shù)值為零的低于LSB的位,因?yàn)門(mén)LC5615的DAC輸入鎖存器為12位寬。如果使用TL5615的級(jí)聯(lián)功能,來(lái)自DOUT的數(shù)據(jù)需要輸入16位時(shí)鐘下降沿,因此完成一次數(shù)據(jù)輸入需要16個(gè)時(shí)鐘周期,輸入的數(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í)鐘模塊程序設(shè)計(jì)</p><p>  a DS1302的工作時(shí)序</p><p>  DS1302 的復(fù)位特征和時(shí)鐘控制要求:復(fù)位(~RST) 輸入有兩種功能:首先,用于接通控制邏輯,允許地址/命令序列送

97、入移位寄存器;其次,用于終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送。當(dāng)為~RST高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302 進(jìn)行操作。如果在傳送過(guò)程中~RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,并且I/ O 引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥2.0之前,~RST必須保持低電平。另外,當(dāng)~RST為高電平時(shí),SCLK必須為低電平。</p><p>  DS1302 的數(shù)據(jù)輸入輸出:</p><p&g

98、t;  向DS1302 寫(xiě)入數(shù)據(jù)時(shí),數(shù)據(jù)在控制字節(jié)輸入后的下一個(gè)SCLK周期的上升沿被寫(xiě)入,多余的SCLK將被忽略。數(shù)據(jù)寫(xiě)入時(shí)從低位(位0) 開(kāi)始;同樣,從DS1302 讀取數(shù)據(jù)時(shí),數(shù)據(jù)在緊跟控制字節(jié)后的下一個(gè)SCLK的下降沿讀出,讀出數(shù)據(jù)時(shí)也是從低位(0位) 到高位(7位) ,只要~RST 保持高電平,額外的SCLK將導(dǎo)致數(shù)據(jù)字節(jié)的持續(xù)讀出,這個(gè)特性用于實(shí)現(xiàn)該芯片的突發(fā)讀模式。數(shù)據(jù)讀寫(xiě)時(shí)序如圖4-6所示:</p><

99、;p>  圖4-6 DS1302的讀寫(xiě)時(shí)序</p><p>  突發(fā)模式下,可以一次性讀出所有日歷時(shí)鐘數(shù)據(jù)或RAM數(shù)據(jù)。</p><p>  b DS1302的寄存器</p><p>  DS1302 共有12 個(gè)寄存器,其中有7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD 碼格式。其日歷、時(shí)間寄存器及其控制字見(jiàn)表4-1:</p><

100、p>  表4-1 DS1302的寄存器</p><p>  c DS1302時(shí)鐘程序流程圖 </p><p>  DS1302時(shí)鐘程序流程圖如圖4-7所示:</p><p>  圖4-7 DS1302時(shí)鐘程序流程圖</p><p>  在程序中定義了一個(gè)結(jié)構(gòu)體,用來(lái)存儲(chǔ)秒、分、時(shí)、星期、日、月、年信息,對(duì)DS1302的寄存器地址進(jìn)行

101、了聲明,方便在編程時(shí)使用,依據(jù)DS1302讀寫(xiě)單字節(jié)數(shù)據(jù)時(shí)序圖編寫(xiě)實(shí)時(shí)時(shí)鐘讀寫(xiě)一個(gè)字節(jié)的函數(shù),依據(jù)DS1302讀寫(xiě)數(shù)據(jù)時(shí)序圖編寫(xiě)向DS1302某地址寫(xiě)入數(shù)據(jù)和從DS1302某地址讀出數(shù)據(jù)的函數(shù),從DS1302某地址讀出數(shù)據(jù)可以獲取時(shí)鐘芯片的時(shí)鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組中,這樣單片機(jī)就可以實(shí)時(shí)的從DS1302獲取時(shí)間了,向DS1302某地址寫(xiě)入數(shù)據(jù)可以實(shí)現(xiàn)單片機(jī)對(duì)DS1302進(jìn)行時(shí)間的初始化和修改操作。</p><p&

102、gt;  4.2.5 測(cè)溫模塊程序設(shè)計(jì)</p><p>  a DS18B20的工作時(shí)序</p><p>  單總線(xiàn)在任何時(shí)刻只能有一個(gè)控制信號(hào)或數(shù)據(jù),數(shù)據(jù)要能在單片機(jī)和單總線(xiàn)芯片之間實(shí)現(xiàn)可靠的傳送,遵循單總線(xiàn)處理次序通信協(xié)議,確保數(shù)據(jù)有條不紊地傳送,單總線(xiàn)處理次序圖如圖4-8所示:</p><p>  圖4-8 單總線(xiàn)處理次序圖</p><p

103、>  處理次序操作時(shí),一般有以下4 個(gè)過(guò)程:(1)初始化。基于單總線(xiàn)上的所有傳輸過(guò)程都是以初始化開(kāi)始的,初始化過(guò)程由主機(jī)發(fā)出的復(fù)位脈沖和從機(jī)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機(jī)知道總線(xiàn)上有從機(jī)設(shè)備,且準(zhǔn)備就緒。(2)ROM 操作命令。在主機(jī)檢測(cè)到應(yīng)答信號(hào)后,主機(jī)可以發(fā)出ROM 操作命令之一。所有的ROM 命令都是8 位,而且這些命令與各個(gè)從機(jī)設(shè)備的唯一64位ROM代碼相關(guān),允許主機(jī)在單總線(xiàn)上連接多個(gè)從機(jī)設(shè)備時(shí),指定操作某個(gè)從機(jī)設(shè)備。可發(fā)

104、送的ROM 命令有:讀ROM,匹配ROM,搜索ROM,跳過(guò)ROM,超ROM,超速跳過(guò)ROM,條件查找ROM。(3)RAM 操作命令。當(dāng)成功執(zhí)行上述某個(gè)ROM 操作命令后,總線(xiàn)可以發(fā)出一個(gè)RAM 命令來(lái)訪(fǎng)問(wèn)和控制RAM??砂l(fā)送的RAM 命令有:寫(xiě)暫存RAM,讀暫存RAM,復(fù)制暫存RAM,數(shù)據(jù)轉(zhuǎn)換,回讀E2PROM,讀電源模式。(4)數(shù)據(jù)交換。主機(jī)和從機(jī)之間進(jìn)行數(shù)據(jù)的傳輸,所有的數(shù)據(jù)都是從低位開(kāi)始讀寫(xiě)的。</p><p&

105、gt;  所有的單總線(xiàn)器件要求采用嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號(hào):復(fù)位脈沖、應(yīng)答脈沖、寫(xiě)0、寫(xiě)1、讀0 和讀1。這些信號(hào)當(dāng)中,除了應(yīng)答信號(hào)是由從機(jī)發(fā)給主機(jī)的以外,其他的信號(hào)都是由主機(jī)發(fā)出同步信號(hào),并且發(fā)送所有的命令和數(shù)據(jù)都是從字節(jié)的低位開(kāi)始的。</p><p>  單總線(xiàn)上的所有通信都是以初始化時(shí)序開(kāi)始,包括主機(jī)發(fā)出的復(fù)位脈沖及從機(jī)的應(yīng)答脈沖,初始化時(shí)序如圖4-9所示:</p>

106、;<p>  圖4-9 初始化時(shí)序</p><p>  當(dāng)主機(jī)把數(shù)據(jù)從邏輯高電平拉到邏輯低電平時(shí),寫(xiě)時(shí)序開(kāi)始,寫(xiě)“1”和“0”, 寫(xiě)時(shí)序如圖4-10所示:</p><p><b>  圖4-10 寫(xiě)時(shí)序</b></p><p><b>  圖4-11 讀時(shí)序</b></p><p>&

107、lt;b>  b 測(cè)溫程序流程圖</b></p><p>  測(cè)溫程序流程圖如圖4-12所示: </p><p>  圖4-12 DS18b20溫度傳感器程序流程圖</p><p>  根據(jù)初始化時(shí)序?qū)S18B20進(jìn)行初始化,根據(jù)讀寫(xiě)時(shí)序?qū)S18B20進(jìn)行讀寫(xiě)編程,另外,在循環(huán)讀取溫度數(shù)據(jù)后,要將讀取的溫度數(shù)據(jù)轉(zhuǎn)換為可以在液晶上顯示的液

108、晶字符。</p><p>  4.2.6 串行通信模塊程序設(shè)計(jì)</p><p>  a RS232通信模塊程序設(shè)計(jì)</p><p>  單片機(jī)通過(guò)MAX232與PC機(jī)通訊程序流程圖4-13所示: </p><p>  4-13 單片機(jī)通過(guò)MAX232與PC機(jī)通訊程序流程圖</p><p>  在PC機(jī)串口調(diào)試助手

109、的發(fā)送窗口發(fā)送數(shù)據(jù)到單片機(jī),單片機(jī)接收到數(shù)據(jù)后發(fā)送給PC機(jī),并在串口調(diào)試助手接收窗口中顯示。 </p><p>  b RS485通信模塊程序設(shè)計(jì)</p><p>  單片機(jī)通過(guò)MAX485與PC機(jī)通訊程序流程圖如圖4-14所示:</p><p>  4-14 單片機(jī)通過(guò)MAX485與PC機(jī)通訊程序流程圖</p><p>  在程序中,當(dāng)串

110、口要接收數(shù)據(jù)時(shí),使P3.2為低電平,當(dāng)串口要發(fā)送數(shù)據(jù)時(shí),使P3.2為高電平。在PC機(jī)串口調(diào)試助手的發(fā)送窗口發(fā)送數(shù)據(jù)到單片機(jī),單片機(jī)接收到數(shù)據(jù)后發(fā)送給PC機(jī),并在串口調(diào)試助手接收窗口中顯示。</p><p>  4.2.7 顯示模塊程序設(shè)計(jì)</p><p><b>  a 數(shù)碼管程序</b></p><p>  數(shù)碼管的顯示方式可以分為動(dòng)態(tài)和靜

111、態(tài)的。動(dòng)態(tài)的也叫掃描方式,是利用發(fā)光二極管的余輝效應(yīng)和人眼的視覺(jué)暫留效應(yīng)來(lái)實(shí)現(xiàn)的,只要在在一定時(shí)間內(nèi)數(shù)碼管的筆段亮的頻率夠快,人眼就看不出閃爍,一般外圍硬件較少,但是對(duì)單片機(jī)資源耗用巨大。靜態(tài)的也叫鎖存方式,單片機(jī)送出數(shù)據(jù)后控制外圍鎖存器件鎖存數(shù)據(jù),這樣數(shù)碼管筆段里的電流不變,數(shù)碼管穩(wěn)定顯示,這樣單片機(jī)可以干別的活不用管數(shù)碼管了。這種方案的優(yōu)點(diǎn)是對(duì)單片機(jī)的P口資源和時(shí)間耗用很少,但是數(shù)碼管的外圍輔助電路復(fù)雜。</p>&l

112、t;p>  在本程序中使用動(dòng)態(tài)掃描法控制數(shù)碼管顯示,數(shù)碼管程序流程圖如圖4-15所示:</p><p>  圖4-15 數(shù)碼管程序流程圖</p><p>  P0口提供數(shù)碼管顯示所需的段碼,4、3、2、1四位數(shù)字對(duì)應(yīng)的共陰數(shù)碼管的段碼分別賦給變量dis0、dis1、dis2、dis3,在主函數(shù)中,依次將dis0、dis1、dis2、dis3送至P0口,由于八個(gè)數(shù)碼管的每個(gè)段所對(duì)應(yīng)的

113、連線(xiàn)連在一起,只有被片選的數(shù)碼管才會(huì)點(diǎn)亮。因此在將段碼送至P0口的同時(shí),還要用P1口送出位碼片選中要顯示的數(shù)碼管,這樣片選中的數(shù)碼管就會(huì)顯示特定的數(shù)字。程序中由低位到高位循環(huán)點(diǎn)亮數(shù)碼管顯示4、3、2、1。由于間隔時(shí)間的總和小于0.1秒,根據(jù)人眼的視覺(jué)暫留效應(yīng),四個(gè)數(shù)碼管看起來(lái)同時(shí)點(diǎn)亮。</p><p>  b LCD1602顯示程序</p><p>  1602液晶模塊內(nèi)部的控制器共有11

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論