畢業(yè)設計---基于mcs-51單片機的萬年歷設計_第1頁
已閱讀1頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  畢業(yè)設計[論文]</b></p><p>  題 目:基于MCS-51的萬年歷設計 </p><p>  院 系: </p><p>  專 業(yè): </p><p>

2、;  姓 名: </p><p>  指導老師: </p><p><b>  摘 要</b></p><p>  本設計是一個基于MCS-51單片機實現(xiàn)的萬年歷。</p><p>  本文首先描述系統(tǒng)硬件

3、工作原理,并附以系統(tǒng)結構框圖加以說明,著重介紹了本系統(tǒng)所應用的各硬件接口技術和各個接口模塊的功能及工作過程,其次,詳細闡述了程序的各個模塊和實現(xiàn)方法。本設計以數(shù)字集成電路技術為基礎,AT89C51單片機技術為核心。本文編寫的主導思想是軟、硬件相結合,以硬件為基礎,來進行各功能模塊的編寫。</p><p>  本系統(tǒng)以單片機的C語言進行軟件設計,為了便于擴展和更改,軟件的設計采用模塊化結構,使程序設計的邏輯關系更加

4、簡潔明了。系統(tǒng)通過字符型液晶顯示數(shù)據(jù),所以具有人性化的操作和直觀的顯示效果??梢燥@示時間、公歷日期、星期,并有鬧鈴、語音報時及檢測溫度的功能。</p><p>  關鍵詞:  單片機; 液晶模塊 ;語音報時;溫度傳感器;</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)硬件設計6</p><p>  3.1 電源部分的設計6</p><p>  3.1.1 變壓器式直流穩(wěn)壓電源

12、6</p><p>  3.1.2 開關式直流穩(wěn)壓電源7</p><p>  3.1.3 開關式直流穩(wěn)壓電源的設計7</p><p>  3.2 主電路的設計8</p><p>  3.2.1 主要芯片的選擇8</p><p>  3.2.2 主電路原理分析9</p><p>  3.

13、3 單片機外圍芯片簡介10</p><p>  3.3.1 1602LCD顯示模塊10</p><p>  3.3.2 溫度傳感器DS18B2013</p><p>  3.3.3 語音芯片ISD142016</p><p>  第4章 程序設計19</p><p>  4.1 總體設計19</p&g

14、t;<p>  4.2 主程序的設計20</p><p>  4.3 INT1中斷服務程序22</p><p>  4.4 各功能模塊的設計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章 調試及性能分析29</p><p>  5.1 軟件調試29</p><p>  5.2

16、 硬件調試29</p><p>  5.3 性能分析30</p><p><b>  結束語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>  主要參考文獻54</b></p><p><b>  第1章 緒論</b></p><p>  1.1 單片機的發(fā)展概況</p><p>  單片機一詞最初源于“Single Chip Microcompute

18、r”,它忠實地反映了早期單片機的形態(tài)和本質。隨后按照面向對象,突出控制功能,在片內集成了許多外圍叫路及外設接口,突破了傳統(tǒng)意義的計算機結構,發(fā)展成Microcontroller的體系結構,目前國外已普遍稱之為微控制器MCU(Micro Controller Unit)。鑒于它完全作為嵌入式微控制器。由于國內對單片機一詞已約定成俗,因此仍沿用至今。但對“單片機”一詞的理解,不應現(xiàn)限于“Single Chip Microcomputer”,

19、而應接軌于國際上對單片機的標準稱呼“Micro Controller Unit”(MCU)。</p><p>  單片機的發(fā)展大致可分為四個階段:</p><p>  第一階段:單片機探索階段。以Intel公司MCS-48,Motorola公司6801為代表,屬低檔型8位機。</p><p>  第二階段:單片機完善階段。以Intel公司MCS-51,Motorol

20、a公司68HC05為代表,屬高檔型8位機。此階段,8位單片機體系進一步完善,特別是MCS-51系列單片機在世界和我國得到了廣泛的應用,奠定了它在單片機領域的經典地位,形成了事實上的8位單片機標準結構。</p><p>  第三階段:8位機和16位機爭艷階段,也是單片機向微控制器發(fā)展的階段。此階段Intel公司推出了16位的MCS-96系列單片機,世界其他芯片制造商也紛紛推出了性能優(yōu)異的16位單片機,但由于價格不菲

21、,其應用面受到一定的限制。相反MCS-51系列單片機,由于其性能價格比高,卻得到了廣泛的應用,并吸引了世界許多知名制造廠商,竟相使用以80C51為內核,擴展部分測控系統(tǒng)中使用的電路技術、接口技術、A/D、D/A和看門狗等功能部件,推出了許多與80C51兼容的8位單片機。強化了微控制器的特征,進一步鞏固和發(fā)展了8位單片機的主流地位。</p><p>  第四階段:微控制器全面發(fā)展階段。隨著單片機在各個領域全面深入地

22、發(fā)展和應用,世界各大電氣、半導體廠商普遍投入,出現(xiàn)了高速、大尋址范圍、強運算能力的8位/16位/32位通用型單片機以及小型廉價的專用型單片機,百花齊放,全面發(fā)展,單片機已進入一個可廣泛選擇和全面發(fā)展的應用時代。</p><p>  1.2 MCS-51系列單片機</p><p>  MCS-51系列單片機最初是HMOS制造工藝,其芯片根據(jù)片內ROM結構可分為8031(片內無ROM),805

23、1(片內有4KB掩膜ROM),8751(片內有4KB EPROM),統(tǒng)稱為51系列單片機。其后又有增強型52系列,包括8032、8052、8752等。</p><p>  HMOS工藝的缺點是功耗較大,隨著CMOS工藝的發(fā)展,Inter公司生產了CHMOS工藝的80C51芯片,大大降低了功耗,并引入了低功耗管理模式,使低功耗具在可控性。CHMOS工藝的80C51芯片,根據(jù)片內ROM結構,也有80C31、80C51

