




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、畢畢業(yè)業(yè)設(shè)設(shè)計(jì)計(jì)(論論文文)題題 目目 語音播報(bào)記事器英文題目英文題目 the pronunciation disseminates the news record 學(xué)生姓名學(xué)生姓名 班班 級級 指導(dǎo)教師指導(dǎo)教師 專專 業(yè)業(yè) 自動化二 零 零 六 年 六 月摘要本設(shè)計(jì)以單片機(jī)為基礎(chǔ),能夠完成對語音信息的錄制、播放以達(dá)到對人們的提醒。其中包括整機(jī)硬件電路的設(shè)計(jì)和全部軟件部分的設(shè)計(jì)。該語音播報(bào)系統(tǒng)由 led 顯示電路模塊、按鍵電路模塊、蜂鳴電路模塊、語音錄放模塊和串行時鐘模塊組成。主機(jī)是以 intel 公司的 8051 單片機(jī)為核心芯片,外接主要芯片包括語音芯片 isd1420 和串行時鐘芯片 d
2、s1302。能夠?qū)崿F(xiàn)顯示當(dāng)前時間、錄制和播放語音信息、調(diào)整當(dāng)前時間、設(shè)置鬧鐘時間并且在到鬧鐘時間后,能夠以語音的形式進(jìn)行提醒并以蜂鳴提示。該設(shè)計(jì)的主要特點(diǎn)是:設(shè)計(jì)以語音的形式進(jìn)行提醒,改變了以人們以單純無聲的書本記錄,并且設(shè)計(jì)能夠顯示和修改當(dāng)前的年份、月份、星期,完全可以作為一般的鐘表來使用。此外,文章力求語言流暢、條理清晰、深入淺出,能為一般的讀者所讀懂。關(guān)鍵詞單片機(jī);語音信息;鬧鐘abstractthis design take the monolithic integrated circuit as a foundation, can complete to pronunciation
3、information transcribing,the broadcast by achieves to peoples reminder. including entire machine hardware electric circuit design and complete software partial designs.this pronunciation disseminates news the system by the led display circuit module, the pressed key electric circuit module, the buzz
4、ing electric circuit module, the pronunciation recording and sending out module and the serial clock module is composed. the main engine is take the intel corporations 8051 monolithic integrated circuits as the core chip, outside meets the main chip including pronunciation chip isd1420 and serial cl
5、ock chip ds1302. it can realize the demonstration current time, transcribing and the broadcast pronunciation information, the adjustment current time, the establishment alarm clock time and in after the alarm clock time, can carry on the reminder by the pronunciation form and prompt by the buzzing.t
6、his design main characteristic is: the design carries on the reminder by the pronunciation form, changed by the people by the pure silent books record, and designs can demonstrate and revise the current year, month, the week, definitely may take the common clock and watch uses. in addition, this art
7、icle makes every effort the language smoothly, orderliness is clear, explains the profound in simple language, can read for the common reader.key word single-chip microcomputer;information of pronunciation;alarm clock目錄摘要緒論.11. 系統(tǒng)的性能指標(biāo)及要求.21.2 語音播報(bào)記事器的功能及主要組成 .21.3 系統(tǒng)主要設(shè)計(jì)框圖 .22. 系統(tǒng)硬件構(gòu)成與實(shí)現(xiàn).42.1 led 顯
8、示模塊設(shè)計(jì).42.2 按鍵電路模塊設(shè)計(jì) .72.3 蜂鳴電路模塊設(shè)計(jì) .92.4 語音錄放模塊設(shè)計(jì) .92.4.1 isd1420 芯片的介紹.92.4.2 isd1420 芯片與單片機(jī)的連接.102.5 串行時鐘模塊設(shè)計(jì) .112.5.1 ds1302 芯片 的介紹.112.5.2 時鐘芯片與單片機(jī)的硬件連接 .123. 系統(tǒng)軟件的總體構(gòu)成與實(shí)現(xiàn).133.1 語音播報(bào)定時器系統(tǒng)軟件設(shè)計(jì)方案及框圖 .133.2 電子播報(bào)記事器的主程序設(shè)計(jì) .144.1 錄音與放音模塊設(shè)計(jì) .164.1.1 錄音與放音選擇模塊設(shè)計(jì) .164.1.3 放音模塊設(shè)計(jì) .174.1.4 錄放音控制模塊設(shè)計(jì) .184.
9、2 當(dāng)前時間的調(diào)整與鬧鐘的時間設(shè)置模塊設(shè)計(jì) .194.2.1 當(dāng)前時間的調(diào)整與鬧鐘的時間設(shè)置選擇模塊設(shè)計(jì) .194.2.2 調(diào)整當(dāng)前時間程序設(shè)計(jì) .204.2.3 鬧鐘設(shè)置子程序 .234.3 led 動態(tài)顯示模塊設(shè)計(jì).244.4 產(chǎn)生一分鐘時間模塊設(shè)計(jì) .264.5 鍵盤接收模塊的設(shè)計(jì) .28結(jié)論.30致 謝.31參考文獻(xiàn).32附錄 1 .33附錄 2 .52緒論 計(jì)算機(jī)的發(fā)展經(jīng)歷了從電子管、晶體管、集成電路、到大規(guī)模集成電路共 4 個發(fā)展階段。微型計(jì)算機(jī)是大規(guī)模集成技術(shù)發(fā)展的直接產(chǎn)物,屬于第四代計(jì)算機(jī)。隨著微型機(jī)的研制成功,不久就出現(xiàn)了單片微型計(jì)算機(jī),又稱單片機(jī)或微控制器。它在一塊芯片上集
10、成了中央處理器、只讀存儲器、隨機(jī)存儲器、定時/記數(shù)器以及 i/o接口電路等主要計(jì)算機(jī)部件。換言之,它就是把微型計(jì)算機(jī)所有的功能部件都集成在一塊芯片上了,故國內(nèi)常稱其為單片機(jī)。由于單片機(jī)體積小、質(zhì)量輕、功耗低、價格便宜、控制能力強(qiáng)、運(yùn)行穩(wěn)定可靠,自問世以來,在各領(lǐng)域得到了廣泛的應(yīng)用。尤其是在近幾年的工業(yè)控制、自動檢測、智能儀器儀表、家用電器等領(lǐng)域發(fā)揮著不可替代的作用,使它不斷拓寬應(yīng)用范圍,增添了新的活力。隨著電子技術(shù)的迅速發(fā)展,人類生活亦得到了根本性的改變。如果說微型計(jì)算機(jī)的出現(xiàn)使現(xiàn)代科學(xué)研究得到了質(zhì)的飛躍,那么可以毫不夸張地說,單片機(jī)技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)控領(lǐng)域帶來了一次新的技術(shù)革命。在這種
11、瞬息萬變的新形勢下,全球的信息化使人們足不出戶便可以獲取全方位的知識和信息,與此同時人們的生活節(jié)奏也隨之加快,競爭變得日趨激烈。因此,能夠合理的安排和利用時間在日常的學(xué)習(xí)和工作中就顯得尤為重要了。但是在充滿壓力的生活中,往往很容易因一時的疏忽就耽誤已安排好的事情造成遲到或其他事件,甚至產(chǎn)生了嚴(yán)重的后果和經(jīng)濟(jì)損失。此時,若有一臺智能語音記事器,將各種約定時間記錄下來,按時進(jìn)行語音提醒,就可以避免遲到、缺席事件的發(fā)生,從而給我們的工作和學(xué)習(xí)帶來很大的方便。單片機(jī)技術(shù)的發(fā)展為這一設(shè)想提供了技術(shù)基礎(chǔ)。在以 mcs51 系列單片機(jī)為核心器件組成的一個語音提示系統(tǒng)中,其所具有的標(biāo)準(zhǔn)日歷、能夠隨時對當(dāng)前時間
12、進(jìn)行調(diào)整、隨時輸入定時播報(bào)(鬧鐘)時間等功能滿足了人們的要求,使人們不再擔(dān)心會忘記重要的約會。 1. 系統(tǒng)的性能指標(biāo)及要求為了使人們在日常生活中不會忘記已安排好的日程,本設(shè)計(jì)語音播報(bào)記事器采用了主意提示的方法去提醒人們,滿足了人們的要求。1.2 語音播報(bào)記事器的功能及主要組成在通常情況下,人們總是通過如下的方式提醒自己:將將要發(fā)生的事情記錄下來,這種發(fā)法雖然有效,但到時又難免忘記;再者就是將將要發(fā)生的事情的時間刻錄在電子表類的儀器上,等時間到時,儀器便以蜂鳴的形式進(jìn)行提醒,但如果時間太久了,雖然知道了事情的時間,卻又容易想不起是什么事情。所以本設(shè)計(jì)語音播報(bào)記時器將采用語音播報(bào)的形式對人們進(jìn)行主
13、動提醒,不管時間有多久,它也能準(zhǔn)確、及時地進(jìn)行時間和語音播報(bào)的提醒。本系統(tǒng)以 8051 單片機(jī)為核心器件,以語音芯片 isd1420 和串行時鐘 ds1302 芯片為輔助芯片,并通過一定的硬件電路連線,能夠完成對語音的錄制與播放,能夠?qū)Ξ?dāng)前時間進(jìn)行調(diào)整各對提醒時間的設(shè)定,并且同時能以四位時鐘 led 顯示出來。有了這樣的設(shè)計(jì),相信人們在百忙的生活中就不會因一時的疏忽而耽誤一些重大事宜。本設(shè)計(jì)具備了語音的錄入和提示功能,改變了以往的無聲書本的記錄方法,當(dāng)你有什么重要的事情而又擔(dān)心忘記時,你就可以對其進(jìn)行錄音,并設(shè)置好提醒時間,到時,它就會將錄音內(nèi)容播報(bào)出來,并在最后進(jìn)行蜂鳴提醒。除了具備電子記事
14、本的功能外,本系統(tǒng)也可以當(dāng)作鐘表來使用,因?yàn)樗哂兴奈?led 數(shù)碼管,可對當(dāng)前時間進(jìn)行顯示,當(dāng)時間發(fā)生差錯時,還可以按照一定的方法進(jìn)行調(diào)整,不會因時間無法調(diào)整而進(jìn)行錯誤提醒。有了語音播報(bào)記事器,你也不用擔(dān)心會出現(xiàn)在錄制了一次事情后而沒有辦法再次錄制的情況,因?yàn)楸驹O(shè)計(jì)能夠進(jìn)行五組錄音,當(dāng)某件事情已過去時,可以將以前的語音信息覆蓋,再次進(jìn)行錄音。此外,本系統(tǒng)對時間的設(shè)置是隨意的,因?yàn)樵撛O(shè)計(jì)具有標(biāo)準(zhǔn)的日歷/時鐘,即年、月、日、星期、時、分和秒,遇到閏年還可以自動修正。有了這樣的設(shè)計(jì),相信人們在百忙的生活中就不會因一時的疏忽而耽誤一些重大事宜。1.3 系統(tǒng)主要設(shè)計(jì)框圖根據(jù)設(shè)計(jì)要求與設(shè)計(jì)思路,本系統(tǒng)采
15、用單片機(jī)作為核心控制部件,采用可擦除、可分段語音處理芯片 isd1420 記錄語言以及其他外圍電路組成語音提示系統(tǒng)。系統(tǒng)由實(shí)時時鐘、語音錄放控制、當(dāng)前時間調(diào)整、提醒時間設(shè)置、led 譯碼/驅(qū)動、時間顯示和語音處理等模塊組成。系統(tǒng)設(shè)計(jì)框圖如圖 11 所示:圖 11 系統(tǒng)設(shè)計(jì)框圖 僅有這些硬件模塊還達(dá)不到我們預(yù)期設(shè)計(jì)的目的,因此,我們要加入編程以實(shí)現(xiàn)電路設(shè)計(jì)的簡潔優(yōu)化,這其中包括系統(tǒng)對各組語音錄放不同存放地址的設(shè)置及實(shí)現(xiàn),對具體時間的規(guī)定和調(diào)整(如每星期的天數(shù)設(shè)定、每天的小時固定數(shù)字顯示設(shè)定等) ,對記事器的定時中斷等,從而達(dá)到預(yù)期的數(shù)據(jù)采集及傳送的效果。單片機(jī)實(shí)時時鐘 rtc提醒時間設(shè)置當(dāng)前時間
16、調(diào)整語音錄放控制4 位時鐘型led 顯示led 譯碼/驅(qū)動模塊語音處理模塊蜂鳴器控制揚(yáng)聲器送話器2. 系統(tǒng)硬件構(gòu)成與實(shí)現(xiàn) 在本章的硬件設(shè)計(jì)電路中,主要闡述了 led 顯示電路模塊、按鍵電路模塊、蜂鳴電路模塊、語音錄放模塊和串行時鐘模塊六個模塊。其中介紹了模塊中所用到的主要芯片、硬件連線電路原理和各模塊所實(shí)現(xiàn)的功能。2.1 led 顯示模塊設(shè)計(jì)為實(shí)現(xiàn)單片機(jī)應(yīng)用系統(tǒng)中的人機(jī)對話,即人對應(yīng)用系統(tǒng)的狀態(tài)干預(yù)、數(shù)據(jù)輸入或應(yīng)用系統(tǒng)向人們顯示運(yùn)行狀態(tài)結(jié)果等,需加入顯示器、鍵盤等外圍設(shè)備,這就是用來完成人機(jī)對話活動的人機(jī)通道。在本系統(tǒng)的設(shè)計(jì)中,由系統(tǒng)硬件設(shè)計(jì)框圖可知,這樣的人機(jī)對話通道的顯示電路由 led 顯
17、示器、段驅(qū)動電路和位驅(qū)動電路組成。(1)led 顯示器的介紹 e 1 d 2 dp 3 c 4 g 5 d4 6 b 7 d3 8 d2 9 f 10 a 11 d1 12 dp 圖 21 4led 顯示器引腳原理圖如圖 2-1 所示,本設(shè)計(jì)中采用 4 位一體的時鐘型 led 顯示器,簡稱“4led” ,“:”的前 2 位顯示“小時”的十位和個位 , “:”的后 2 位顯示“分”的十位和個位。從其引腳可知,它是一個共陰極接法的 4 位時鐘型 led 顯示器。4 位一體時鐘型 led 顯示器的內(nèi)部結(jié)構(gòu)如圖 22 所示。它是由 4 個單獨(dú)的 led 和一個“:” led組成,每個 led 的段輸出
18、引腳在內(nèi)部并聯(lián)后,引出到器件的外部。 abc de f gdpabc de f gdpabc de f gdpabc de f gdpdpdpdpdpd1d2d3d4位位位位位位 位 位 位 位圖 22 4led 顯示器內(nèi)部結(jié)構(gòu)原理圖(2)led 的段驅(qū)動芯片的介紹在本設(shè)計(jì)中,可以選擇 74ls48 作為段驅(qū)動電路。該芯片具有鎖存、譯碼、驅(qū)動的功能。即在輸入端輸入要顯示字型的 bcd 碼,在輸出端就可以得到具有一定驅(qū)動能力的 7 段顯示字型碼。圖 23 給出了 74ls48 的引腳圖。引腳圖中大寫字母 a、b、c、d 為 bcd 碼的輸入端,小寫字母 a、b、c、d、e、f、g 為字型碼輸出端
19、。表 21 給出了 74ls48bcd段鎖存/譯碼/驅(qū)動器的輸入與輸出信號的對應(yīng)關(guān)系, 74ls48 的作用是接收來自3單片機(jī)的 bcd 碼型的輸入信號,經(jīng)過鎖存、譯碼和放大后,輸出 7 段字型碼到 led顯示器,完成對 bcd 碼到 7 段字型碼的鎖存、譯碼和驅(qū)動的功能。b1c2lt3bi/rbo4rbi5d6a7vss8e9d10c11b12a13g14f15vdd16圖 23 74ls48 芯片引腳圖表 21 74ls48bcd7 段碼器輸入/輸出端信號對照表(3)led 的位驅(qū)動芯片的介紹本設(shè)計(jì)中采用的 led 位驅(qū)動芯片是 uln2003,其引腳圖如圖 24 所示,其中in1in7
20、引腳是輸入端,out1out7 引腳是輸出端。該芯片的輸入端引腳in1、in2、in3 、in4 與單片機(jī)的 p1 口連接,輸出端引腳 out1、out2、out3、out4與 led 顯示器的 4 個位碼引腳 d1d4 相連接。uln2003 接收來自單片機(jī)的位碼輸入信號,經(jīng)過反相放大后輸出,送到 led 顯示器位碼引腳,完成對位碼信號的反向和驅(qū)動。in11in22in33in44in55in66in77comm89out710out611out512out413out314out215out116圖 24 uln2003 芯片的引腳圖(4)led 驅(qū)動電路與單片機(jī)的連接單片機(jī)的 p1 口作
21、為 led 的輸出接口,其低四位作為 led 的段碼輸出信號,高四位作為 led 位碼的輸出控制信號。硬件電路連接如圖 25 所示。驅(qū)動中的上拉電 1 阻保證了 led 的可靠導(dǎo)通與截止。輸入端電平輸出端電平輸入端電平輸出端電平dcbag f e d c b a顯示字型dcbag f e d c b a顯示字型00000111111(3fh)001011101011(6dh)500010000110(06h)101101111011(7dh)600101011011(5bh)201110000111(07h)700111001111(4fh)310001111111(7fh)801001100
22、110(66h)410011101111(6fh)9p101p112p123p134p145p156p167p178rest9rxd10txd11int012int113t014t115x218x119ea/vp31wr16rd17psen29ale/p30p2021p2122p2223p2324p2425p2526p2627p2728p0039p0138p0237p0336p0435p0534p0633p07328051u1p10p11p12p13p14p15p16p17rbi5bi/rbo4lt3e9d10c11b12a13g14f15d6c2b1a7r474ls48in11in22in3
23、3in44in55in66in77out115out214out313out412out511out610out79u7uln2003p10p11p12p13p14p15p16p17a11b7c4d2e1f10g5p3d112d29d38d46disp1r151kvcc9012vt2r12100r1120vccp15圖 25led 驅(qū)動電路與單片機(jī)的連接 驅(qū)動電路的工作原理為:當(dāng) p1 口的低四位輸出段碼信號的 bcd 碼后,通過74ls48 芯片的鎖存、譯碼和驅(qū)動,在其輸出端輸出具有一定驅(qū)動能力的七段字型碼,并通過 uln2003 的反向后驅(qū)動達(dá)到明確有序的動態(tài)顯示的目的。p1 口的控制信號
24、及4led 的顯示狀態(tài)如表 22 所示。表 22 4led 動態(tài)掃描顯示狀態(tài)p1 口輸出控制字點(diǎn)亮順序位碼 段碼74ls48 輸出段碼g f e d c b a2003 輸出位碼d1 d2 d3 d4110000000b(80h)0111111b(3fh)0111201000001b(41h)0000110b(06h)1011300100010b(22h)1011011b(5bh)1101400010011b(13h)1001111b(4fh)1110由于 74ls48 是 bcd 碼 7 段譯碼器,對小數(shù)點(diǎn)位沒有驅(qū)動作用,因此,必須給4led 顯示器中的“:”符號設(shè)計(jì)一個驅(qū)動電路。dp(“:
25、”)的驅(qū)動電路由vt2、r11、r12 器件組成,該電路的工作原理是:當(dāng) vt2 的基極為低電平時,vt2 導(dǎo)通,dp 段被點(diǎn)亮。即“:”與 led 數(shù)碼管的第二位一起被點(diǎn)亮;當(dāng) vt2 的基極為高電平時,vt2 截止,dp 段熄滅。2.2 按鍵電路模塊設(shè)計(jì)本設(shè)計(jì)應(yīng)用系統(tǒng)工作時應(yīng)具備兩項(xiàng)基本功能,一是隨時輸入定時(鬧鐘)時間,二是隨時對當(dāng)前時間進(jìn)行調(diào)整。要實(shí)現(xiàn)這兩項(xiàng)功能,可以接入鍵盤輸入電路。(1)鍵盤結(jié)構(gòu)的介紹在本設(shè)計(jì)中選擇的獨(dú)立式鍵盤為五個按鍵,如圖 26 所示,電路由按鍵和六個電阻組成,按鍵分別命名為“play” 、 “rec” 、 “set” 、 “alm” 、 “1” 、 “ret”
26、鍵。(2)鍵盤與單片機(jī)的接口電路設(shè)計(jì)如圖 26 所示,將“1”鍵、 “ret”鍵直接與單片機(jī)的 p3.0 與 p3.1 口連接;“set”與“alm”通過 74ls08 相與后連接到 int1 口, “rec”與 t0 口通過 74ls08相與后連接到 int0 口,其中 t0、t1 口作為基本輸入輸出口使用。p101p112p123p134p145p156p167p178rest9rxd10txd11int012int113t014t115x218x119ea/vp31wr16rd17psen29ale /p30p2021p2122p2223p2324p2425p2526p2627p2728
27、p0039p0138p0237p0336p0435p0534p0633p07328051u1vccb112khzc922pfc822pf74ls0874ls08123456recs3se ts4alms5+1s6rets7p20p21p22r8200s2rstr71ks1pl ay位c1022ufp20p21p22r131kvcc圖 26 按鍵與單片機(jī)的硬件連接“play”鍵所實(shí)現(xiàn)的功能是進(jìn)行語音信息的播放, “rec”鍵是進(jìn)行語音信息的錄制。如果在單片機(jī)的 int0 口產(chǎn)生一個中斷,單片機(jī)先判斷 t0 口是否是低電平,如果是,表明 “play”鍵被按下了,就執(zhí)行放音操作,如果不是,則表明按下
28、的是“rec”鍵,程序轉(zhuǎn)到錄音操作。這兩鍵可與“1” 、 “ret”鍵的配合使用對進(jìn)行不同地址段的錄放、音選擇。 “1”鍵用來選擇錄音的段數(shù), “ret”用來確認(rèn)錄、放音段已完成?!癮lm”鍵所實(shí)現(xiàn)的功能是進(jìn)行鬧鐘時間的設(shè)置, “set”鍵則是對當(dāng)前時間進(jìn)行調(diào)整。如果在單片機(jī)的 int0 口產(chǎn)生一個中斷,單片機(jī)先判斷 t1 口是否是低電平,如果是,表明“alm”鍵被按下了,單片機(jī)就去執(zhí)行設(shè)置鬧鐘時間的操作,如果不是,表明按下的是“set”鍵,則單片機(jī)就是執(zhí)行對當(dāng)前時間調(diào)整的操作。這兩鍵可與“1” 、 “ret”鍵同時完成各自的功能, “1”鍵用來對調(diào)整位進(jìn)行加 1 操作,“ret”用來確認(rèn)調(diào)整
29、位已修改完。鍵盤的硬件電路設(shè)計(jì)只能保證六個按鍵信號的可靠進(jìn)入,要想完成鍵盤的輸入功能,還要靠軟件編程來具體實(shí)現(xiàn)。設(shè)置當(dāng)前時間和鬧鐘時間的中斷服務(wù)程序,請參考軟件設(shè)計(jì)一節(jié) inta、intb 子程序設(shè)計(jì)。2.3 蜂鳴電路模塊設(shè)計(jì)本設(shè)計(jì)中選擇了蜂鳴器來實(shí)現(xiàn)定時(鬧鐘)時間的聲音提醒,其電路如圖 27所示,在單片機(jī) p2.7 口通過限流電阻 r9 接入蜂鳴器(ha)作為三極管 vt1 的發(fā)射極負(fù)載,當(dāng) p2.70 時,vt1 導(dǎo)通時,蜂鳴器中有電流通過,發(fā)出蜂鳴音。反之蜂鳴器不發(fā)聲。p101p112p123p134p145p156p167p178rest9rxd10txd11int012int113
30、t014t115x218x119ea/vp31wr16rd17psen29ale/p30p2021p2122p2223p2324p2425p2526p2627p2728p0039p0138p0237p0336p0435p0534p0633p07328051u1r9100vccha2gnd9012vt1圖 27 蜂鳴電路原理圖2.4 語音錄放模塊設(shè)計(jì) 在本設(shè)計(jì)中選用了 isd1420 作為系統(tǒng)的語音芯片,在確保語音質(zhì)量好的情況下使其元器件達(dá)到最少。2.4.1 isd1420 芯片的介紹isd1420 語音錄放電路芯片由振蕩器、語音存儲單元、前置放大器、自動增益控制電路、抗干擾濾波器、輸出放大器組
31、成。電路外形圖引出端功能說明:(1)a0-a7:地址輸入端或控制命令輸入端。當(dāng) a7、a6 同時為高電平時,a4-a0為控制命令;否則,a0-a7 為地址。(2)dgnd:數(shù)字信號地線。(3)agnd:模擬信號地線。(4)sp-,sp+:音頻信號輸出端,連接 816 揚(yáng)聲器。(5)v+:模擬信號電源,5v.(6)mic:話筒參考輸入端,通過電容耦合,連接駐極體話筒。(7)micref:話筒參考輸入端。(8)agc:自動增益控制端,調(diào)整芯片內(nèi)部前置放大器增益,使錄入信號不失真。(9)ana in:模擬信號輸入端。 ana out:模擬信號輸出端。(10)playl:放音控制電平觸發(fā)端。該端為低電
32、平時,芯片進(jìn)入放音同期;當(dāng)該端為高電平時,停止放音。(11)playe:放音控制脈沖觸發(fā)端。該端輸入由高電平向低電平跳變的下降沿時,芯片進(jìn)入放音周期。(12)recled:錄音顯示端。該端接發(fā)光二極管,在錄音時作悄音指示燈。(13)xclk:時鐘控制端(14)rec:錄音控制端。該端為低電平時,芯片進(jìn)入錄音狀態(tài),錄音期間該端必須保持低電平,rec 信號的優(yōu)先級高于 playl 和 playe 兩種放音信號。其芯片引腳如圖 28 所示。a01a12a23a34a45a56nc7nc8a69a710nc11dgnd12agnd13sp-14sp+15v+16mic17mic re f18agc19
33、ana in20ana out21nc22pl ayl23pl aye24recl ed25xclk26rec27v+28a01a12a23a34a45a56nc7nc8a69a710nc11dgnd12agnd13sp-14sp+15v+16mic17mic re f18agc19ana in20ana out21nc22pl ayl23pl aye24recl ed25xclk26rec27v+28圖 28 isd1420 的外部引腳圖在芯片的引腳中,模擬語音信號從 mic 和 micref 兩個端口輸入,經(jīng)放大器放大后又從 anaout 端輸出,然后通過外接耦合電容輸入到 anain 端
34、,該信號再經(jīng)適當(dāng)放大后就可被時鐘信號采樣存儲到 eeprom 中。2.4.2 isd1420 芯片與單片機(jī)的連接為實(shí)現(xiàn)語音播報(bào)的錄入和播放功能,我們在此接入了 isd1420 語音芯片,并采用鎖存器 74ls377 對其控制鎖存達(dá)到良好的語音信息的錄制與播報(bào)。其硬件電路圖如圖 29 所示。p101p112p123p134p145p156p167p178rest9rxd10txd11int012int113t014t115x218x119ea/vp31wr16rd17psen29ale /p30p2021p2122p2223p2324p2425p2526p2627p2728p0039p0138p
35、0237p0336p0435p0534p0633p07328051u1e1q02d03d14q15q26d27d38q39clk11q412q515q616q719d413d514d617d718u374ls377p26p00p01p02p03p04p05p06p07p00p01p02p03p04p05p06p07q0q1q2q3q4q5q6q7a01a12a23a34a45a56a69a710pl ayl23pl aye24rec27recl ed25xclk26vccd28vcca16vssd12vssa13sp+14sp-15ana in20out21m ic re f18m ic 17
36、agc19u2isd1420gndr61kvd1greec70.001ufs1pl aygndq0q1q2q3q4q5q6q7r141kvcc位c20.1ufgnd12ys1ha1c30.1ufr2 5.1kc40.1ufr11k位c1220ufr310kvccm ic1r410kc50.1ufr5470k位c64.7ufgndr104.7kvd2red圖 29 語音芯片與單片機(jī)的連接2.5 串行時鐘模塊設(shè)計(jì) 播報(bào)記事器除了有播放和錄入的功能外,還具有作為時鐘的顯示功能及中斷控制。 2.5.1 ds1302 芯片 的介紹ds1302 是一種高性能、低功耗、帶 ram 的實(shí)時時鐘芯片,它可以對年
37、、月、日、周日、時、分、秒進(jìn)行計(jì)時,且具有閏年補(bǔ)償功能, ds1302 的引腳如圖 210 所示。圖 210 ds1302 的外部引腳圖ds1302 中當(dāng)復(fù)位端 rst 為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對ds1302 進(jìn)行操作。否則將會終止此次數(shù)據(jù)傳送,且 i/o 引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時,在 vcc2.5v 之前,rst 必須保持低電平。只有在 sclk 為低電平時,才能將rst 置為高電平。ds1302 共有 12 個寄存器,其中有 7 個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為 bcd 碼形式。其日歷、時間寄存器及其控制字如表 23 所示。v1x1x2gndv2scl ki/or
38、st表 23 ds1302 寄存器地址及命令字2.5.2 時鐘芯片與單片機(jī)的硬件連接ds1302 與單片機(jī)的通信僅需要三根線,即 rst(復(fù)位線) 、i/o(數(shù)據(jù)線)及sclk(串行時鐘線) ,ds1302 與 cpu 連接的電路原理如圖 211 所示,v1 在單片機(jī)電源與電池供電的系統(tǒng)中提供低電源并提供低功率的電池備份。當(dāng) v1 在雙電源系統(tǒng)中提供主電源時,v2 連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù),ds1302 由 v1 和 v2 兩者中較大者供電。圖 211 時鐘芯片 ds1302 與單片機(jī)的硬件連接原理圖當(dāng)單片機(jī)中的 t1 定時器發(fā)生中斷時,單片機(jī)便將 p2.
39、2 置高電平,使得 ds1302時鐘/日歷讀操作寫操作ram讀操作寫操作秒81h80h第 1 個字節(jié)c1hc0h分83h82h第 2 個字節(jié)c3hc2h 小時85h84h日87h86h月89h88h 星期8bh8ah 年8dh8ch第 30 個字節(jié) fdhfch控制寄存器8fh8eh第 31 個字節(jié) ffhfehp101p112p123p134p145p156p167p178rest9rxd10txd11int012int113t014t115x218x119ea/vp31wr16rd17psen29ale /p30p2021p2122p2223p2324p2425p2526p2627p272
40、8p0039p0138p0237p0336p0435p0534p0633p07328051u1vcc1x12x23gnd4rst5i/o6scl7vbat8ds1302vccgndbt1b232.768khzc115.6pfc125.6pf3v的 rst 處于高電平,由此 ds1302 便將當(dāng)前時間傳送到單片機(jī)中的顯示緩沖區(qū),因t1 每分鐘中斷一次,所以每隔一分鐘,4led 顯示器便刷新一次重新顯示當(dāng)前時間。3. 系統(tǒng)軟件的總體構(gòu)成與實(shí)現(xiàn)因?yàn)閷φZ音播報(bào)記事器進(jìn)行軟件設(shè)計(jì),要涉及到很多的子程序,如錄音、放音、定時等,所以我針對上面的問題考慮用模塊化設(shè)計(jì)方法進(jìn)行軟件的設(shè)計(jì),其優(yōu)點(diǎn)是:(1)每個模塊
41、的程序結(jié)構(gòu)簡單,任務(wù)明確,易于編寫、調(diào)試和修改。(2)程序可讀性好,對程序修改可局部進(jìn)行,其他部分可以保持不變,便于功能擴(kuò)充和版本升級。(3)對于使用頻繁的子程序可以建立子程序庫,便于多個模塊調(diào)用。(4)便于分工合作,多個程序員同時進(jìn)行程序的編寫和調(diào)試工作,加快軟件研制進(jìn)度。3.1 語音播報(bào)定時器系統(tǒng)軟件設(shè)計(jì)方案及框圖根據(jù)設(shè)計(jì)要求,首選要確定軟件設(shè)計(jì)方案,思考軟件設(shè)計(jì)中應(yīng)包括哪些功能,其次是規(guī)劃為了完成這些功能需要分成多少個功能模塊,以及每一個程序模塊的具體任務(wù)是什么。由于對每個模塊進(jìn)行劃分時有很大的靈活性,但也不能隨意劃分。劃分模塊時應(yīng)遵循下述原則:(1)每個模塊應(yīng)具有獨(dú)立的功能,能產(chǎn)生一個
42、明確的結(jié)果。(2)模塊之間的控制參數(shù)應(yīng)盡量簡單,數(shù)據(jù)參數(shù)應(yīng)盡量少??刂茀?shù)是模塊進(jìn)入和退出的條件及方式,數(shù)據(jù)參數(shù)是指模塊間的信息交換方式、交換量的多少及交換的頻繁程度。(3)長度適中。模塊語句的長度通常在 20100 條較合適。模塊太長時,分析和調(diào)試比較困難;模塊太短則信息交換太頻繁,也不合適。(4)根據(jù)模塊的劃分原則,將該程序劃分成五個模塊,如圖 3-1 所示。主程序錄放音當(dāng)前時間定時時間設(shè)置led顯示定時一分鐘中斷鍵盤控制圖 3-1主程序及其子程序模塊3.2 電子播報(bào)記事器的主程序設(shè)計(jì)主程序的內(nèi)容一般包括:主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序
43、調(diào)用等等。(1)程序的起始地址mcs51 系列單片機(jī)復(fù)位后, (pc)0000h,而 0003h002bh 分別為各中斷源的入口地址,所以,編程時應(yīng)在 0000h 處寫一跳轉(zhuǎn)指令。當(dāng) cpu 接收到中斷請求信號予以響應(yīng)后,cpu 把當(dāng)前的 pc 內(nèi)容壓入棧中進(jìn)行保護(hù),然后轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序入口處執(zhí)行。一般應(yīng)在相應(yīng)的中斷服務(wù)程序入口處寫一條跳轉(zhuǎn)指令,并以跳轉(zhuǎn)指令的目標(biāo)地址作為中斷服務(wù)程序的起始地址進(jìn)行編程。以/int0 為例,中斷矢量地址為 0003h,中斷服務(wù)程序從 inta 標(biāo)號地址開始。(2)主程序的初始化內(nèi)容對主程序初始化,其實(shí)是對將要用到的 mcs51 系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片
44、進(jìn)行初始化,使其工作狀態(tài)得到一個初始設(shè)定。如應(yīng)對特殊功能寄存器 ie、ip 進(jìn)行初始化,因?yàn)?8051 復(fù)位后,ie、ip 中的內(nèi)容均為 00h,所以應(yīng)對其進(jìn)行初始化編程,以開放 cpu 中斷,允許某些其他中斷源中斷和設(shè)置中斷優(yōu)先級等。 1 對于本設(shè)計(jì),用 t0、t1、int0、int1 四個中斷,其中:t0 中斷: t0 定時中斷,達(dá)到 led 動態(tài)掃描的目的。t1 中斷: t1 定時中斷,達(dá)到每分鐘從 ds1302 中讀取當(dāng)前時間的目的。int0 中斷:接受外部中斷信息,達(dá)到語音信息的錄制與播報(bào)的目的。int1 中斷:接受外部中斷信息,達(dá)到對當(dāng)前時間的調(diào)整和鬧鐘時間的設(shè)置的目的。(3)代碼
45、轉(zhuǎn)換程序由于日常我們都是識別十進(jìn)制數(shù)(bcd 碼) ,而計(jì)算機(jī)它只識別二進(jìn)制數(shù),因此,在程序設(shè)計(jì)中經(jīng)常要涉及代碼的轉(zhuǎn)換。即將當(dāng)前時間的二進(jìn)制數(shù)轉(zhuǎn)換成 bcd 碼,并送到顯示緩沖區(qū)最終顯示出來。(4)在主程序中進(jìn)行各項(xiàng)初始化設(shè)置后,首先 cpu 會先查詢當(dāng)前有沒有對鬧鐘設(shè)初值,如果有,就把此鬧鐘時間與當(dāng)前時間相比較,看看是否到了鬧鐘所定的時間,如果到了,就進(jìn)行語音提示,如果沒有到,cpu 就對 p3.0 口進(jìn)行掃描,判斷“1”鍵有沒有按下,如果按下, 4led 就會顯示當(dāng)前的年份、月份、日期、星期、小時、分鐘,滿足人們的查詢要求。(5)程序設(shè)計(jì)框圖參照圖 3-2 所示。y顯示當(dāng)前小時、分鐘定時器
46、 t0、t1 初始化nnyy有定時時間否?定時時間到否?開始設(shè)置各級中斷服務(wù)程序入口地址設(shè)置堆棧指針設(shè)置起始日期設(shè)置顯示緩沖區(qū)ds1302 初始化設(shè)置中斷優(yōu)先級語音提示蜂鳴提醒nnynyynnyny顯示當(dāng)前年份顯示當(dāng)前月、日“+1”鍵按下否?“ret”鍵按下否?“+1”鍵按下否?“ret”鍵按下否?顯示當(dāng)前星期“+1”鍵按下否?“ret”鍵按下否?圖 3-2 主程序流程圖4.系統(tǒng)軟件各模塊的設(shè)計(jì)與實(shí)現(xiàn)本設(shè)計(jì)中大部分具體的操作都以子程序的形式出現(xiàn)在程序中,從功能上來講主要包括“錄放音” 、 “當(dāng)前時間調(diào)整及時鐘設(shè)置” 、 “l(fā)ed 動態(tài)顯示” 、 “定時一分鐘中斷”及“鍵盤接受”五個模塊。4.1
47、 錄音與放音模塊設(shè)計(jì) 4.1.1 錄音與放音選擇模塊設(shè)計(jì)對 into 外部中斷,不能直接接入是因?yàn)?int0 的外部中斷有兩個,所以直接接入是不可以的,我們采用對 t0 口進(jìn)行掃描,從而解決了這一問題。由硬件電路圖可以看出來,有兩種方法可以使 int0 口產(chǎn)生中斷,一是當(dāng)“play”鍵按下時,另一種是“rec”鍵按下時。當(dāng) cpu 接收到 int0 口產(chǎn)生的中斷時,先對 t0 口進(jìn)行掃描,如果 t0 口為低電平,表明“play”鍵被按下了,cpu 則進(jìn)行放音操作;如果 t0 口為高電平,表明按下的是“rec”鍵,cpu 則去執(zhí)行錄音操作。其程序流程圖如圖 33 所示。圖 3-3錄音與放音選擇模
48、塊設(shè)計(jì)的程序流程圖4.1.2 錄音模塊設(shè)計(jì)在錄音控制中,錄音順序號位顯示后通常應(yīng)先調(diào)整,并通過“ret”鍵來判斷是yn跳轉(zhuǎn)到放音子程序跳轉(zhuǎn)到錄音子程序恢復(fù)現(xiàn)場inta 服務(wù)程序開中斷reti 返回關(guān)中斷保護(hù)現(xiàn)場“rec”鍵按下否?否需要進(jìn)行調(diào)整,如果“ret”鍵按下了,表明不進(jìn)行調(diào)整,如果沒有按下,則表明需要進(jìn)行調(diào)整。調(diào)整時,用“1”鍵來完成調(diào)整 ,每按下一次,被調(diào)整值就做加1 調(diào)整,調(diào)整結(jié)束后,按下“ret”鍵進(jìn)行確認(rèn)。之后,便根據(jù)順序號,在相應(yīng)的起始地址開始錄音,在錄音完成后,按下“ret”鍵來表明錄音操作已完成。其程序流程圖如圖 34 所示。圖 34 錄音程序流程圖4.1.3 放音模塊設(shè)
49、計(jì)放音子程序的實(shí)現(xiàn)方法與錄音控制子程序的實(shí)現(xiàn)方法大體相同,就不作介紹了,其程序流程圖如圖 3-5 所示。調(diào)整錄音順序號顯示錄音順序號調(diào)用錄放音子程序錄入從 40h 的語音信息調(diào)用錄放音子程序錄入從 48h 的語音信息調(diào)用錄放音子程序錄入從 50h 的語音信息調(diào)用錄放音子程序錄入從 58h 的語音信息錄音子程序調(diào)用錄放音子程序錄入從 60h 的語音信息順序號1?順序號2?順序號3?順序號4?ret 返回yyyynn圖 35 放音程序流程圖4.1.4 錄放音控制模塊設(shè)計(jì)本模塊的設(shè)計(jì)所實(shí)現(xiàn)的功能是使 74ls377 在 p2.6 口產(chǎn)生一個上升沿脈沖,使得74ls377 在這個上升沿脈沖時將單片機(jī)送
50、到 d 端的地址鎖存到 q 端,并等待 isd1420取走該地址,完成單片機(jī)對語音芯片 isd1420 傳送地址的不同時序的控制。其程序流程圖如圖 36 所示。調(diào)整放音順序號顯示放音順序號調(diào)用錄放音子程序播放 80h 的語音信息調(diào)用錄放音子程序播放 88h 的語音信息調(diào)用錄放音子程序播放 90h 的語音信息調(diào)用錄放音子程序播放 98h 的語音信息調(diào)用錄放音子程序播放 a0h 的語音信息順序號1?順序號2?順序號3?順序號4?ret 返回yyyynnn放音子程序圖 3-6 錄放音控制程序流程圖4.2 當(dāng)前時間的調(diào)整與鬧鐘的時間設(shè)置模塊設(shè)計(jì) 語音播報(bào)的主要特點(diǎn)之一就是可以對其播報(bào)事件的時間隨時設(shè)定
51、,并做好相應(yīng)的時間調(diào)整,下面將主要論述到如何來實(shí)現(xiàn)這一功能以達(dá)到預(yù)期的目的。4.2.1 當(dāng)前時間的調(diào)整與鬧鐘的時間設(shè)置選擇模塊設(shè)計(jì)同 int0 口一樣,int1 口也要接入兩個外部中斷,其實(shí)現(xiàn)方法與 int0 中斷選擇相同,其流程圖如圖 37 所示。錄放音控制子程序?qū)?p2.6 口置低電平將單片機(jī) a 中的內(nèi)容送到 p0 口將 p2.6 口置高電平產(chǎn)生一上升沿脈沖ret 返回將 p0 口的地址鎖存到 74ls377 的 q 端intb 服務(wù)程序關(guān)中斷保護(hù)現(xiàn)場跳轉(zhuǎn)到設(shè)置鬧鐘子程序跳轉(zhuǎn)到當(dāng)前時間調(diào)整子程序“alm”鍵按下否?開中斷恢復(fù)現(xiàn)場reti 返回yn 圖 37時間的調(diào)整與鬧鐘的時間設(shè)置選擇程
52、序流程圖4.2.2 調(diào)整當(dāng)前時間程序設(shè)計(jì)該子程序主要實(shí)現(xiàn)的功能是對當(dāng)前時間進(jìn)行調(diào)整。在實(shí)現(xiàn)其功能時,將調(diào)整年、星期、調(diào)整月、日和調(diào)整小時、分的值又分為了三個子程序。程序先顯示 29h 單元存放的數(shù),同時可以通過“1”鍵進(jìn)行調(diào)整,并且以“ret”鍵來進(jìn)行確認(rèn)。程序還對 29h 單元中存放的數(shù)進(jìn)行判斷,看是否在 13 之間,如果不是就將其置 1,并使其在 13 之間循環(huán)。取 29h 中的數(shù)分別進(jìn)行比較,如果 29h 單元中存放的數(shù)字是 1,程序便轉(zhuǎn)入到對年、星期值的調(diào)整;如果 29h 單元中存放的數(shù)字是 2,程序便轉(zhuǎn)入到對月、日值的調(diào)整;如果 29h 單元中存放的數(shù)字是 3,程序便轉(zhuǎn)入到對時、分值
53、的調(diào)整。如果不是以上值,程序便轉(zhuǎn)入到對小時、分鐘值的調(diào)整。其流程圖如圖 38 所示。yn(29h)4?“ret”按下否?(29h)1?(29h)2?調(diào)整年、星期的值當(dāng)前時間調(diào)整子程序顯示 29h 中調(diào)整序號(29h)=1調(diào)整月、日的值調(diào)整小時、分鐘的值ret 返回按“1”鍵調(diào)整序號ynynyn 圖 38調(diào)整當(dāng)前時間程序設(shè)計(jì)流程圖 (1)調(diào)整年、星期的子程序先顯示年份的后兩位,并通過“ret”鍵來判斷是否需要進(jìn)行調(diào)整,如果“ret”鍵按下了,表明不進(jìn)行調(diào)整,如果沒有按下,則表明需要進(jìn)行調(diào)整。調(diào)整時,用“1”鍵來完成調(diào)整 ,每按下一次,被調(diào)整值就做加一調(diào)整,調(diào)整結(jié)束后,按下“ret”鍵進(jìn)行確認(rèn)。這
54、時,就進(jìn)入到對星期的調(diào)整,其調(diào)整方法與年份的調(diào)整相同。其流程圖如圖 39 所示。 圖 3-9調(diào)整年、星期的子程序流程圖(2)調(diào)整月份、日期的子程序先顯示月份,并通過“ret”鍵來判斷是否需要進(jìn)行調(diào)整,如果“ret”鍵按下了,表明不進(jìn)行調(diào)整,如果沒有按下,則表明需要進(jìn)行調(diào)整。調(diào)整時,用“1”鍵來完成調(diào)整 ,每按下一次,被調(diào)整值就做加一調(diào)整。因?yàn)槊磕曛挥?12 個月,所以不能出現(xiàn) 12 個月以上的數(shù)字,所以將月份的值設(shè)置有012 之間。當(dāng)月份調(diào)整完后,按下“ret”鍵進(jìn)行確認(rèn)。程序就轉(zhuǎn)入到對日期進(jìn)行調(diào)整的部分。因?yàn)?2 月份只有 28 天,所以不能出現(xiàn) 28 以上的數(shù)字。所以當(dāng)月份是y調(diào)整年份、星
55、期的子程序顯示年份的后兩位“ret”鍵按下否?按“1”鍵進(jìn)行調(diào)整(37h)1顯示星期幾“ret”鍵按下否?按“1”鍵進(jìn)行調(diào)整(37h)8?ret 返回nynyn二時,必須將日期控制在 128 之間,其他月份限制在 131 之間,在調(diào)整結(jié)束后,按“ret”鍵進(jìn)行確認(rèn)。其程序流程圖如圖 310 所示。 圖 3-10調(diào)整月份、日期的子程序流程圖(3)調(diào)整小時、分的子程序先顯示當(dāng)前小時,并通過“ret”鍵來判斷是否需要進(jìn)行調(diào)整,如果“ret”鍵按下了,表明不進(jìn)行調(diào)整,如果沒有按下,則表明需要進(jìn)行調(diào)整。調(diào)整時,用“1”鍵來完成調(diào)整,每按下一次,被調(diào)整值就做加一調(diào)整。因?yàn)槊刻熘挥?24 個小時,所以其值只
56、能在 023 之間,調(diào)整完畢后,按下“ret”鍵進(jìn)行確認(rèn)。程序就轉(zhuǎn)入到對分鐘的調(diào)整部分,因?yàn)橐粋€小時只有 60 分鐘,所以不能出現(xiàn) 60,因此必須將分鐘的值控制在 059 之間。其流程圖如圖 311 所示。顯示日期顯示月份調(diào)整月、日的子程序“ret”鍵按下否?按“1”鍵進(jìn)行調(diào)整(36h)13?(36h)1nyny(35h)1“ret”鍵按下否?(36h)2?按“1”鍵進(jìn)行調(diào)整(35h)29?(35h)32?(35h)1ret 返回ynynynyn 圖 3-11 調(diào)整小時、分的子程序流程圖4.2.3 鬧鐘設(shè)置子程序鬧鐘設(shè)置子程序?qū)崿F(xiàn)的功能是對鬧鐘時間進(jìn)行設(shè)定。先顯示鬧鐘的順序號,如果需要調(diào)整,則
57、配合使用“1”鍵和“ret”鍵對其進(jìn)行調(diào)整。然后對當(dāng)前小時,和分鐘進(jìn)行調(diào)整,因?yàn)槠湔{(diào)整方法與前面大體相同,這里就不再說明。其程序流圖如圖 312 所示。調(diào)整小時、分的子程序“ret”鍵按下否?顯示小時按“1”鍵進(jìn)行調(diào)整(34h)24?(34h)0“ret”鍵按下否?按“1”鍵進(jìn)行調(diào)整(33h)60?(33h)0顯示分鐘ret 返回ynynynyn 圖 3-12 鬧鐘設(shè)置程序流程圖4.3 led 動態(tài)顯示模塊設(shè)計(jì)在采用動態(tài)掃描方式時,要使得 led 顯示的比較均勻,以有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙桀l率。當(dāng)掃描頻率在 70hz 左右時,能夠產(chǎn)生足夠的圖形和較好的顯示效果。一般可以采用間隔 10m
58、s 對 led 進(jìn)行動態(tài)掃描一次,每一位 led 的顯示時間為 1ms。在單片機(jī)中,定時功能既可以由硬件(定時/計(jì)數(shù)器)實(shí)現(xiàn),也可以通過軟件定yy鬧鐘時間設(shè)置子程序顯示鬧鐘順序號調(diào)整鬧鐘順序號顯示小時按“1”鍵調(diào)整(3bh)24?(3bh)0“ret”鍵按下否?顯示分鐘按“1”鍵調(diào)整(3ah)60?(3ah)0ret 返回“ret”鍵按下否?nnynyn時程序?qū)崿F(xiàn)。軟件延時程序占用 cpu 的時間,因此,它降低了 cpu 的利用率;硬件定時是利用單片機(jī)內(nèi)定時器定時,啟動以后定時器可與 cpu 并行工作,不占用 cpu的時間,使 cpu 有較高的工作效率。本設(shè)計(jì)中,采用硬件定時和軟件定時并用的方
59、式,即用定時器 0 溢出中斷功能10ms 實(shí)現(xiàn)定時,通過軟件延時程序 1ms 的定時。1.t0 定時器中斷服務(wù)程序的功能(1)從顯示緩沖區(qū)分別取出 4 位 led 顯示器顯示數(shù)據(jù)的位碼和段碼,送到 p1 口,依次顯示每一位,每一位的顯示時間為 1ms,顯示 4 位需要 4ms 的時間。(2)在設(shè)置當(dāng)前時間或輸入鬧鐘時間時,當(dāng)前調(diào)整位應(yīng)具有閃爍功能,用來顯示當(dāng)前調(diào)整位是哪一位。因此,在每一位顯示之前都要判斷,該位是否閃爍位,然后決定進(jìn)行正常顯示還是閃爍顯示。(3)led 顯示器的每一位的顯示時間是 1ms,延時 1ms 子程序是典型的軟件定時程序。2. 定時器 t0 的計(jì)數(shù)初值設(shè)時鐘頻率為 6m
60、hz,1 個機(jī)器周期時間為 2s.t0 定時器產(chǎn)生 10ms 的定時,可以計(jì)算出計(jì)數(shù)值和計(jì)數(shù)初值:計(jì)數(shù)值定時時間/機(jī)器周期時間10ms/2s5000計(jì)數(shù)初值65536500060536ec78h初值寄存器的初值為:th00ech,tl078h工作方式寄存器 tmod1h。t0 定時器中斷服務(wù)程序流程圖如圖 313 所示。 圖 3-13 led 動態(tài)顯示程序流程圖4.4 產(chǎn)生一分鐘時間模塊設(shè)計(jì)本設(shè)計(jì)采用了 t1 定時器與軟件定時相結(jié)合的方法,產(chǎn)生了一分鐘,它所實(shí)現(xiàn)的功能是每分鐘從 ds1302 中讀出當(dāng)前時間。(1)一分鐘的產(chǎn)生選擇定時器 t1,工作方式 1,定時 100ms,t1 定時 100
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年淮南職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫有答案解析
- 2025年黑龍江省五常市輔警招聘考試試題題庫含答案詳解(黃金題型)
- 2025年河北省定州市輔警招聘考試試題題庫含答案詳解(綜合題)
- (福建高考卷自主命題6科)2021年福建省普通高中學(xué)業(yè)水平選擇性考試高考物化生+政史地真題試卷及答案
- 政治●福建卷丨2024年福建省普通高中學(xué)業(yè)水平選擇性考試政治試卷及答案
- 2024年消防條令綱要知識考試題庫含答案(考試直接用)
- 人防工程施工要點(diǎn)
- Brand KPIs for online betting:Pin-Up in Mexiko-英文培訓(xùn)課件2025.5
- 2025屆高考物理大一輪復(fù)習(xí)課件 第四章 第22課時 實(shí)驗(yàn)六:探究向心力大小與半徑、角速度、質(zhì)量的關(guān)系
- 西安市社區(qū)網(wǎng)格化治理現(xiàn)狀與問題研究
- (中職)美容美發(fā)實(shí)用英語Unit6 課件
- 室內(nèi)五人制足球競賽規(guī)則
- 2022年展覽館項(xiàng)目可行性研究報(bào)告
- 廣州版五年級英語下冊期末知識點(diǎn)復(fù)習(xí)ppt課件
- 產(chǎn)品研發(fā)流程管理制度管理辦法
- 計(jì)算方法全書課件完整版ppt整本書電子教案最全教學(xué)教程ppt課件
- 人教版小學(xué)四年級英語下冊期末測試卷
- 單代號網(wǎng)絡(luò)圖
- Q∕GDW 11958-2020 國家電網(wǎng)有限公司應(yīng)急預(yù)案編制規(guī)范
- 工地板房租賃協(xié)議
- 城垃圾填埋場垃圾滲濾液處理成本核算
評論
0/150
提交評論