版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計[論文]</b></p><p> 題 目:基于MCS-51的萬年歷設(shè)計 </p><p> 院 系: </p><p> 專 業(yè): </p><p>
2、; 姓 名: </p><p> 指導(dǎo)老師: </p><p><b> 摘 要</b></p><p> 本設(shè)計是一個基于MCS-51單片機(jī)實現(xiàn)的萬年歷。</p><p> 本文首先描述系統(tǒng)硬件
3、工作原理,并附以系統(tǒng)結(jié)構(gòu)框圖加以說明,著重介紹了本系統(tǒng)所應(yīng)用的各硬件接口技術(shù)和各個接口模塊的功能及工作過程,其次,詳細(xì)闡述了程序的各個模塊和實現(xiàn)方法。本設(shè)計以數(shù)字集成電路技術(shù)為基礎(chǔ),AT89C51單片機(jī)技術(shù)為核心。本文編寫的主導(dǎo)思想是軟、硬件相結(jié)合,以硬件為基礎(chǔ),來進(jìn)行各功能模塊的編寫。</p><p> 本系統(tǒng)以單片機(jī)的C語言進(jìn)行軟件設(shè)計,為了便于擴(kuò)展和更改,軟件的設(shè)計采用模塊化結(jié)構(gòu),使程序設(shè)計的邏輯關(guān)系更加
4、簡潔明了。系統(tǒng)通過字符型液晶顯示數(shù)據(jù),所以具有人性化的操作和直觀的顯示效果。可以顯示時間、公歷日期、星期,并有鬧鈴、語音報時及檢測溫度的功能。</p><p> 關(guān)鍵詞: 單片機(jī); 液晶模塊 ;語音報時;溫度傳感器;</p><p><b> Abstract </b></p><p> The design is a based on
5、 the MCS-51 perpetual calendar. </p><p> This article first describes the system hardware principle of work,and attaches by the system structure diagram performs to explain,emphatically introduced this syst
6、em applies various hardware connection technology and each interface module function and the workprocess, next, it is elaborated the procedure of each module and how they realized. This design is based on the digital IC,
7、 and the core of AT89C51 MCU technique. This article writed with the guiding of software and hardware unifies, take</p><p> This system’s software design whth the MCU C language, in order to be advantageous
8、 for theexpansion and change, the software design uses the design of modularization, so that the logical of the programmer become clear and it is easy to understand .This system use the character LCD to show the data,so
9、 it has the humanize operation and the intuitionistic show effect. It can show the time, Gregorian calendar, week, bell, pronunciation of time and the temperature examination.</p><p> The keyword:MCU; LCD m
10、odule; The pronunciation of time; Temperature sensor.</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 第1章 緒論1
11、</b></p><p> 第2章 方案論證3</p><p> 2.1 功能要求3</p><p> 2.2 方案確定3</p><p> 第3章 系統(tǒng)硬件設(shè)計6</p><p> 3.1 電源部分的設(shè)計6</p><p> 3.1.1 變壓器式直流穩(wěn)壓電源
12、6</p><p> 3.1.2 開關(guān)式直流穩(wěn)壓電源7</p><p> 3.1.3 開關(guān)式直流穩(wěn)壓電源的設(shè)計7</p><p> 3.2 主電路的設(shè)計8</p><p> 3.2.1 主要芯片的選擇8</p><p> 3.2.2 主電路原理分析9</p><p> 3.
13、3 單片機(jī)外圍芯片簡介10</p><p> 3.3.1 1602LCD顯示模塊10</p><p> 3.3.2 溫度傳感器DS18B2013</p><p> 3.3.3 語音芯片ISD142016</p><p> 第4章 程序設(shè)計19</p><p> 4.1 總體設(shè)計19</p&g
14、t;<p> 4.2 主程序的設(shè)計20</p><p> 4.3 INT1中斷服務(wù)程序22</p><p> 4.4 各功能模塊的設(shè)計22</p><p> 4.4.1 顯示子程序22</p><p> 4.4.2 日歷、時間校正子程序23</p><p> 4.4.3 定時處理子程
15、序23</p><p> 4.4.4 溫度檢測及處理子程序25</p><p> 4.4.5 語音報時子程序27</p><p> 4.4.6 延時子程序28</p><p> 第5章 調(diào)試及性能分析29</p><p> 5.1 軟件調(diào)試29</p><p> 5.2
16、 硬件調(diào)試29</p><p> 5.3 性能分析30</p><p><b> 結(jié)束語31</b></p><p><b> 致謝32</b></p><p> 附錄一 系統(tǒng)原理圖33</p><p> 附錄二 系統(tǒng)的PCB圖和元件安裝圖34</
17、p><p> 附錄三 程序清單35</p><p><b> 主要參考文獻(xiàn)54</b></p><p><b> 第1章 緒論</b></p><p> 1.1 單片機(jī)的發(fā)展概況</p><p> 單片機(jī)一詞最初源于“Single Chip Microcompute
18、r”,它忠實地反映了早期單片機(jī)的形態(tài)和本質(zhì)。隨后按照面向?qū)ο螅怀隹刂乒δ?,在片?nèi)集成了許多外圍叫路及外設(shè)接口,突破了傳統(tǒng)意義的計算機(jī)結(jié)構(gòu),發(fā)展成Microcontroller的體系結(jié)構(gòu),目前國外已普遍稱之為微控制器MCU(Micro Controller Unit)。鑒于它完全作為嵌入式微控制器。由于國內(nèi)對單片機(jī)一詞已約定成俗,因此仍沿用至今。但對“單片機(jī)”一詞的理解,不應(yīng)現(xiàn)限于“Single Chip Microcomputer”,
19、而應(yīng)接軌于國際上對單片機(jī)的標(biāo)準(zhǔn)稱呼“Micro Controller Unit”(MCU)。</p><p> 單片機(jī)的發(fā)展大致可分為四個階段:</p><p> 第一階段:單片機(jī)探索階段。以Intel公司MCS-48,Motorola公司6801為代表,屬低檔型8位機(jī)。</p><p> 第二階段:單片機(jī)完善階段。以Intel公司MCS-51,Motorol
20、a公司68HC05為代表,屬高檔型8位機(jī)。此階段,8位單片機(jī)體系進(jìn)一步完善,特別是MCS-51系列單片機(jī)在世界和我國得到了廣泛的應(yīng)用,奠定了它在單片機(jī)領(lǐng)域的經(jīng)典地位,形成了事實上的8位單片機(jī)標(biāo)準(zhǔn)結(jié)構(gòu)。</p><p> 第三階段:8位機(jī)和16位機(jī)爭艷階段,也是單片機(jī)向微控制器發(fā)展的階段。此階段Intel公司推出了16位的MCS-96系列單片機(jī),世界其他芯片制造商也紛紛推出了性能優(yōu)異的16位單片機(jī),但由于價格不菲
21、,其應(yīng)用面受到一定的限制。相反MCS-51系列單片機(jī),由于其性能價格比高,卻得到了廣泛的應(yīng)用,并吸引了世界許多知名制造廠商,竟相使用以80C51為內(nèi)核,擴(kuò)展部分測控系統(tǒng)中使用的電路技術(shù)、接口技術(shù)、A/D、D/A和看門狗等功能部件,推出了許多與80C51兼容的8位單片機(jī)。強(qiáng)化了微控制器的特征,進(jìn)一步鞏固和發(fā)展了8位單片機(jī)的主流地位。</p><p> 第四階段:微控制器全面發(fā)展階段。隨著單片機(jī)在各個領(lǐng)域全面深入地
22、發(fā)展和應(yīng)用,世界各大電氣、半導(dǎo)體廠商普遍投入,出現(xiàn)了高速、大尋址范圍、強(qiáng)運算能力的8位/16位/32位通用型單片機(jī)以及小型廉價的專用型單片機(jī),百花齊放,全面發(fā)展,單片機(jī)已進(jìn)入一個可廣泛選擇和全面發(fā)展的應(yīng)用時代。</p><p> 1.2 MCS-51系列單片機(jī)</p><p> MCS-51系列單片機(jī)最初是HMOS制造工藝,其芯片根據(jù)片內(nèi)ROM結(jié)構(gòu)可分為8031(片內(nèi)無ROM),805
23、1(片內(nèi)有4KB掩膜ROM),8751(片內(nèi)有4KB EPROM),統(tǒng)稱為51系列單片機(jī)。其后又有增強(qiáng)型52系列,包括8032、8052、8752等。</p><p> HMOS工藝的缺點是功耗較大,隨著CMOS工藝的發(fā)展,Inter公司生產(chǎn)了CHMOS工藝的80C51芯片,大大降低了功耗,并引入了低功耗管理模式,使低功耗具在可控性。CHMOS工藝的80C51芯片,根據(jù)片內(nèi)ROM結(jié)構(gòu),也有80C31、80C51
24、、87C51三種類型,引腳與51系列兼容,指令相同。</p><p> 隨后,Intel公司將80C51內(nèi)核使用權(quán)以專利互換或出售形式轉(zhuǎn)讓給世界許多著名IC制造廠商,如philips、NEC、Atmel、AMD、Dallas、siemens、Fujutsu、OKI、華邦、LG等。在保持與80C51單片機(jī)兼容的基礎(chǔ)上,這些公司融入了自身的優(yōu)勢,擴(kuò)展了針對滿足不同測控對象要求的外圍電路。這樣,80C51單片機(jī)就變成
25、了眾多芯片制造廠商支持的大家族,成了事實上的標(biāo)準(zhǔn)MCU芯片。</p><p> 1.3 單片機(jī)的應(yīng)用</p><p> 目前,單片機(jī)已滲透到我們工作、生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡了。導(dǎo)彈的飛行裝置靠的是單片機(jī),網(wǎng)絡(luò)數(shù)據(jù)通信及傳輸,工業(yè)自動化控制,智能IC卡系統(tǒng)及各類家用電器的控制都離不開單片機(jī)。單片機(jī)的特點是體積小,在其增加一些外圍電路之后,就能成為一個完整的應(yīng)
26、用系統(tǒng)。例如,我們?nèi)粘I钪兴玫臄?shù)字電子秤,其內(nèi)部就有一塊單片機(jī)芯片,再加上傳感器、液晶屏和一些附加電路,就形成了一個完整的應(yīng)用系統(tǒng)。由此可見,單片機(jī)的可擴(kuò)展性是不錯的,應(yīng)用也相當(dāng)靈活。</p><p> 單片機(jī)應(yīng)用的意義不僅在于它的廣闊范圍及所帶來的經(jīng)濟(jì)效益。更重要的意義在于,單片機(jī)的應(yīng)用從根本上改變了應(yīng)用系統(tǒng)傳統(tǒng)的設(shè)計思想和設(shè)計方法。以前采用硬件電路實現(xiàn)的大部分功能,現(xiàn)在用單片機(jī)通過軟件方法來實現(xiàn)。這種以
27、軟件取代硬件的技術(shù),不僅提高了系統(tǒng)的可靠性,還簡化了硬件的設(shè)計;不僅縮小了系統(tǒng)的體積,還降低了成本。</p><p> 現(xiàn)代電子、電器產(chǎn)品及設(shè)備的智能化水平不斷提高,在人機(jī)界面設(shè)計上不但有了文字標(biāo)識、發(fā)光管指示、顯像屏顯示等視覺表達(dá),而且還有各種聽覺表達(dá),如最簡單的“滴滴、嘟嘟”訊響聲、稍豐富些的音樂聲,甚至用人的語言直接對用戶“說話”等。用簡單的數(shù)碼語音集成電路可以實現(xiàn)一句或多句語句的播放,如掩模芯片中的“歡
28、迎光臨”、“有電危險、請勿靠近”等,還有如ISD系列、APR9600(IVS1560)等芯片可由開發(fā)人員或用戶任意錄制、播放需要的一段或幾段語音等。在聽覺表達(dá)中最復(fù)雜的就是語音的組合,它是將用戶預(yù)存的多段語音按指定順序連續(xù)播放,將字或詞匯組合成一句話、甚至一段話播放出來,從而實現(xiàn)最準(zhǔn)確、定量的語義表達(dá),例如“嘟,現(xiàn)在溫度37.5度,溫度偏高”、“現(xiàn)在時間五點二十五分三十三秒”等。</p><p> 傳統(tǒng)語音組合
29、電路的設(shè)計十分復(fù)雜,開發(fā)工具十分昂貴,語音錄制及軟件編制工作量巨大,而且組合出來的語音效果也不甚理想,尤其在投資不大的產(chǎn)品、系統(tǒng)中最為突出,從而制約了這一技術(shù)的應(yīng)用和發(fā)展。只在近幾年來,模擬存儲語音技術(shù)的ISD芯片及其廉價的開發(fā)編輯工具問世后,情況才大為改觀。現(xiàn)在已有專業(yè)公司開發(fā)出通用ISD語音組合模塊,用戶只需要在ISD語音芯片中分段錄入要求的詞匯,即可方便地用單片機(jī)控制輸出這些詞匯的任意組合成句、成段,詞匯的語音容量從20秒至480
30、秒甚至更長,以至可以容納所有的中文漢字發(fā)音。 </p><p> 在日常生活及工農(nóng)業(yè)生產(chǎn)中常要用到溫度的檢測及控制,傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要比較多的外部硬件支持,硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。美國達(dá)拉斯(DALLAS)半導(dǎo)體公司生產(chǎn)的新型DS18B20溫度檢測器件, 它是單片結(jié)構(gòu),無需外加A/ D 即可輸出數(shù)字量, 通訊采用單線制,
31、同時該通訊線還可兼作電源線,即具有寄生電源模式。它具有體積小、精度易保證、無需標(biāo)定等特點,特別適合與單片機(jī)合用構(gòu)成智能溫度檢測及控制系統(tǒng)。</p><p> 本設(shè)計將以上三種優(yōu)異性能的集成芯片相結(jié)合,以AT89C51為控制器,以DS18B20為溫度檢測器,以ISD1420為語音輸出,組成多功能萬年歷系統(tǒng)。具有功能多、實用性強(qiáng)等特點。</p><p><b> 第2章 方案論證
32、</b></p><p><b> 2.1 功能要求</b></p><p> 1、能顯示年、月、日、星期、時、分、秒。</p><p> 2、能對時間進(jìn)行手動修正。</p><p> 3、采用24小時制,能自動處理潤年。</p><p> 4、使用16X2LCD顯示器顯示時
33、間參數(shù),除了星期使用字母外,其它的時間參數(shù)使用數(shù)字。</p><p> 5、上電后,電子鐘顯示“2007-04-20 Fri”</p><p> “12-00-00”</p><p> 即第一行顯示年、月、日、星期,第二行顯示時、分秒。</p><p> 6、定時功能:可設(shè)置定時時間,當(dāng)定時時間到時,蜂鳴器發(fā)出報警聲音。</p
34、><p><b> 2.2 方案確定</b></p><p> 按照系統(tǒng)設(shè)計功能的要求,初步確定設(shè)計系統(tǒng)由主控模塊、顯示模塊、鍵盤接口模塊、電源模塊5個模組成。另外再擴(kuò)充兩個模塊——語音模塊、溫度檢測模塊,分別完成語音報時和瘟度檢測的功能。</p><p> 方案一:如圖2-1所示,系統(tǒng)以單片機(jī)為主控制器。通過單片機(jī)內(nèi)的定時器,得出一秒的時間
35、,再根據(jù)秒、分、時、日、月、年之間的進(jìn)制關(guān)系,完成基本的時鐘功能,再通過LCD液晶顯示模塊顯示出來。溫度檢測部分由熱敏電阻將溫度轉(zhuǎn)換成模擬量的電壓信號,經(jīng)A/D轉(zhuǎn)換器,將其轉(zhuǎn)換成對應(yīng)的數(shù)字量,再通過單片機(jī)把溫度值傳給LCD液晶顯示模塊顯示出來。語音報時時,單片機(jī)將當(dāng)前的時鐘的語音信息(數(shù)字量)經(jīng)D/A轉(zhuǎn)換器,將其轉(zhuǎn)換成模擬量,再進(jìn)行功率放大,通過揚(yáng)聲器發(fā)聲,完成報時功能。</p><p> 方案二:如圖2-2所
36、示,系統(tǒng)以單片機(jī)為主控制器。時鐘功能的實現(xiàn)方法是由單片機(jī)外部的秒脈沖發(fā)生器產(chǎn)生秒脈沖,以外部中斷的形式傳給單片機(jī),單片機(jī)再按照秒、分、時、日、月、年之間的進(jìn)制關(guān)系,完成基本的時鐘任務(wù),再通過LCD液晶顯示模塊顯示出來。溫度檢測部分采用成品的數(shù)字溫度傳感器,它將溫度直接轉(zhuǎn)換成單片機(jī)能識別的數(shù)字量信號,通過接口電路傳給單片機(jī),單片機(jī)把溫度值傳給LCD液晶顯示模塊顯示出來。語音報時部分采用專用的語音處理芯片,在報時時,單片機(jī)將當(dāng)前的時鐘信息,
37、轉(zhuǎn)換成對應(yīng)的語音地址,再傳給語音芯片,由語音芯片完成發(fā)音任務(wù)。</p><p> 以上的兩種方案都能完成系統(tǒng)設(shè)計所要求的功能,都以單片機(jī)為主控制器。鍵盤和顯示部分也一樣。所不同的是秒信號產(chǎn)生、溫度測量和語音處理電路。下面就對這兩種方案進(jìn)行比較。</p><p> 秒信號的產(chǎn)生 方案一中,秒信號的產(chǎn)生是通過對單片機(jī)的機(jī)器周期進(jìn)行計數(shù)得到的。單片機(jī)的機(jī)器周期由單片機(jī)外接的晶振周期(時鐘周
38、期)確定,它們之間的關(guān)系是:</p><p> 晶振周期=12×機(jī)器周期</p><p> 如果外接的晶振頻率為12MHz,則機(jī)器周期為1us。要得到一秒,就要對機(jī)器周期計數(shù)1000000次。晶振頻率的精度直接影響著秒信號的精度。方案二中,秒信號的產(chǎn)生是用專用的秒脈發(fā)生器產(chǎn)生的,它具有各種補(bǔ)償措施,以保證頻率的穩(wěn)定。所以方案二的時鐘和日歷精度高于方案一。</p>
39、<p> 溫度測量 在方案一中,采用熱敏電阻檢測溫度,其原理是熱敏電阻的阻值隨溫度的變化而變化,從而改變電路的電壓或電流,這樣就得出與溫度有對就關(guān)系的電壓或電流信號,再經(jīng)計算,就可得出被測量的溫度。由于電壓量或電流量都是模擬量,易受外界的干擾,并且熱敏元件存在非線性的問題,這都將影響溫度的測量精度,還給計算帶來了麻煩。方案二采用成品的集成測溫模塊,具有體積小、抗干擾能力強(qiáng)、調(diào)試方便或不用調(diào)試、易于實現(xiàn)群測等優(yōu)點。而且直接
40、輸出數(shù)字量的溫度值。在簡化了測量電路的同時又保證了測量精度。</p><p> 語音處理 在方案一中,先把要發(fā)的音全部轉(zhuǎn)換成數(shù)字量,存儲在存儲器中,放音時,再把它們轉(zhuǎn)換成模擬量去驅(qū)動揚(yáng)聲器發(fā)音。采用這種方法時,需要大量的存儲。假設(shè)語音的平均頻率為1.5KHz,由采樣定理(采樣頻率≥2×被采樣信號的最高頻率)知,采樣頻率至少為3KHz,那么將1秒鐘的1.5KHz的音頻信號轉(zhuǎn)換成數(shù)字量,在未經(jīng)任何壓縮處
41、理的情況下,至少要3K個存儲單元才能存儲下來。對于MCS-51單片機(jī)來說,必須外擴(kuò)展存儲器,不僅增加了成本,更重要的是增加了單片機(jī)的負(fù)擔(dān),單片需要不停把那么的數(shù)據(jù)傳給D/A轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,再驅(qū)動揚(yáng)聲器發(fā)音,這就有可能導(dǎo)致單片機(jī)不能按時完成其他任務(wù)。方案二采用專用語音處理芯片,它集成錄音和放音功能,只須外接幾個電容、電阻和按鍵就可以組成一個錄放系統(tǒng)。和單片機(jī)相連時,只須單片機(jī)把所發(fā)音的地址傳給語音芯片,語間芯片就可完成發(fā)音任務(wù)。在發(fā)音的過
42、程中,單片機(jī)可以做其他的任務(wù)。不僅提高了語音電路的可靠性,還大大減少了語音電路對單片機(jī)的占用率。</p><p> 由以上的比較知,在實現(xiàn)相同功能的情況下,方案二比方案一明顯地具有優(yōu)越性——單片機(jī)外圍元件少、電路簡單、精度高、可靠性高、體積小等諸多優(yōu)點。鑒于此,本設(shè)計采用方案二。</p><p> 第3章 系統(tǒng)硬件設(shè)計</p><p> 由于本萬年歷系統(tǒng)以單片
43、機(jī)為主控芯片,故須對其編定相應(yīng)的軟件——程序。硬件是軟件的載體,硬件的結(jié)構(gòu)和可靠性直接影響著整個系統(tǒng)的可靠性。任何電子產(chǎn)品都必須有一個電源為其提供能量才能工作,故本設(shè)計先從電源部分開始,再進(jìn)行功能部分的設(shè)計。</p><p> 3.1 電源部分的設(shè)計</p><p> 穩(wěn)壓電源的功能是把來自電網(wǎng)的220V交流電壓轉(zhuǎn)變?yōu)樗璧摹⒎€(wěn)定的直流電壓,為其他電路提供能源。它的設(shè)計在保證滿足負(fù)載所
44、須能量的同時,還要根據(jù)負(fù)載的特性及其對電源的要求(如穩(wěn)壓范圍、紋波系數(shù)等),進(jìn)行設(shè)計。必要時還要有過流、過壓、欠壓、過負(fù)載保護(hù)措施。</p><p> 現(xiàn)在常用的直流穩(wěn)壓電源有變壓器式和開關(guān)式電源兩種。</p><p> 3.1.1 變壓器式直流穩(wěn)壓電源 </p><p> 變壓器式直流穩(wěn)壓源由電源變壓器、整流電路、濾波電路和穩(wěn)壓電路四個部分組成,如圖3-1
45、所示。市電先經(jīng)電源變壓器變換成所須等級的交流電壓,而后經(jīng)整流電路將之整流成直流電,這時的直流電脈動量很大,經(jīng)濾波電路以減小其脈動量,最后經(jīng)穩(wěn)壓電路進(jìn)行穩(wěn)壓,從而得出符合要求的電壓。</p><p> 變壓器式直流穩(wěn)壓電源結(jié)構(gòu)簡單,設(shè)計容易,但它的體積較大,效率也較低,過負(fù)載能力也差。</p><p> + 電 源 + 整 流 + 濾 波 +
46、 穩(wěn) 壓 +</p><p> u1 u2 u3 uI U0</p><p> _ 變壓器 _ 電 路 _ 電 路 _ 電 路 _</p><p> u1
47、 u2 u3 uI U0 </p><p> 0 t 0 t 0 t 0 t 0 t </p><p> 3.1.2 開關(guān)式直流穩(wěn)壓電源 </p><p>
48、開關(guān)式直流穩(wěn)壓電源簡稱開關(guān)電源(Switching Power Supply),它是指起電壓調(diào)整功能的器件始終以開關(guān)方式工作的一種直流穩(wěn)壓電源。圖3-2所示為輸入輸出隔離的開關(guān)電源原理框圖。50Hz單相交流220V電壓或三相交流220V380V電壓經(jīng)EMI防電磁干擾電源濾波器,直接整流濾波,然后再將濾波后的直流電壓經(jīng)變換電路變換為數(shù)赫或數(shù)百千赫的高頻方波或準(zhǔn)方波電壓,通過高頻變壓器隔離并降壓(或升壓)后,再經(jīng)高頻整流、濾波電路,最后輸出
49、直流電壓。通過取樣、比較、放大及控制、驅(qū)動電路,控制變換器中功率開關(guān)管的占空比,便能得到穩(wěn)定的輸出電壓。</p><p> 開關(guān)電源具有功耗小、效率高、體積小、重量輕、穩(wěn)壓范圍寬、電路形式靈活多樣等諸多優(yōu)點。因而本設(shè)計采用開關(guān)電源。</p><p> 3.1.3 開關(guān)式直流穩(wěn)壓電源的設(shè)計 </p><p> 由于萬年歷系統(tǒng)都采用集成電路,只需+5單電源供電,功
50、耗低。故設(shè)計的開關(guān)電源比較簡單,如圖3-3所示。</p><p> 這個電源是自激振蕩的反激式開關(guān)電源。220V交流輸入,一端經(jīng)過一個開關(guān),另一端經(jīng)過一個1電阻1R1后,進(jìn)入由4個二極管1D1-1D4組成的電橋,進(jìn)行整流。電阻1R1用來做保護(hù)的,如果后面出現(xiàn)故障等導(dǎo)致過流,那么這個電阻將被燒斷,從而避免引起更大的故障。右邊的電阻1R4構(gòu)成一個高壓吸收電路,當(dāng)開關(guān)管1VT2關(guān)斷時,負(fù)責(zé)吸收線圈上的感應(yīng)電壓,從而防
51、止高壓加到開關(guān)管1VT2上而導(dǎo)致?lián)舸?VT2為開關(guān)管(其型號為MJE13001),耐壓400V,集電極最大電流0.2A,最大集電極功耗為10W,用來控制原邊繞組與電源之間的通、斷。當(dāng)原邊繞組不停的通斷時,就會在開關(guān)變壓器中形成變化的磁場,從而在次級繞組中產(chǎn)生感應(yīng)電壓。左端的1R2為啟動電阻,給開關(guān)管提供啟動用的基極電流。 1R7為電流取樣電阻,電流經(jīng)取樣后變成電壓(其值約為10*Ie(1VT2)),這電壓經(jīng)1R5后,加至三極管1VT1
52、的基極上。當(dāng)取樣電壓大約大于1.4V,即開關(guān)管電流大于0.14A時,三極管1VT1導(dǎo)通,從而將開關(guān)管1VT2的基極電壓拉低,集電極電流減小,這樣就限制了開關(guān)管的電流,防止電流過大而燒毀(其實這是一個恒流結(jié)構(gòu),將開關(guān)</p><p> LED為電源指示燈,1R8用于對LED進(jìn)行限流。由于當(dāng)電源工作于輕載時,開關(guān)頻率較高,效率就不理想,為了防止過多的消耗發(fā)生在開關(guān)管上,應(yīng)防止頻率過分升高,具體的做法是在輸出端加一固
53、定電阻充當(dāng)負(fù)載,即圖中的1R9,其值的大小一般按不小于滿負(fù)載的10%考濾。</p><p> 3.2 主電路的設(shè)計</p><p> 主電路的功能是完成年、月、日、星期、時、分、秒之間的轉(zhuǎn)換,對溫度傳感器進(jìn)行控制并讀取溫度轉(zhuǎn)換后的值,再送往液晶顯示屏LCD顯示,還要判斷定時時間是否到時,并且接受鍵盤操作,對日期和時間進(jìn)行校正,以及對定時器進(jìn)行設(shè)定和語音報時。</p>&l
54、t;p> 3.2.1 主要芯片的選擇</p><p> 主控芯片由單片機(jī)完成。目前市場上的單片機(jī)種類很多,如Intel公司生產(chǎn)的80C51系列,ATMEL公司生產(chǎn)的AT89系列,Microchip公司生產(chǎn)的PIC系列等等。他們各有其優(yōu)點及缺點。其中ATMEL公司生產(chǎn)的AT89系列單片機(jī)最為流行,它具有Flash ROM,擦寫方便,價格便宜。因此選用AT89C51為主控芯片。</p><
55、;p> 顯示模塊采用2×16的LCD屏1602。1602LCD能顯示2行,每行16個字符,顯示直觀、功耗小,有較高的性價比。</p><p> 溫度傳感器采用美國達(dá)拉斯(DALLAS)生產(chǎn)的可編程的DS18B20溫度傳感器。它直接輸出數(shù)字量的溫度值,精度高,測溫分辨率可達(dá)0.0625℃。一線制總線,接口方便,體積小等諸多優(yōu)點。</p><p> 語音芯片選用美國信息存
56、儲器件公司推出的ISD420語音芯片。ISD1420芯片的外圍元件簡單,僅需少量阻容元件、麥克風(fēng)即可組成一個完整的錄放系統(tǒng)。ISD1420可以以字為單位來儲存聲音信息,以少量的語音信息,通過語音的組合,可形成多種語句。ISD1420采用模擬信息存儲技術(shù),重放音質(zhì)好,接口靈活方便,同樣具有優(yōu)越的性價比。</p><p> 3.2.2 主電路原理分析</p><p> 萬年歷系統(tǒng)的原理圖如
57、圖3-4所示。在圖3-4中1602液晶顯屏將要顯示的內(nèi)容顯示出來。AT89C51完成年、月、日、星期、時、分、秒之間的轉(zhuǎn)換,集成芯片2U4通過AT89C51的中斷1向AT89C51提供精確的秒脈沖信號,以完成時鐘和日歷任務(wù)。在這里采用外部中斷提供秒脈沖信號,其目的有二:1、提高時鐘的精度。2、在本系統(tǒng)中采用了一個DS18B20的數(shù)字溫度傳器,它是單總線型的,數(shù)據(jù)的傳輸有嚴(yán)格的時間要求。它測量一次,再加這一次讀寫操作,大約需要900毫秒,
58、如果采用單片機(jī)內(nèi)部定時器(12MHz晶振時,最大定時時間為65.536毫秒),就會在溫度讀寫期間發(fā)生定時器中斷,這樣就會破壞DS18B20數(shù)據(jù)傳輸?shù)臅r序,從而導(dǎo)致數(shù)據(jù)傳輸錯誤。采用外部中斷的方式提供秒信號時,每秒只中斷1次,在某次中斷到下一次中斷期間,已完成了數(shù)據(jù)的傳輸,這樣就保證了DS18B20數(shù)據(jù)傳輸?shù)恼_性。</p><p> 通過TA89C51的P0口與1602液晶顯示屏進(jìn)行命令和數(shù)據(jù)的傳輸。在P0口中
59、接有上拉電阻2R1,這是因為P0口為非準(zhǔn)向I/O口,其內(nèi)部輸出三極管的集電極沒有上拉電阻,是開路的,若不外接上拉電阻2R1,就會造成P0口不能輸出高電平。P2.5用于控制傳送給LCD的是命令還是要顯示的內(nèi)容。P2.5為高電平表示傳送的是要顯示的內(nèi)容,P2.5為低電平表示傳送的是控制命令。P2.6用于控制LCD的讀和寫操作。高電平為讀操作,低電平為寫操作。P2.7為使能控制,控制LCD是否接受操作。高電平時允許讀操作,由高電平變?yōu)榈碗娖降?/p>
60、過程中,允許寫操作。</p><p> 溫度傳感器DS18B20用單總線接在AT89C51的P2.4口上,按單總線協(xié)議進(jìn)行數(shù)據(jù)傳輸。</p><p> AT89C51的P1口與語音芯片ISD1420的地址線A0-A7相連,用以控制發(fā)哪個音。ISD1420的與(25腳)AT89C51的P3.2口(外部中斷0)相連,用來告訴AT89C51放音結(jié)束,可以啟動下一次放音。啟動放音采用邊沿觸發(fā)方
61、式,ISD1420的(24腳)與AT89C51的P3.1口相連,用以啟動放音。</p><p> 鍵盤電路采用四個鍵,分別接到AT89C51的P2.0-P2.3口上。</p><p> SW1為功能鍵,用于控制當(dāng)前校正的是哪部分,在正常顯示的情況下連續(xù)按它,會在正常顯示→年→月→日→星期→時→分→正常顯示之間循環(huán)變換。在定時調(diào)整時按它,會在時→分→定時開關(guān)控制位→定時提示音選擇→正常顯
62、示之間變換。(在此狀態(tài)下,連續(xù)按SW1不循環(huán)變換)。</p><p> SW2、SW3分別為“加1”、“減1”鍵。在校正狀態(tài)下,每按一下SW2或SW3相應(yīng)的部分就會加1或減1。若在正常顯示狀態(tài)下,按下SW2,就會顯示定時顯示狀態(tài)。若在進(jìn)入定時顯示狀態(tài)開始,大約在兩秒內(nèi)若按下了功能鍵SW1,則會轉(zhuǎn)到定時器的設(shè)定狀態(tài),否則就返回正常顯示狀態(tài)。</p><p> 2R2、2C1構(gòu)成AT89C
63、51的復(fù)位電路。AT89C51復(fù)位的條件是使其復(fù)位端(9腳)保持高電平大于兩個機(jī)器周期。在剛通電的時候,電源電壓通過2R2向2C1充電,在2R2兩端形成電壓,使單片機(jī)的復(fù)位端為高電平,只要使2R2 2C1的時間常數(shù)大于兩個機(jī)器周期,就可使AT89C51復(fù)位,一般2R2取1KΩ、2C1取22uF??紤]到開關(guān)穩(wěn)壓電源的瞬態(tài)響應(yīng)時間稍長,2R2取4.7KΩ。</p><p> 2C2、2C3、2Y1和AT89C51
64、單片機(jī)內(nèi)的高增益反相放大器,構(gòu)成時鐘脈沖電路。時鐘脈沖的頻率取決于晶振2Y1的振蕩頻率,最高可達(dá)24MHz,在此選12MHz。2C2、2C3主要起頻率微調(diào)和穩(wěn)定作用,一般可取10~30pF。</p><p> 3.3 單片機(jī)外圍芯片簡介</p><p> 3.3.1 1602LCD顯示模塊</p><p> 1602LCD顯示模塊是一種字符型液晶顯示模塊,是一
65、種專門用于顯示字母、數(shù)字、符號等點陣式LCD,其主要技術(shù)參數(shù)如下:</p><p> ● 顯示容量為16×2個字符;</p><p> ● 芯片工作電壓為1.4-5.5V;</p><p> ● 工作電流為2.0mA(5.0V);</p><p> ● 模塊最佳工作電壓為5.0V;</p><p>
66、 ● 字符尺寸為36.5×81(W×H)mm</p><p> 1602LCD顯示模塊對外部接口有16個引腳。各引腳的功能如表3-3-1所示</p><p> 1602LCD顯示模塊的寄存器選擇(RS)、讀/寫(R/W)與操作之間的關(guān)系如表3-3-2所示</p><p> 1602LCD顯示模塊的讀寫操作時序分別如圖3-5、圖3-6所示。&
67、lt;/p><p> 1602LCD顯示模塊的指令系統(tǒng)如表3-3-3所示。</p><p> 3.3.2 溫度傳感器DS18B20</p><p> DS18B20數(shù)字溫度計是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。1、DS18B2
68、0產(chǎn)品的特點 ● 只要求一個端口即可實現(xiàn)通信。 ● 在DS18B20中的每個器件上都有獨一無二的序列號?! ?實際應(yīng)用中不需要外部任何元器件即可實現(xiàn)測溫?! ?測量溫度范圍在-55℃到+125℃之間?! ?數(shù)字溫度計的分辨率用戶可以從9位到12位選擇?! ?內(nèi)部有溫度上、下限報警設(shè)置。2、DS18B20的引腳介紹 </p><p> DS18B20的封裝及引腳排列見圖3-7,其引腳功能
69、描述見表3-3-4。</p><p> DS18B20內(nèi)部結(jié)構(gòu)如圖3-8所示,主要由4部分組成:64位ROM、溫度敏感元件、非易失性溫度報警觸發(fā)器TH和TL、配置寄存器。ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個DS18B20的64位序列號均不相同。64位激光ROM從高位到低位依次為8位CRC、48位序列號和8位家族代碼(28H)組成。ROM的作用是使每一個DS18
70、B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。非易失性溫度報警觸發(fā)器TH和TL可通過軟件寫入用戶報警上下限值。配置寄存器為高速暫存存儲器中的第5個字節(jié)。DS18B20在工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值,其各位定義如圖3-9所示。其中,TM為測試模式標(biāo)志位,出廠時被定入0,不能改變;R0、R1為溫度計分辨率設(shè)置位,其對應(yīng)四種分辨率見配置寄存器與分辨率關(guān)系表。出廠時R0、R1置為缺省值:R0=1
71、,R1=1(即12位分辨率),用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率,配置寄存器與分辨率的關(guān)系見表3-3-5。</p><p> 3、DS18B20 ROM操作指令</p><p> 一旦總線主機(jī)檢測到從器件的存在,它便可以發(fā)出器件ROM操作命令之一。所有ROM操作命令均為8位長。</p><p> 1) Read ROM (讀ROM)[33h ]:此
72、命令允許總線主機(jī)讀DS18B20的8位產(chǎn)品系列編碼,唯一的48信序列號,以及8位的CRC。此命令只能在總線上僅有一個DS18B20的情況下使用。如果總線上存在多于一個的從器件,那么當(dāng)所有從器件企圖同時發(fā)送時將發(fā)生數(shù)據(jù)沖突的現(xiàn)象(漏極開路會產(chǎn)生線與的結(jié)果)。</p><p> 2) Match ROM (符合ROM)[55h]:此命令后繼以64位的ROM數(shù)據(jù)序列,允許總線主機(jī)對多點總線上特定的DS18B20尋址。
73、只有與64位ROM序列嚴(yán)格相符的DS18B20才能對后繼的存儲器操作命令作出響應(yīng)。</p><p> 3) Skip ROM (跳過ROM)[CCh]:在單點總線系統(tǒng)中,此命令通過允許總線主機(jī)不提供64位ROM編碼而直接進(jìn)行存儲器操作以節(jié)省時間。</p><p> 4) Search ROM (搜索ROM)[F0h]:當(dāng)系統(tǒng)開始工作時,總線主機(jī)可能不知道單總線上的器件個數(shù)或不知道其64
74、位ROM編碼。搜索ROM命令允許總線控制器用排除法識別總線上的所有從器件的64位編碼。</p><p> 5) Alarm Search (警告搜索)[ECh]:此命令的流程與搜索ROM命令相同。但是僅在最近一次溫度測量出現(xiàn)警告的情況下,DS18B20才對此命令作出響應(yīng)。</p><p> 4、DS18B20 RAM操作指令</p><p> 1)Write
75、Scratchpad (寫暫存存儲器)[4Eh]:這個命令向DS18B20的暫存器TH和TL中寫入數(shù)據(jù)。可以在任何時刻發(fā)出復(fù)信命令來中止寫入。</p><p> 2)Read Scratchpad (讀暫存存儲器)[BEh]:這個命令讀取暫相隔器的內(nèi)容。讀取將從第1個字節(jié)開始,一直進(jìn)行下去,直到第9(CRC)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時間發(fā)出復(fù)位命令來中止讀取。</p>&l
76、t;p> 3)Copy Scratchpad (復(fù)制暫存存儲器)[48h]:這個命令把暫存器的內(nèi)容拷貝到DS18B20的E2ROM存儲器里,即把溫度報警觸發(fā)字節(jié)存入非易失性存儲器里。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于把暫存器拷貝到E2ROM存儲器,DS18B20就會輸出一個0,如果拷貝結(jié)束的話,DS18B20則輸出1。如果使用寄生電源,總線控制器必須在這條命令之后立即啟動強(qiáng)上拉 ,并最少保持10
77、ms。</p><p> 4)Convert T(溫度變換)[44h]:這條命令啟動一次溫度轉(zhuǎn)換而無需其它數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行,而后DS18B20保持等待狀態(tài)。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于做溫度轉(zhuǎn)換的話,DS18B20將在總線上輸出0,若溫度轉(zhuǎn)換完成,則輸出1。如果使用寄生電順勢,總線控制器必須在發(fā)出這條命令后立即啟動強(qiáng)上拉,并保持500ms以上時間。</p&g
78、t;<p> 5)Recall E2 ( 重新調(diào)整E2)[B8h]:這條命令把存儲中E2ROM中溫度觸發(fā)器的值重新調(diào)至?xí)捍娲鎯ζ?。這種操作在DS18B20上電時自動執(zhí)行,這樣器件一上電暫存器里馬上就存在有效的數(shù)據(jù)了。若在這條命令發(fā)出之后發(fā)出讀數(shù)據(jù)隙,器件會輸出溫度轉(zhuǎn)換忙的標(biāo)識:0為忙,1為準(zhǔn)備就緒。</p><p> 6)Read Power Supply (讀電源)[B4h]:若把這條命令發(fā)給
79、DS18B20后,發(fā)出讀時間隙,器件會返回它的電源模式:0為寄生電源,1為外部電源。 </p><p> 5、DS18B20的數(shù)據(jù)處理</p><p> DS18B20的高速暫存存儲器由9個字節(jié)組成,其分配如圖3-10所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以2字節(jié)補(bǔ)碼形式存放在高速暫存存儲器的第1、2個字節(jié)里。單片機(jī)可通過單總線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后。<
80、/p><p> 表3-3-6所列是部分DS18B20溫度采集轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲中DS18B20的兩個8bit的RAM中,二進(jìn)制中的前5位是符號位,如果測得的溫度大于或等于0,這5位為0,只要將測到的數(shù)值乘以0.0625即可得到實際溫度;如果溫度值小于0,這5位為1,測到的數(shù)值需要取反加1再乘以0.0625即可得到實際溫度。</p><p> 溫度轉(zhuǎn)換計算方法舉例:</p&g
81、t;<p> 例如當(dāng)DS18B20采集到+125℃的實際溫度后,輸出為07D0h,則:</p><p> 實際溫度=07D0h×0.0625=2000×0.0625=125℃。</p><p> 例如當(dāng)DS18B20采集到-55℃的實際溫度后,輸出為FC90h,則應(yīng)先將其取反加1得370h,則:</p><p> 實際溫度=
82、370h×0.0625=880×0.0625=55℃,再加上一個“-”號,得-55℃。</p><p> 3.3.3 語音芯片ISD1420</p><p> ISD1420是美國信息存儲器件公司生產(chǎn)的直接采用直接模擬存儲技術(shù)的語音芯片。該該芯片采用EEPROM存儲方法將模擬語音數(shù)據(jù)直接寫入半導(dǎo)體存儲單元中,具有音質(zhì)自然、可反復(fù)錄放、抗干擾、低功耗等許多優(yōu)點。ISD
83、1420語音芯片的基本技術(shù)指標(biāo)如下:</p><p><b> 工作電源:+5V</b></p><p><b> 工作電流:15mA</b></p><p> 待機(jī)電流:0.5uA</p><p> 信噪比 :S/N=43dB</p><p> 錄音時間長度:2
84、0s</p><p> 可分段數(shù):160段 </p><p> 每段時間長度:20s/160段=0.125s/段</p><p> 錄放次數(shù):達(dá)10萬次</p><p> ISD1420采用28腳,DIP封裝,其引腳定義如圖3-11所示。其引腳功能如下:</p><p> 電源(VCCA,VCCD) 芯片內(nèi)
85、部的模擬和數(shù)字電路使用不同的電源總線,并且分別引到外封裝上, 這樣可使噪聲最小。模擬和數(shù)字電源端最好分別走線,盡可能在靠近供電端處相連,而去耦電容應(yīng)盡量靠近芯片。 </p><p> 地線(VSSA,VSSD) 芯片內(nèi)部的模擬和數(shù)字電路也使用不同的地線,這兩個腳最好在引腳焊盤上相連。</p><p> 錄音() 低電平有效。只要變低(不管芯片處在節(jié)電狀態(tài)還是正在放音),芯片即開始錄
86、音。錄音期間,必須保持為低。變高或內(nèi)存錄滿后,錄音周期結(jié)束,芯片自動寫入 一個信息結(jié)束標(biāo)志(EOM),使以后的重放操作可發(fā)及時停止。之后芯片自動進(jìn)入節(jié)電狀態(tài)。 注:的上升沿有 50 毫秒防顫,防止芯片自動進(jìn)入節(jié)電狀態(tài)。 </p><p> 邊沿觸發(fā)放音() 此端出現(xiàn)下降沿時,芯片開始放音。放音持續(xù)到 EOM 標(biāo)志或內(nèi)存結(jié)束, 之后芯片自動進(jìn)入節(jié)電狀態(tài)。開始放音后,可以釋放。 </p><p
87、> 電平觸發(fā)放音() 此端出現(xiàn)下降沿時,芯片開始放音。放音持續(xù)至此端變回到高電平,或遇到 EOM 標(biāo)志,或內(nèi)存結(jié)束。放音結(jié)束后芯片自動進(jìn)入節(jié)電狀態(tài)。 注:放音過程中當(dāng)遇到 EOM 或內(nèi)存結(jié)束時,如果或仍處在高電平,芯片雖然也進(jìn)入節(jié)電狀態(tài)(內(nèi)部震蕩器和時鐘停止工作),但是由于芯片沒有對和的上升沿進(jìn)行消顫,隨后在這兩個引腳上出現(xiàn)的下降沿(例如釋放按鍵時的抖動)都會觸發(fā)放音。 </p><p> 錄音指示(
88、) 處于錄音狀態(tài)時,此端為低電平,可驅(qū)動LED。此外,放音遇到 EOM 標(biāo)志時, 此端輸出低電平脈沖。 </p><p> 話筒輸入(MIC) 此端接至片內(nèi)前置放大器。片內(nèi)自動增益控制電路(AGC)將前置增益控制在-15 至 24dB。外接話筒應(yīng)通過串聯(lián)電容耦合到此端。耦合電容值和此端的10KΩ輸入阻抗決定了芯片頻帶的低頻截止點。 </p><p> 話筒參考(MIC REF)
89、此端是前置放大器的反向輸入。當(dāng)以差分形式連接話筒時,可減小噪聲,提 高共模抑制比。 </p><p> 自動增益控制(AGC) AGC動態(tài)調(diào)節(jié)前置增益以補(bǔ)償話筒輸入電平的寬幅變化,使得錄制變化很大的音量(從耳語到喧嘩聲)時失真都能保持最小。響應(yīng)時間取決于此端的內(nèi)部的5KΩ輸入阻抗和外接的對地電容的時間常數(shù)。釋放時間取決于此端外接的并聯(lián)對地電容和電阻的時間常數(shù)。470KΩ和 4.7uF 的標(biāo)稱值在絕對大多數(shù)場合
90、 下可獲得滿意的效果。 </p><p> 模擬輸出(ANA OUT) 前置放大器輸出。前置電壓增益取決于 AGC 端的電平。 </p><p> 模擬輸入(ANA IN) 此端即芯片錄音的輸入信號。對話筒輸入來說,ANA OUT 端應(yīng)通過外接電容連至本端。該電容和本端的3KΩ輸入阻抗給出了芯片頻帶的附加低端截止頻率。其它音源可通過交流耦合直接連至本端。 </p>&
91、lt;p> 喇叭輸出(SP+、SP-) 這對輸出端能驅(qū)動16Ω以上的喇叭。單端使用時必須在輸出端和喇叭間接耦合電容,而雙端輸出既不用電容又能將功率提高4倍。錄音時,它們都呈高阻態(tài);節(jié)電模式下,它們保持為低電平。 </p><p> 外部時鐘(XCLK) 此端內(nèi)部有下拉元件,不用時應(yīng)接地。芯片內(nèi)部的采樣時鐘在出廠前已調(diào)校, 保證了標(biāo)稱的最小錄音時間。商業(yè)級芯片在整個溫度和電壓范圍內(nèi),頻率變化在+2.2
92、5%內(nèi),并保證最小錄放時間,所以有些芯片的錄放時間比標(biāo)稱的值稍大。工業(yè)級芯片在整個溫度和電壓范圍內(nèi),頻率變化在+5%內(nèi),建議使用穩(wěn)壓電源。若要求更高精度或系統(tǒng)同步,可從此端輸入外部時鐘。輸入時鐘的占空比無關(guān)緊要,因為內(nèi)部首先進(jìn)行了分頻。 </p><p> 地址(A0--A7) 地址端有兩個作用,取決于最高兩位A7、A6 的狀態(tài)。當(dāng) A7 或 A6 有一個為 0時,所有輸入均釋放為地址位,作為當(dāng)前錄放操作的起
93、始地址。地址端只用輸入,不能輸出操作過程的內(nèi)部地址信息。地址在、或 的下降沿鎖存。</p><p> ISD1420內(nèi)置了若干操作模式,如表3-3-7所示,可用最少的外圍器件實現(xiàn)最多的功能。操作模式也由地址端控制;當(dāng) A7 和 A6 都為 1 時,其它地址端置高就選擇某個(或某幾個)模式。因為操作模式和直接尋址互相排斥。操作模式可由微控制器,也可由硬件實現(xiàn)。使用操作模式有兩點注意:(1)所有操作最初都是從0地址
94、,即存儲空間的起始端開始。后續(xù)操作根據(jù)所選用的模式可從其它的地址開始。此外,A4 模式中,當(dāng)電路由錄音轉(zhuǎn)為放音時地址計數(shù)器復(fù)位為0,而由放音轉(zhuǎn)為錄音時則不復(fù)位。(2)當(dāng)控制信號(、或)變低,同時A6 和A7 為高時,執(zhí)行操作模式。 這種操作模式一直有效,除非控制信號再次由高變低,芯片重新鎖存當(dāng)前的地址/模式端電平,然后執(zhí)行相應(yīng)操作。 </p><p> A0(信息檢索)——快速跳過信息而不必知道其確切的地址???/p>
95、制端每輸入一個低脈沖,內(nèi)部地址計數(shù)器就跳到下一條信息。此模式僅用于放音,通常與 A4 同時使用。 </p><p> A1(EOM 刪除)—— 使分段信息變?yōu)橐粭l信息,僅在信息最后留一個 EOM 標(biāo)志。這個模式完成后,錄入的所有信息就作為一條連續(xù)的信息。 </p><p> A3(信息循環(huán))—— 循環(huán)重放位于存儲空間起始處的那條信息。如果一條信息完全占滿存儲空間, 那么循環(huán)就從頭至尾進(jìn)
96、行。給發(fā)低脈沖后循環(huán)開始,給發(fā)低脈沖后循環(huán)結(jié)束。 </p><p> A4(連續(xù)尋址)—— 正常操作中,重放遇到EOM 標(biāo)志時,地址計數(shù)器會復(fù)位。A4 模式禁止地址計數(shù)器復(fù)位,使得信息可連續(xù)錄入或重放。當(dāng)芯片既非錄音又非放音時,將 A4 短暫拉低可使地址計數(shù)器復(fù)位為 0。 </p><p> A2、A5 —— 末用。 </p><p><b> 第
97、4章 程序設(shè)計</b></p><p> 在單片機(jī)系統(tǒng)中,硬件是系統(tǒng)的基礎(chǔ),軟件則是在硬件的基礎(chǔ)上對其合理的調(diào)配和使用,從而完成應(yīng)用系統(tǒng)所要完成的任務(wù)。</p><p> 軟件的設(shè)計是設(shè)計控制系統(tǒng)的應(yīng)用程序。其任務(wù)是在整體設(shè)計和硬件設(shè)計的基礎(chǔ)上,確定程序結(jié)構(gòu),分配內(nèi)RAM資源,劃分功能模塊,然后進(jìn)行主程序和各模塊程序的設(shè)計,最后連接起來成為一個完整的就用程序。</p&
98、gt;<p><b> 4.1 總體設(shè)計</b></p><p> 圖4-1為系統(tǒng)程序總體結(jié)構(gòu)。主程序首先對1602LCD進(jìn)行初始化,然后顯示開機(jī)畫面,接著對中斷系統(tǒng)進(jìn)行初始化,最后在鍵盤掃描、溫度檢測及顯示處理之間不斷地循環(huán)。在中斷服務(wù)子程序中,先秒加1,LCD背光燈時間值減1,接著進(jìn)行一系列操作: LCD背光燈處理(主要是判斷是否達(dá)到關(guān)閉LCD背光燈的條件是否滿足,若滿
99、足,則關(guān)閉LCD背光燈);秒、分、時、日、星期、月、年處理;判斷定時是否已到;顯示刷新。當(dāng)所有顯示內(nèi)容刷新完成后,中斷返回。</p><p> 系統(tǒng)程序結(jié)構(gòu)屬中斷方式,正常情況下,主要工作在鍵盤掃描、溫度檢測和INT中斷服務(wù)程序中。根據(jù)總體結(jié)構(gòu),可將程序劃分為幾個功能模塊:延時、顯示、INT1中斷、時鐘校正、定時處理、溫度檢測及處理、語音報時。隨后將對各個功模塊進(jìn)行說明。</p><p>
100、; 4.2 主程序的設(shè)計</p><p> 在多功能模塊化程序設(shè)計中,主程序的作用是設(shè)置系統(tǒng)運行的一些初始狀態(tài)及系統(tǒng)運行的環(huán)境,并將各種功能子程序按要求連接起來組成一個功能強(qiáng)大的系統(tǒng)。本系統(tǒng)主程序的流程圖如圖4-2所示。</p><p> 由圖4-2可看出,程序先對1602LCD進(jìn)行初始化,接著顯示開機(jī)畫面,再進(jìn)行中斷系統(tǒng)的初始化,最后按不同的條件調(diào)用不同的功能子程序,從而完成各種功
101、能。</p><p> 1602LCD的初始化主要是讓LCD按我們設(shè)定的要求顯示內(nèi)容。1602LCD的設(shè)定指令見表3-3-3(第12頁)。在本程序中,1602LCD初始化為:8位數(shù)據(jù)接口,兩行顯示,5×7點陣字符,顯示開,關(guān)光標(biāo),光標(biāo)移動為增量式。</p><p> 1602LCD的初始化已被寫成一個函數(shù)LCD_Initial(),程序清單中的第65~73行(第36頁),直接
102、調(diào)用就可完成1602LCD的初始化。</p><p> 本系統(tǒng)中用到了兩個中斷INT0和INT1,INT0中斷用于報時和響鈴,INT1用于計時,所以在中斷系統(tǒng)初始化中,把INT1設(shè)為高優(yōu)先級。</p><p> 主程序見程序清單中的第602~702行(第50頁)。</p><p> 4.3 INT1中斷服務(wù)程序</p><p> IN
103、T1中斷服務(wù)程序的流程圖如圖4-3所,在這個中斷服務(wù)程序中,共要完成5個任務(wù):</p><p> (1)、控制LCD背光燈的關(guān)閉。當(dāng)開機(jī)或有鍵按下時,LCD背光燈點亮,并設(shè)定LCD背光燈亮的時間為15秒,INT1每中斷一次,LCD背光燈亮的時間就減1,當(dāng)減到0時,就關(guān)閉LCD背光燈。以減少消耗。</p><p> (2)、控制溫度檢測的時間。溫度檢測一次大約要0.9秒,并且采用單總線傳
104、輸數(shù)據(jù),如果不加以控制的話,就有可能出現(xiàn)在溫度檢測期間發(fā)生中斷,打亂了單總線傳輸?shù)臅r序要求,從而導(dǎo)致數(shù)據(jù)傳錯誤。所以讓溫度檢測每兩秒鐘啟動一次,也就是當(dāng)秒%2=0時,啟動溫度檢測,在出現(xiàn)下次中斷時(1秒后),溫度檢測已完成,從而保證了數(shù)據(jù)的正確性。</p><p> (3)、年、月、日、星期、時、分、秒之間的變換。實現(xiàn)的方法是根據(jù)它們之間所固有的關(guān)系,依次判斷是否達(dá)到使之發(fā)生改變的條件,即:</p>
105、<p><b> 。</b></p><p> 當(dāng)月發(fā)生改變時,就會計算一次當(dāng)月的天數(shù)。當(dāng)年發(fā)生改變時,就會以查表的方法進(jìn)行一次潤年判斷,以確定當(dāng)年二月的天數(shù)。</p><p> 為了提高程序的運行效率,在上面的轉(zhuǎn)換關(guān)系中,當(dāng)某個條件不滿足時,其后面的就不需再判斷,直接跳出。</p><p> (4)、判斷定時器是否已到。
106、在正常顯時狀態(tài)下,如果當(dāng)前時間的“時”和“分”分別與定時器的“時”和“分”相等,且定時器設(shè)為開,則定時響應(yīng)標(biāo)志置1,在退出中斷后,就會響鈴。</p><p> (5)、顯示刷新。將“年、月、日、星期、時、分、秒”進(jìn)行顯示刷新。把顯示刷新設(shè)在中斷程序中完成,是為了將刷新后的“年、月、日、星期、時、分、秒”及時地顯示出來。</p><p> INT1中斷服務(wù)程序見程序清單中的第703~77
107、0行(第51頁)。</p><p> 4.4 各功能模塊的設(shè)計</p><p> 4.4.1 顯示子程序</p><p> 顯示子程序的功能是將需要顯示的內(nèi)容送到LCD顯示。顯示子程序的流程圖如圖4-4所示。要顯示某個字符,先要進(jìn)行定位,即確定這個字符顯示在LCD顯的哪個位置,然后把這個字符的ASCII碼送到LCD,LCD就會顯示出該字符。</p>
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于51單片機(jī)的萬年歷畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---基于51單片機(jī)的萬年歷設(shè)計
- 畢業(yè)設(shè)計---基于51單片機(jī)的萬年歷設(shè)計
- 51單片機(jī)萬年歷畢業(yè)設(shè)計論文
- 基于51單片機(jī)的液晶萬年歷畢業(yè)設(shè)計
- 51基于單片機(jī)的電子萬年歷畢業(yè)設(shè)計
- 【畢業(yè)設(shè)計】基于51單片機(jī)的電子萬年歷設(shè)計
- 基于單片機(jī)的萬年歷畢業(yè)設(shè)計
- 基于51單片機(jī)的電子萬年歷畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計---基于51單片機(jī)的電子萬年歷的設(shè)計
- 基于51單片機(jī)的電子萬年歷設(shè)計
- 基于單片機(jī)的萬年歷設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---基于單片機(jī)萬年歷的設(shè)計
- 畢業(yè)設(shè)計---基于單片機(jī)萬年歷的設(shè)計
- 基于單片機(jī)的萬年歷設(shè)計畢業(yè)設(shè)計
- 基于at89c51單片機(jī)萬年歷畢業(yè)設(shè)計
- 單片機(jī)萬年歷系統(tǒng)畢業(yè)設(shè)計
- 基于at89c51單片機(jī)萬年歷的畢業(yè)設(shè)計
- 基于單片機(jī)的測溫萬年歷畢業(yè)設(shè)計
- 基于51單片機(jī)的電子萬年歷的設(shè)計
評論
0/150
提交評論