24、、87C51三種類型,引腳與51系列兼容,指令相同。</p><p>  隨后,Intel公司將80C51內核使用權以專利互換或出售形式轉讓給世界許多著名IC制造廠商,如philips、NEC、Atmel、AMD、Dallas、siemens、Fujutsu、OKI、華邦、LG等。在保持與80C51單片機兼容的基礎上,這些公司融入了自身的優(yōu)勢,擴展了針對滿足不同測控對象要求的外圍電路。這樣,80C51單片機就變成

25、了眾多芯片制造廠商支持的大家族,成了事實上的標準MCU芯片。</p><p>  1.3 單片機的應用</p><p>  目前,單片機已滲透到我們工作、生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡了。導彈的飛行裝置靠的是單片機,網(wǎng)絡數(shù)據(jù)通信及傳輸,工業(yè)自動化控制,智能IC卡系統(tǒng)及各類家用電器的控制都離不開單片機。單片機的特點是體積小,在其增加一些外圍電路之后,就能成為一個完整的應

26、用系統(tǒng)。例如,我們日常生活中所用的數(shù)字電子秤,其內部就有一塊單片機芯片,再加上傳感器、液晶屏和一些附加電路,就形成了一個完整的應用系統(tǒng)。由此可見,單片機的可擴展性是不錯的,應用也相當靈活。</p><p>  單片機應用的意義不僅在于它的廣闊范圍及所帶來的經濟效益。更重要的意義在于,單片機的應用從根本上改變了應用系統(tǒng)傳統(tǒng)的設計思想和設計方法。以前采用硬件電路實現(xiàn)的大部分功能,現(xiàn)在用單片機通過軟件方法來實現(xiàn)。這種以

27、軟件取代硬件的技術,不僅提高了系統(tǒng)的可靠性,還簡化了硬件的設計;不僅縮小了系統(tǒng)的體積,還降低了成本。</p><p>  現(xiàn)代電子、電器產品及設備的智能化水平不斷提高,在人機界面設計上不但有了文字標識、發(fā)光管指示、顯像屏顯示等視覺表達,而且還有各種聽覺表達,如最簡單的“滴滴、嘟嘟”訊響聲、稍豐富些的音樂聲,甚至用人的語言直接對用戶“說話”等。用簡單的數(shù)碼語音集成電路可以實現(xiàn)一句或多句語句的播放,如掩模芯片中的“歡

28、迎光臨”、“有電危險、請勿靠近”等,還有如ISD系列、APR9600(IVS1560)等芯片可由開發(fā)人員或用戶任意錄制、播放需要的一段或幾段語音等。在聽覺表達中最復雜的就是語音的組合,它是將用戶預存的多段語音按指定順序連續(xù)播放,將字或詞匯組合成一句話、甚至一段話播放出來,從而實現(xiàn)最準確、定量的語義表達,例如“嘟,現(xiàn)在溫度37.5度,溫度偏高”、“現(xiàn)在時間五點二十五分三十三秒”等。</p><p>  傳統(tǒng)語音組合

29、電路的設計十分復雜,開發(fā)工具十分昂貴,語音錄制及軟件編制工作量巨大,而且組合出來的語音效果也不甚理想,尤其在投資不大的產品、系統(tǒng)中最為突出,從而制約了這一技術的應用和發(fā)展。只在近幾年來,模擬存儲語音技術的ISD芯片及其廉價的開發(fā)編輯工具問世后,情況才大為改觀。現(xiàn)在已有專業(yè)公司開發(fā)出通用ISD語音組合模塊,用戶只需要在ISD語音芯片中分段錄入要求的詞匯,即可方便地用單片機控制輸出這些詞匯的任意組合成句、成段,詞匯的語音容量從20秒至480

30、秒甚至更長,以至可以容納所有的中文漢字發(fā)音。 </p><p>  在日常生活及工農業(yè)生產中常要用到溫度的檢測及控制,傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉換成對應的溫度,需要比較多的外部硬件支持,硬件電路復雜,軟件調試復雜,制作成本高。美國達拉斯(DALLAS)半導體公司生產的新型DS18B20溫度檢測器件, 它是單片結構,無需外加A/ D 即可輸出數(shù)字量, 通訊采用單線制,

31、同時該通訊線還可兼作電源線,即具有寄生電源模式。它具有體積小、精度易保證、無需標定等特點,特別適合與單片機合用構成智能溫度檢測及控制系統(tǒng)。</p><p>  本設計將以上三種優(yōu)異性能的集成芯片相結合,以AT89C51為控制器,以DS18B20為溫度檢測器,以ISD1420為語音輸出,組成多功能萬年歷系統(tǒng)。具有功能多、實用性強等特點。</p><p><b>  第2章 方案論證

32、</b></p><p><b>  2.1 功能要求</b></p><p>  1、能顯示年、月、日、星期、時、分、秒。</p><p>  2、能對時間進行手動修正。</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、定時功能:可設置定時時間,當定時時間到時,蜂鳴器發(fā)出報警聲音。</p

34、><p><b>  2.2 方案確定</b></p><p>  按照系統(tǒng)設計功能的要求,初步確定設計系統(tǒng)由主控模塊、顯示模塊、鍵盤接口模塊、電源模塊5個模組成。另外再擴充兩個模塊——語音模塊、溫度檢測模塊,分別完成語音報時和瘟度檢測的功能。</p><p>  方案一:如圖2-1所示,系統(tǒng)以單片機為主控制器。通過單片機內的定時器,得出一秒的時間

35、,再根據(jù)秒、分、時、日、月、年之間的進制關系,完成基本的時鐘功能,再通過LCD液晶顯示模塊顯示出來。溫度檢測部分由熱敏電阻將溫度轉換成模擬量的電壓信號,經A/D轉換器,將其轉換成對應的數(shù)字量,再通過單片機把溫度值傳給LCD液晶顯示模塊顯示出來。語音報時時,單片機將當前的時鐘的語音信息(數(shù)字量)經D/A轉換器,將其轉換成模擬量,再進行功率放大,通過揚聲器發(fā)聲,完成報時功能。</p><p>  方案二:如圖2-2所

36、示,系統(tǒng)以單片機為主控制器。時鐘功能的實現(xiàn)方法是由單片機外部的秒脈沖發(fā)生器產生秒脈沖,以外部中斷的形式傳給單片機,單片機再按照秒、分、時、日、月、年之間的進制關系,完成基本的時鐘任務,再通過LCD液晶顯示模塊顯示出來。溫度檢測部分采用成品的數(shù)字溫度傳感器,它將溫度直接轉換成單片機能識別的數(shù)字量信號,通過接口電路傳給單片機,單片機把溫度值傳給LCD液晶顯示模塊顯示出來。語音報時部分采用專用的語音處理芯片,在報時時,單片機將當前的時鐘信息,

37、轉換成對應的語音地址,再傳給語音芯片,由語音芯片完成發(fā)音任務。</p><p>  以上的兩種方案都能完成系統(tǒng)設計所要求的功能,都以單片機為主控制器。鍵盤和顯示部分也一樣。所不同的是秒信號產生、溫度測量和語音處理電路。下面就對這兩種方案進行比較。</p><p>  秒信號的產生 方案一中,秒信號的產生是通過對單片機的機器周期進行計數(shù)得到的。單片機的機器周期由單片機外接的晶振周期(時鐘周

38、期)確定,它們之間的關系是:</p><p>  晶振周期=12×機器周期</p><p>  如果外接的晶振頻率為12MHz,則機器周期為1us。要得到一秒,就要對機器周期計數(shù)1000000次。晶振頻率的精度直接影響著秒信號的精度。方案二中,秒信號的產生是用專用的秒脈發(fā)生器產生的,它具有各種補償措施,以保證頻率的穩(wěn)定。所以方案二的時鐘和日歷精度高于方案一。</p>

39、<p>  溫度測量 在方案一中,采用熱敏電阻檢測溫度,其原理是熱敏電阻的阻值隨溫度的變化而變化,從而改變電路的電壓或電流,這樣就得出與溫度有對就關系的電壓或電流信號,再經計算,就可得出被測量的溫度。由于電壓量或電流量都是模擬量,易受外界的干擾,并且熱敏元件存在非線性的問題,這都將影響溫度的測量精度,還給計算帶來了麻煩。方案二采用成品的集成測溫模塊,具有體積小、抗干擾能力強、調試方便或不用調試、易于實現(xiàn)群測等優(yōu)點。而且直接

40、輸出數(shù)字量的溫度值。在簡化了測量電路的同時又保證了測量精度。</p><p>  語音處理 在方案一中,先把要發(fā)的音全部轉換成數(shù)字量,存儲在存儲器中,放音時,再把它們轉換成模擬量去驅動揚聲器發(fā)音。采用這種方法時,需要大量的存儲。假設語音的平均頻率為1.5KHz,由采樣定理(采樣頻率≥2×被采樣信號的最高頻率)知,采樣頻率至少為3KHz,那么將1秒鐘的1.5KHz的音頻信號轉換成數(shù)字量,在未經任何壓縮處

41、理的情況下,至少要3K個存儲單元才能存儲下來。對于MCS-51單片機來說,必須外擴展存儲器,不僅增加了成本,更重要的是增加了單片機的負擔,單片需要不停把那么的數(shù)據(jù)傳給D/A轉換器進行轉換,再驅動揚聲器發(fā)音,這就有可能導致單片機不能按時完成其他任務。方案二采用專用語音處理芯片,它集成錄音和放音功能,只須外接幾個電容、電阻和按鍵就可以組成一個錄放系統(tǒng)。和單片機相連時,只須單片機把所發(fā)音的地址傳給語音芯片,語間芯片就可完成發(fā)音任務。在發(fā)音的過

42、程中,單片機可以做其他的任務。不僅提高了語音電路的可靠性,還大大減少了語音電路對單片機的占用率。</p><p>  由以上的比較知,在實現(xiàn)相同功能的情況下,方案二比方案一明顯地具有優(yōu)越性——單片機外圍元件少、電路簡單、精度高、可靠性高、體積小等諸多優(yōu)點。鑒于此,本設計采用方案二。</p><p>  第3章 系統(tǒng)硬件設計</p><p>  由于本萬年歷系統(tǒng)以單片

43、機為主控芯片,故須對其編定相應的軟件——程序。硬件是軟件的載體,硬件的結構和可靠性直接影響著整個系統(tǒng)的可靠性。任何電子產品都必須有一個電源為其提供能量才能工作,故本設計先從電源部分開始,再進行功能部分的設計。</p><p>  3.1 電源部分的設計</p><p>  穩(wěn)壓電源的功能是把來自電網(wǎng)的220V交流電壓轉變?yōu)樗璧?、穩(wěn)定的直流電壓,為其他電路提供能源。它的設計在保證滿足負載所

44、須能量的同時,還要根據(jù)負載的特性及其對電源的要求(如穩(wěn)壓范圍、紋波系數(shù)等),進行設計。必要時還要有過流、過壓、欠壓、過負載保護措施。</p><p>  現(xiàn)在常用的直流穩(wěn)壓電源有變壓器式和開關式電源兩種。</p><p>  3.1.1 變壓器式直流穩(wěn)壓電源 </p><p>  變壓器式直流穩(wěn)壓源由電源變壓器、整流電路、濾波電路和穩(wěn)壓電路四個部分組成,如圖3-1

45、所示。市電先經電源變壓器變換成所須等級的交流電壓,而后經整流電路將之整流成直流電,這時的直流電脈動量很大,經濾波電路以減小其脈動量,最后經穩(wěn)壓電路進行穩(wěn)壓,從而得出符合要求的電壓。</p><p>  變壓器式直流穩(wěn)壓電源結構簡單,設計容易,但它的體積較大,效率也較低,過負載能力也差。</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 開關式直流穩(wěn)壓電源 </p><p>  

48、開關式直流穩(wěn)壓電源簡稱開關電源(Switching Power Supply),它是指起電壓調整功能的器件始終以開關方式工作的一種直流穩(wěn)壓電源。圖3-2所示為輸入輸出隔離的開關電源原理框圖。50Hz單相交流220V電壓或三相交流220V380V電壓經EMI防電磁干擾電源濾波器,直接整流濾波,然后再將濾波后的直流電壓經變換電路變換為數(shù)赫或數(shù)百千赫的高頻方波或準方波電壓,通過高頻變壓器隔離并降壓(或升壓)后,再經高頻整流、濾波電路,最后輸出

49、直流電壓。通過取樣、比較、放大及控制、驅動電路,控制變換器中功率開關管的占空比,便能得到穩(wěn)定的輸出電壓。</p><p>  開關電源具有功耗小、效率高、體積小、重量輕、穩(wěn)壓范圍寬、電路形式靈活多樣等諸多優(yōu)點。因而本設計采用開關電源。</p><p>  3.1.3 開關式直流穩(wěn)壓電源的設計 </p><p>  由于萬年歷系統(tǒng)都采用集成電路,只需+5單電源供電,功

50、耗低。故設計的開關電源比較簡單,如圖3-3所示。</p><p>  這個電源是自激振蕩的反激式開關電源。220V交流輸入,一端經過一個開關,另一端經過一個1電阻1R1后,進入由4個二極管1D1-1D4組成的電橋,進行整流。電阻1R1用來做保護的,如果后面出現(xiàn)故障等導致過流,那么這個電阻將被燒斷,從而避免引起更大的故障。右邊的電阻1R4構成一個高壓吸收電路,當開關管1VT2關斷時,負責吸收線圈上的感應電壓,從而防

51、止高壓加到開關管1VT2上而導致?lián)舸?VT2為開關管(其型號為MJE13001),耐壓400V,集電極最大電流0.2A,最大集電極功耗為10W,用來控制原邊繞組與電源之間的通、斷。當原邊繞組不停的通斷時,就會在開關變壓器中形成變化的磁場,從而在次級繞組中產生感應電壓。左端的1R2為啟動電阻,給開關管提供啟動用的基極電流。 1R7為電流取樣電阻,電流經取樣后變成電壓(其值約為10*Ie(1VT2)),這電壓經1R5后,加至三極管1VT1

52、的基極上。當取樣電壓大約大于1.4V,即開關管電流大于0.14A時,三極管1VT1導通,從而將開關管1VT2的基極電壓拉低,集電極電流減小,這樣就限制了開關管的電流,防止電流過大而燒毀(其實這是一個恒流結構,將開關</p><p>  LED為電源指示燈,1R8用于對LED進行限流。由于當電源工作于輕載時,開關頻率較高,效率就不理想,為了防止過多的消耗發(fā)生在開關管上,應防止頻率過分升高,具體的做法是在輸出端加一固

53、定電阻充當負載,即圖中的1R9,其值的大小一般按不小于滿負載的10%考濾。</p><p>  3.2 主電路的設計</p><p>  主電路的功能是完成年、月、日、星期、時、分、秒之間的轉換,對溫度傳感器進行控制并讀取溫度轉換后的值,再送往液晶顯示屏LCD顯示,還要判斷定時時間是否到時,并且接受鍵盤操作,對日期和時間進行校正,以及對定時器進行設定和語音報時。</p>&l

54、t;p>  3.2.1 主要芯片的選擇</p><p>  主控芯片由單片機完成。目前市場上的單片機種類很多,如Intel公司生產的80C51系列,ATMEL公司生產的AT89系列,Microchip公司生產的PIC系列等等。他們各有其優(yōu)點及缺點。其中ATMEL公司生產的AT89系列單片機最為流行,它具有Flash ROM,擦寫方便,價格便宜。因此選用AT89C51為主控芯片。</p><

55、;p>  顯示模塊采用2×16的LCD屏1602。1602LCD能顯示2行,每行16個字符,顯示直觀、功耗小,有較高的性價比。</p><p>  溫度傳感器采用美國達拉斯(DALLAS)生產的可編程的DS18B20溫度傳感器。它直接輸出數(shù)字量的溫度值,精度高,測溫分辨率可達0.0625℃。一線制總線,接口方便,體積小等諸多優(yōu)點。</p><p>  語音芯片選用美國信息存

56、儲器件公司推出的ISD420語音芯片。ISD1420芯片的外圍元件簡單,僅需少量阻容元件、麥克風即可組成一個完整的錄放系統(tǒng)。ISD1420可以以字為單位來儲存聲音信息,以少量的語音信息,通過語音的組合,可形成多種語句。ISD1420采用模擬信息存儲技術,重放音質好,接口靈活方便,同樣具有優(yōu)越的性價比。</p><p>  3.2.2 主電路原理分析</p><p>  萬年歷系統(tǒng)的原理圖如

57、圖3-4所示。在圖3-4中1602液晶顯屏將要顯示的內容顯示出來。AT89C51完成年、月、日、星期、時、分、秒之間的轉換,集成芯片2U4通過AT89C51的中斷1向AT89C51提供精確的秒脈沖信號,以完成時鐘和日歷任務。在這里采用外部中斷提供秒脈沖信號,其目的有二:1、提高時鐘的精度。2、在本系統(tǒng)中采用了一個DS18B20的數(shù)字溫度傳器,它是單總線型的,數(shù)據(jù)的傳輸有嚴格的時間要求。它測量一次,再加這一次讀寫操作,大約需要900毫秒,

58、如果采用單片機內部定時器(12MHz晶振時,最大定時時間為65.536毫秒),就會在溫度讀寫期間發(fā)生定時器中斷,這樣就會破壞DS18B20數(shù)據(jù)傳輸?shù)臅r序,從而導致數(shù)據(jù)傳輸錯誤。采用外部中斷的方式提供秒信號時,每秒只中斷1次,在某次中斷到下一次中斷期間,已完成了數(shù)據(jù)的傳輸,這樣就保證了DS18B20數(shù)據(jù)傳輸?shù)恼_性。</p><p>  通過TA89C51的P0口與1602液晶顯示屏進行命令和數(shù)據(jù)的傳輸。在P0口中

59、接有上拉電阻2R1,這是因為P0口為非準向I/O口,其內部輸出三極管的集電極沒有上拉電阻,是開路的,若不外接上拉電阻2R1,就會造成P0口不能輸出高電平。P2.5用于控制傳送給LCD的是命令還是要顯示的內容。P2.5為高電平表示傳送的是要顯示的內容,P2.5為低電平表示傳送的是控制命令。P2.6用于控制LCD的讀和寫操作。高電平為讀操作,低電平為寫操作。P2.7為使能控制,控制LCD是否接受操作。高電平時允許讀操作,由高電平變?yōu)榈碗娖降?/p>

60、過程中,允許寫操作。</p><p>  溫度傳感器DS18B20用單總線接在AT89C51的P2.4口上,按單總線協(xié)議進行數(shù)據(jù)傳輸。</p><p>  AT89C51的P1口與語音芯片ISD1420的地址線A0-A7相連,用以控制發(fā)哪個音。ISD1420的與(25腳)AT89C51的P3.2口(外部中斷0)相連,用來告訴AT89C51放音結束,可以啟動下一次放音。啟動放音采用邊沿觸發(fā)方

61、式,ISD1420的(24腳)與AT89C51的P3.1口相連,用以啟動放音。</p><p>  鍵盤電路采用四個鍵,分別接到AT89C51的P2.0-P2.3口上。</p><p>  SW1為功能鍵,用于控制當前校正的是哪部分,在正常顯示的情況下連續(xù)按它,會在正常顯示→年→月→日→星期→時→分→正常顯示之間循環(huán)變換。在定時調整時按它,會在時→分→定時開關控制位→定時提示音選擇→正常顯

62、示之間變換。(在此狀態(tài)下,連續(xù)按SW1不循環(huán)變換)。</p><p>  SW2、SW3分別為“加1”、“減1”鍵。在校正狀態(tài)下,每按一下SW2或SW3相應的部分就會加1或減1。若在正常顯示狀態(tài)下,按下SW2,就會顯示定時顯示狀態(tài)。若在進入定時顯示狀態(tài)開始,大約在兩秒內若按下了功能鍵SW1,則會轉到定時器的設定狀態(tài),否則就返回正常顯示狀態(tài)。</p><p>  2R2、2C1構成AT89C

63、51的復位電路。AT89C51復位的條件是使其復位端(9腳)保持高電平大于兩個機器周期。在剛通電的時候,電源電壓通過2R2向2C1充電,在2R2兩端形成電壓,使單片機的復位端為高電平,只要使2R2 2C1的時間常數(shù)大于兩個機器周期,就可使AT89C51復位,一般2R2取1KΩ、2C1取22uF??紤]到開關穩(wěn)壓電源的瞬態(tài)響應時間稍長,2R2取4.7KΩ。</p><p>  2C2、2C3、2Y1和AT89C51

64、單片機內的高增益反相放大器,構成時鐘脈沖電路。時鐘脈沖的頻率取決于晶振2Y1的振蕩頻率,最高可達24MHz,在此選12MHz。2C2、2C3主要起頻率微調和穩(wěn)定作用,一般可取10~30pF。</p><p>  3.3 單片機外圍芯片簡介</p><p>  3.3.1 1602LCD顯示模塊</p><p>  1602LCD顯示模塊是一種字符型液晶顯示模塊,是一

65、種專門用于顯示字母、數(shù)字、符號等點陣式LCD,其主要技術參數(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)與操作之間的關系如表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公司生產的1-Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。1、DS18B2

68、0產品的特點  ● 只要求一個端口即可實現(xiàn)通信。  ● 在DS18B20中的每個器件上都有獨一無二的序列號。  ● 實際應用中不需要外部任何元器件即可實現(xiàn)測溫。  ● 測量溫度范圍在-55℃到+125℃之間。  ● 數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。  ● 內部有溫度上、下限報警設置。2、DS18B20的引腳介紹 </p><p>  DS18B20的封裝及引腳排列見圖3-7,其引腳功能

69、描述見表3-3-4。</p><p>  DS18B20內部結構如圖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在工作時按此寄存器中的分辨率將溫度轉換成相應精度的數(shù)值,其各位定義如圖3-9所示。其中,TM為測試模式標志位,出廠時被定入0,不能改變;R0、R1為溫度計分辨率設置位,其對應四種分辨率見配置寄存器與分辨率關系表。出廠時R0、R1置為缺省值:R0=1

71、,R1=1(即12位分辨率),用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率,配置寄存器與分辨率的關系見表3-3-5。</p><p>  3、DS18B20 ROM操作指令</p><p>  一旦總線主機檢測到從器件的存在,它便可以發(fā)出器件ROM操作命令之一。所有ROM操作命令均為8位長。</p><p>  1) Read ROM (讀ROM)[33h ]:此

72、命令允許總線主機讀DS18B20的8位產品系列編碼,唯一的48信序列號,以及8位的CRC。此命令只能在總線上僅有一個DS18B20的情況下使用。如果總線上存在多于一個的從器件,那么當所有從器件企圖同時發(fā)送時將發(fā)生數(shù)據(jù)沖突的現(xiàn)象(漏極開路會產生線與的結果)。</p><p>  2) Match ROM (符合ROM)[55h]:此命令后繼以64位的ROM數(shù)據(jù)序列,允許總線主機對多點總線上特定的DS18B20尋址。

73、只有與64位ROM序列嚴格相符的DS18B20才能對后繼的存儲器操作命令作出響應。</p><p>  3) Skip ROM (跳過ROM)[CCh]:在單點總線系統(tǒng)中,此命令通過允許總線主機不提供64位ROM編碼而直接進行存儲器操作以節(jié)省時間。</p><p>  4) Search ROM (搜索ROM)[F0h]:當系統(tǒng)開始工作時,總線主機可能不知道單總線上的器件個數(shù)或不知道其64

74、位ROM編碼。搜索ROM命令允許總線控制器用排除法識別總線上的所有從器件的64位編碼。</p><p>  5) Alarm Search (警告搜索)[ECh]:此命令的流程與搜索ROM命令相同。但是僅在最近一次溫度測量出現(xiàn)警告的情況下,DS18B20才對此命令作出響應。</p><p>  4、DS18B20 RAM操作指令</p><p>  1)Write

75、Scratchpad (寫暫存存儲器)[4Eh]:這個命令向DS18B20的暫存器TH和TL中寫入數(shù)據(jù)??梢栽谌魏螘r刻發(fā)出復信命令來中止寫入。</p><p>  2)Read Scratchpad (讀暫存存儲器)[BEh]:這個命令讀取暫相隔器的內容。讀取將從第1個字節(jié)開始,一直進行下去,直到第9(CRC)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時間發(fā)出復位命令來中止讀取。</p>&l

76、t;p>  3)Copy Scratchpad (復制暫存存儲器)[48h]:這個命令把暫存器的內容拷貝到DS18B20的E2ROM存儲器里,即把溫度報警觸發(fā)字節(jié)存入非易失性存儲器里。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于把暫存器拷貝到E2ROM存儲器,DS18B20就會輸出一個0,如果拷貝結束的話,DS18B20則輸出1。如果使用寄生電源,總線控制器必須在這條命令之后立即啟動強上拉 ,并最少保持10

77、ms。</p><p>  4)Convert T(溫度變換)[44h]:這條命令啟動一次溫度轉換而無需其它數(shù)據(jù)。溫度轉換命令被執(zhí)行,而后DS18B20保持等待狀態(tài)。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于做溫度轉換的話,DS18B20將在總線上輸出0,若溫度轉換完成,則輸出1。如果使用寄生電順勢,總線控制器必須在發(fā)出這條命令后立即啟動強上拉,并保持500ms以上時間。</p&g

78、t;<p>  5)Recall E2 ( 重新調整E2)[B8h]:這條命令把存儲中E2ROM中溫度觸發(fā)器的值重新調至暫存存儲器。這種操作在DS18B20上電時自動執(zhí)行,這樣器件一上電暫存器里馬上就存在有效的數(shù)據(jù)了。若在這條命令發(fā)出之后發(fā)出讀數(shù)據(jù)隙,器件會輸出溫度轉換忙的標識:0為忙,1為準備就緒。</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所示。當溫度轉換命令發(fā)布后,經轉換所得的溫度值以2字節(jié)補碼形式存放在高速暫存存儲器的第1、2個字節(jié)里。單片機可通過單總線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后。<

80、/p><p>  表3-3-6所列是部分DS18B20溫度采集轉化后得到的12位數(shù)據(jù),存儲中DS18B20的兩個8bit的RAM中,二進制中的前5位是符號位,如果測得的溫度大于或等于0,這5位為0,只要將測到的數(shù)值乘以0.0625即可得到實際溫度;如果溫度值小于0,這5位為1,測到的數(shù)值需要取反加1再乘以0.0625即可得到實際溫度。</p><p>  溫度轉換計算方法舉例:</p&g

81、t;<p>  例如當DS18B20采集到+125℃的實際溫度后,輸出為07D0h,則:</p><p>  實際溫度=07D0h×0.0625=2000×0.0625=125℃。</p><p>  例如當DS18B20采集到-55℃的實際溫度后,輸出為FC90h,則應先將其取反加1得370h,則:</p><p>  實際溫度=

82、370h×0.0625=880×0.0625=55℃,再加上一個“-”號,得-55℃。</p><p>  3.3.3 語音芯片ISD1420</p><p>  ISD1420是美國信息存儲器件公司生產的直接采用直接模擬存儲技術的語音芯片。該該芯片采用EEPROM存儲方法將模擬語音數(shù)據(jù)直接寫入半導體存儲單元中,具有音質自然、可反復錄放、抗干擾、低功耗等許多優(yōu)點。ISD

83、1420語音芯片的基本技術指標如下:</p><p><b>  工作電源:+5V</b></p><p><b>  工作電流:15mA</b></p><p>  待機電流: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ù):達10萬次</p><p>  ISD1420采用28腳,DIP封裝,其引腳定義如圖3-11所示。其引腳功能如下:</p><p>  電源(VCCA,VCCD) 芯片內

85、部的模擬和數(shù)字電路使用不同的電源總線,并且分別引到外封裝上, 這樣可使噪聲最小。模擬和數(shù)字電源端最好分別走線,盡可能在靠近供電端處相連,而去耦電容應盡量靠近芯片。 </p><p>  地線(VSSA,VSSD) 芯片內部的模擬和數(shù)字電路也使用不同的地線,這兩個腳最好在引腳焊盤上相連。</p><p>  錄音() 低電平有效。只要變低(不管芯片處在節(jié)電狀態(tài)還是正在放音),芯片即開始錄

86、音。錄音期間,必須保持為低。變高或內存錄滿后,錄音周期結束,芯片自動寫入 一個信息結束標志(EOM),使以后的重放操作可發(fā)及時停止。之后芯片自動進入節(jié)電狀態(tài)。 注:的上升沿有 50 毫秒防顫,防止芯片自動進入節(jié)電狀態(tài)。 </p><p>  邊沿觸發(fā)放音() 此端出現(xiàn)下降沿時,芯片開始放音。放音持續(xù)到 EOM 標志或內存結束, 之后芯片自動進入節(jié)電狀態(tài)。開始放音后,可以釋放。 </p><p

87、>  電平觸發(fā)放音() 此端出現(xiàn)下降沿時,芯片開始放音。放音持續(xù)至此端變回到高電平,或遇到 EOM 標志,或內存結束。放音結束后芯片自動進入節(jié)電狀態(tài)。 注:放音過程中當遇到 EOM 或內存結束時,如果或仍處在高電平,芯片雖然也進入節(jié)電狀態(tài)(內部震蕩器和時鐘停止工作),但是由于芯片沒有對和的上升沿進行消顫,隨后在這兩個引腳上出現(xiàn)的下降沿(例如釋放按鍵時的抖動)都會觸發(fā)放音。 </p><p>  錄音指示(

88、) 處于錄音狀態(tài)時,此端為低電平,可驅動LED。此外,放音遇到 EOM 標志時, 此端輸出低電平脈沖。 </p><p>  話筒輸入(MIC) 此端接至片內前置放大器。片內自動增益控制電路(AGC)將前置增益控制在-15 至 24dB。外接話筒應通過串聯(lián)電容耦合到此端。耦合電容值和此端的10KΩ輸入阻抗決定了芯片頻帶的低頻截止點。 </p><p>  話筒參考(MIC REF)

89、此端是前置放大器的反向輸入。當以差分形式連接話筒時,可減小噪聲,提 高共模抑制比。 </p><p>  自動增益控制(AGC) AGC動態(tài)調節(jié)前置增益以補償話筒輸入電平的寬幅變化,使得錄制變化很大的音量(從耳語到喧嘩聲)時失真都能保持最小。響應時間取決于此端的內部的5KΩ輸入阻抗和外接的對地電容的時間常數(shù)。釋放時間取決于此端外接的并聯(lián)對地電容和電阻的時間常數(shù)。470KΩ和 4.7uF 的標稱值在絕對大多數(shù)場合

90、 下可獲得滿意的效果。 </p><p>  模擬輸出(ANA OUT) 前置放大器輸出。前置電壓增益取決于 AGC 端的電平。 </p><p>  模擬輸入(ANA IN) 此端即芯片錄音的輸入信號。對話筒輸入來說,ANA OUT 端應通過外接電容連至本端。該電容和本端的3KΩ輸入阻抗給出了芯片頻帶的附加低端截止頻率。其它音源可通過交流耦合直接連至本端。 </p>&

91、lt;p>  喇叭輸出(SP+、SP-) 這對輸出端能驅動16Ω以上的喇叭。單端使用時必須在輸出端和喇叭間接耦合電容,而雙端輸出既不用電容又能將功率提高4倍。錄音時,它們都呈高阻態(tài);節(jié)電模式下,它們保持為低電平。 </p><p>  外部時鐘(XCLK) 此端內部有下拉元件,不用時應接地。芯片內部的采樣時鐘在出廠前已調校, 保證了標稱的最小錄音時間。商業(yè)級芯片在整個溫度和電壓范圍內,頻率變化在+2.2

92、5%內,并保證最小錄放時間,所以有些芯片的錄放時間比標稱的值稍大。工業(yè)級芯片在整個溫度和電壓范圍內,頻率變化在+5%內,建議使用穩(wěn)壓電源。若要求更高精度或系統(tǒng)同步,可從此端輸入外部時鐘。輸入時鐘的占空比無關緊要,因為內部首先進行了分頻。 </p><p>  地址(A0--A7) 地址端有兩個作用,取決于最高兩位A7、A6 的狀態(tài)。當 A7 或 A6 有一個為 0時,所有輸入均釋放為地址位,作為當前錄放操作的起

93、始地址。地址端只用輸入,不能輸出操作過程的內部地址信息。地址在、或 的下降沿鎖存。</p><p>  ISD1420內置了若干操作模式,如表3-3-7所示,可用最少的外圍器件實現(xiàn)最多的功能。操作模式也由地址端控制;當 A7 和 A6 都為 1 時,其它地址端置高就選擇某個(或某幾個)模式。因為操作模式和直接尋址互相排斥。操作模式可由微控制器,也可由硬件實現(xiàn)。使用操作模式有兩點注意:(1)所有操作最初都是從0地址

94、,即存儲空間的起始端開始。后續(xù)操作根據(jù)所選用的模式可從其它的地址開始。此外,A4 模式中,當電路由錄音轉為放音時地址計數(shù)器復位為0,而由放音轉為錄音時則不復位。(2)當控制信號(、或)變低,同時A6 和A7 為高時,執(zhí)行操作模式。 這種操作模式一直有效,除非控制信號再次由高變低,芯片重新鎖存當前的地址/模式端電平,然后執(zhí)行相應操作。 </p><p>  A0(信息檢索)——快速跳過信息而不必知道其確切的地址???/p>

95、制端每輸入一個低脈沖,內部地址計數(shù)器就跳到下一條信息。此模式僅用于放音,通常與 A4 同時使用。 </p><p>  A1(EOM 刪除)—— 使分段信息變?yōu)橐粭l信息,僅在信息最后留一個 EOM 標志。這個模式完成后,錄入的所有信息就作為一條連續(xù)的信息。 </p><p>  A3(信息循環(huán))—— 循環(huán)重放位于存儲空間起始處的那條信息。如果一條信息完全占滿存儲空間, 那么循環(huán)就從頭至尾進

96、行。給發(fā)低脈沖后循環(huán)開始,給發(fā)低脈沖后循環(huán)結束。 </p><p>  A4(連續(xù)尋址)—— 正常操作中,重放遇到EOM 標志時,地址計數(shù)器會復位。A4 模式禁止地址計數(shù)器復位,使得信息可連續(xù)錄入或重放。當芯片既非錄音又非放音時,將 A4 短暫拉低可使地址計數(shù)器復位為 0。 </p><p>  A2、A5 —— 末用。 </p><p><b>  第

97、4章 程序設計</b></p><p>  在單片機系統(tǒng)中,硬件是系統(tǒng)的基礎,軟件則是在硬件的基礎上對其合理的調配和使用,從而完成應用系統(tǒng)所要完成的任務。</p><p>  軟件的設計是設計控制系統(tǒng)的應用程序。其任務是在整體設計和硬件設計的基礎上,確定程序結構,分配內RAM資源,劃分功能模塊,然后進行主程序和各模塊程序的設計,最后連接起來成為一個完整的就用程序。</p&

98、gt;<p><b>  4.1 總體設計</b></p><p>  圖4-1為系統(tǒng)程序總體結構。主程序首先對1602LCD進行初始化,然后顯示開機畫面,接著對中斷系統(tǒng)進行初始化,最后在鍵盤掃描、溫度檢測及顯示處理之間不斷地循環(huán)。在中斷服務子程序中,先秒加1,LCD背光燈時間值減1,接著進行一系列操作: LCD背光燈處理(主要是判斷是否達到關閉LCD背光燈的條件是否滿足,若滿

99、足,則關閉LCD背光燈);秒、分、時、日、星期、月、年處理;判斷定時是否已到;顯示刷新。當所有顯示內容刷新完成后,中斷返回。</p><p>  系統(tǒng)程序結構屬中斷方式,正常情況下,主要工作在鍵盤掃描、溫度檢測和INT中斷服務程序中。根據(jù)總體結構,可將程序劃分為幾個功能模塊:延時、顯示、INT1中斷、時鐘校正、定時處理、溫度檢測及處理、語音報時。隨后將對各個功模塊進行說明。</p><p>

100、;  4.2 主程序的設計</p><p>  在多功能模塊化程序設計中,主程序的作用是設置系統(tǒng)運行的一些初始狀態(tài)及系統(tǒng)運行的環(huán)境,并將各種功能子程序按要求連接起來組成一個功能強大的系統(tǒng)。本系統(tǒng)主程序的流程圖如圖4-2所示。</p><p>  由圖4-2可看出,程序先對1602LCD進行初始化,接著顯示開機畫面,再進行中斷系統(tǒng)的初始化,最后按不同的條件調用不同的功能子程序,從而完成各種功

101、能。</p><p>  1602LCD的初始化主要是讓LCD按我們設定的要求顯示內容。1602LCD的設定指令見表3-3-3(第12頁)。在本程序中,1602LCD初始化為:8位數(shù)據(jù)接口,兩行顯示,5×7點陣字符,顯示開,關光標,光標移動為增量式。</p><p>  1602LCD的初始化已被寫成一個函數(shù)LCD_Initial(),程序清單中的第65~73行(第36頁),直接

102、調用就可完成1602LCD的初始化。</p><p>  本系統(tǒng)中用到了兩個中斷INT0和INT1,INT0中斷用于報時和響鈴,INT1用于計時,所以在中斷系統(tǒng)初始化中,把INT1設為高優(yōu)先級。</p><p>  主程序見程序清單中的第602~702行(第50頁)。</p><p>  4.3 INT1中斷服務程序</p><p>  IN

103、T1中斷服務程序的流程圖如圖4-3所,在這個中斷服務程序中,共要完成5個任務:</p><p>  (1)、控制LCD背光燈的關閉。當開機或有鍵按下時,LCD背光燈點亮,并設定LCD背光燈亮的時間為15秒,INT1每中斷一次,LCD背光燈亮的時間就減1,當減到0時,就關閉LCD背光燈。以減少消耗。</p><p>  (2)、控制溫度檢測的時間。溫度檢測一次大約要0.9秒,并且采用單總線傳

104、輸數(shù)據(jù),如果不加以控制的話,就有可能出現(xiàn)在溫度檢測期間發(fā)生中斷,打亂了單總線傳輸?shù)臅r序要求,從而導致數(shù)據(jù)傳錯誤。所以讓溫度檢測每兩秒鐘啟動一次,也就是當秒%2=0時,啟動溫度檢測,在出現(xiàn)下次中斷時(1秒后),溫度檢測已完成,從而保證了數(shù)據(jù)的正確性。</p><p>  (3)、年、月、日、星期、時、分、秒之間的變換。實現(xiàn)的方法是根據(jù)它們之間所固有的關系,依次判斷是否達到使之發(fā)生改變的條件,即:</p>

105、<p><b>  。</b></p><p>  當月發(fā)生改變時,就會計算一次當月的天數(shù)。當年發(fā)生改變時,就會以查表的方法進行一次潤年判斷,以確定當年二月的天數(shù)。</p><p>  為了提高程序的運行效率,在上面的轉換關系中,當某個條件不滿足時,其后面的就不需再判斷,直接跳出。</p><p>  (4)、判斷定時器是否已到。

106、在正常顯時狀態(tài)下,如果當前時間的“時”和“分”分別與定時器的“時”和“分”相等,且定時器設為開,則定時響應標志置1,在退出中斷后,就會響鈴。</p><p>  (5)、顯示刷新。將“年、月、日、星期、時、分、秒”進行顯示刷新。把顯示刷新設在中斷程序中完成,是為了將刷新后的“年、月、日、星期、時、分、秒”及時地顯示出來。</p><p>  INT1中斷服務程序見程序清單中的第703~77

107、0行(第51頁)。</p><p>  4.4 各功能模塊的設計</p><p>  4.4.1 顯示子程序</p><p>  顯示子程序的功能是將需要顯示的內容送到LCD顯示。顯示子程序的流程圖如圖4-4所示。要顯示某個字符,先要進行定位,即確定這個字符顯示在LCD顯的哪個位置,然后把這個字符的ASCII碼送到LCD,LCD就會顯示出該字符。</p>

溫馨提示

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

評論

0/150

提交評論