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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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>  設(shè)計(jì)題目: 公交車(chē)報(bào)站 </p><p>  專(zhuān)業(yè)名稱:   電氣工程及其自動(dòng)化  </p><p>  學(xué)  號(hào):   </p><p>  姓 名:

2、 </p><p>  指導(dǎo)教師: </p><p>  設(shè)計(jì)時(shí)間: 2012/5/7~2012/5/11 </p><p><b>  摘要</b></p><p>  本次課程設(shè)計(jì)以實(shí)現(xiàn)公交車(chē)的語(yǔ)音自動(dòng)報(bào)站,即在進(jìn)站、出站時(shí)候自

3、動(dòng)播報(bào)語(yǔ)音提示信息及服務(wù)用語(yǔ),同時(shí)利用LCD電路進(jìn)行漢字顯示。本設(shè)計(jì)要求利用AT89C52作為主控芯片完成主控電路的設(shè)計(jì),輔助電路要求包括語(yǔ)音電路、漢字點(diǎn)陣顯示電路、時(shí)鐘電路、電源電路等。</p><p>  本系統(tǒng)使用了晶振電路做定時(shí),模擬實(shí)現(xiàn)報(bào)站的過(guò)程。語(yǔ)音芯片使用的是ISD4003,它是使用很廣泛的語(yǔ)音芯片。該芯片具有很強(qiáng)大的功能,可容納300個(gè)站點(diǎn)信息和8分鐘語(yǔ)音廣告信息。 </p><

4、;p>  關(guān)鍵字:AT89S51單片機(jī),ISD4003語(yǔ)音芯片,LED1602芯片、公交車(chē)報(bào)站</p><p><b>  目錄</b></p><p><b>  摘要</b></p><p>  1設(shè)計(jì)任務(wù)和要求……………………………………….………..…….3</p><p>  2方

5、案論證………………………………………………….…….……..4</p><p>  2.1方案比較…………………………………………….…….……..4</p><p>  2.1.1方案一…………………………………………….………….4</p><p>  2.1.2方案二………………………………………………….…….5</p><p>  

6、2.2方案選擇……………………………………………….….……..5</p><p>  3系統(tǒng)硬件設(shè)計(jì)……………………………………………….….……..6</p><p>  3.1主控電路設(shè)計(jì)………………………………………….….……..6</p><p>  3.1.1關(guān)于AT89C51單片機(jī)……………………………..…………6</p><p

7、>  3.1.2振蕩器電路的設(shè)計(jì)……………………………….…..……..10</p><p>  3.1.3復(fù)位電路的設(shè)計(jì)…………………………………...…..……12</p><p>  3.2語(yǔ)音輸出電路設(shè)計(jì)……………………………………......…….15</p><p>  3.2.1關(guān)于語(yǔ)音芯片………………………………….…......……..15&

8、lt;/p><p>  3.2.2錄音、放音電路設(shè)計(jì)………………………..……..….……20</p><p>  3.3 LCD1602液晶顯示電路設(shè)計(jì)………………..…………….……22</p><p>  3.3.1 LCD液晶顯示流程圖………………………………….……22</p><p>  3.3.2 LCD1602液晶顯示電路設(shè)計(jì)……

9、……………………...…..23</p><p>  4軟件設(shè)計(jì)……………………………………………………..….……24</p><p>  4.1主控程序的設(shè)計(jì)……………………………………….…….….24</p><p>  4.2程序清單及元件清單………………………………….….…….25</p><p>  5測(cè)試方法與課程設(shè)計(jì)小結(jié)…

10、………………………………..……….30</p><p>  致謝…………………………………………………………….……….31</p><p>  參考文獻(xiàn)…………………………………………………………....…..32</p><p>  附錄…………………………………………………………………..…34</p><p><b>  

11、1設(shè)計(jì)任務(wù)和要求</b></p><p><b>  設(shè)計(jì)任務(wù):</b></p><p>  (1) 應(yīng)用AT89S51單片機(jī)設(shè)計(jì)單片機(jī)實(shí)現(xiàn)對(duì)語(yǔ)音芯片ISD4003的控制;</p><p>  (2) 硬件設(shè)計(jì)部分,根據(jù)設(shè)計(jì)的任務(wù)選定合適的單片機(jī),根據(jù)控制對(duì)象設(shè)計(jì)接口電路。設(shè)計(jì)的單元電路必須有工作原理,器件的作用,分析和計(jì)算過(guò)程;&

12、lt;/p><p>  (3) 軟件設(shè)計(jì)部分,根據(jù)電路工作過(guò)程,畫(huà)出軟件流程圖,根據(jù)流程圖編寫(xiě)相應(yīng)的程序,進(jìn)行調(diào)試并打印程序清單;</p><p>  (4) 原理圖設(shè)計(jì)部分,根據(jù)所確定的設(shè)計(jì)電路,利用Protel99se和Protues工具軟件繪制電路原理圖。</p><p><b>  設(shè)計(jì)要求:</b></p><p>

13、;  (1)主控部分:選擇單片機(jī)為核心元件構(gòu)成系統(tǒng)。</p><p> ?。?)語(yǔ)音部分:選擇ISD4003系列語(yǔ)音芯片,作為報(bào)站器系統(tǒng)設(shè)計(jì)的基礎(chǔ)。</p><p> ?。?) 硬件設(shè)計(jì):供電部分、錄音電路、ISD4003基本電路部分、放音電路、單片機(jī)系統(tǒng)部分、按鍵輸入部分和提示燈部分。</p><p><b>  2方案論證</b></

14、p><p><b>  2.1方案比較</b></p><p><b>  2.1.1方案一</b></p><p>  公交車(chē)自動(dòng)報(bào)站器的設(shè)計(jì),模擬定時(shí),將計(jì)數(shù)值與預(yù)置值對(duì)比,即可確定報(bào)站時(shí)刻,達(dá)到準(zhǔn)確自動(dòng)的目的。以AT89C51為主控芯片,對(duì)外來(lái)脈沖計(jì)數(shù),結(jié)合語(yǔ)音芯片ISD4003輸出語(yǔ)音。系統(tǒng)由脈沖檢測(cè)、脈沖計(jì)數(shù)、CPU

15、控制、控制信號(hào)、語(yǔ)音芯片、輸出顯示等組成。原理框圖如圖2.1所示。</p><p>  圖2.1 方案1原理框圖</p><p>  (1) 脈沖檢測(cè):設(shè)計(jì)為模擬到站脈沖,即把預(yù)值作為到站脈沖進(jìn)行中斷定時(shí)響應(yīng)。</p><p> ?。?) 脈沖計(jì)數(shù):光電耦合器的信號(hào)進(jìn)入C51后,采用中斷方式對(duì)脈沖計(jì)數(shù)。外部晶振12MHz。</p><p> 

16、 (3)CPU控制:程序中將計(jì)數(shù)值于預(yù)置值進(jìn)行比較,判斷是否到站,當(dāng)?shù)秸緯r(shí)就輸出信號(hào)控制語(yǔ)言芯片進(jìn)行報(bào)站。</p><p>  (4)控制按鍵:用于手動(dòng)控制到站后的清零。</p><p> ?。?) 語(yǔ)言芯片:由專(zhuān)用語(yǔ)音芯片ISD4003組成,可擦寫(xiě),便于在不同公交線上使用。</p><p> ?。?)預(yù)置存儲(chǔ):采用預(yù)先設(shè)置好在程序里的方式對(duì)站點(diǎn)信息存儲(chǔ)。</

17、p><p> ?。?)LED液晶:顯示到站站臺(tái)名稱。</p><p><b>  2.1.2方案二</b></p><p>  利用8051單片機(jī)作為CPU來(lái)進(jìn)行總體控制,當(dāng)汽車(chē)到達(dá)某站時(shí),汽車(chē)司機(jī)通過(guò)鍵盤(pán)來(lái)控制本系統(tǒng)進(jìn)行工作,并且,系統(tǒng)將使用狀態(tài)指示電路,向司機(jī)指示出當(dāng)前的行駛方向及站號(hào)(如與實(shí)際方向不符,司機(jī)可通過(guò)鍵盤(pán)來(lái)調(diào)整)。原理圖框圖如圖2

18、.2所示。</p><p>  圖2.2方案二原理框圖</p><p>  本系統(tǒng)使用8051作為CPU,由CPU來(lái)控制語(yǔ)音合成芯片TC8830AF,使其工作在CPU控制模式下。當(dāng)系統(tǒng)進(jìn)行語(yǔ)音再生時(shí),由CPU控制語(yǔ)音合成電路中的語(yǔ)音芯片來(lái)讀取其外接的存儲(chǔ)器內(nèi)部的語(yǔ)音信息,并合成語(yǔ)音信號(hào),再通過(guò)語(yǔ)音輸出電路,進(jìn)行語(yǔ)音報(bào)站和提示。CPU同時(shí)通過(guò)程序讀取漢字信息,送入LED點(diǎn)陣顯示電路來(lái)進(jìn)行漢字

19、提示。當(dāng)系統(tǒng)進(jìn)行語(yǔ)音錄制時(shí),語(yǔ)音信號(hào)通過(guò)語(yǔ)音輸入電路輸入給語(yǔ)音合成電路中的語(yǔ)音合成芯片,由語(yǔ)音合成芯片進(jìn)行數(shù)據(jù)處理,并將生成的數(shù)字語(yǔ)音信息存儲(chǔ)到語(yǔ)音存儲(chǔ)芯片中,從而建立語(yǔ)音庫(kù)。</p><p><b>  2.2方案選擇</b></p><p>  將方案一與方案二進(jìn)行比較,方案二是采用8051單片機(jī)控制,通過(guò)鍵盤(pán)來(lái)控制報(bào)站時(shí)刻,并不完全符合設(shè)計(jì)的要求,它仍然需要操作

20、員員手動(dòng)控制,所以本課題決定選用方案一,它使用AT89C51作為主控制芯片,通過(guò)對(duì)里程的計(jì)數(shù)來(lái)控制報(bào)站時(shí)刻,完全無(wú)需人工介入,選用的語(yǔ)音芯片是美國(guó)ISD公司的ISD4003,該芯片與其它語(yǔ)音芯片相比較,其語(yǔ)音音質(zhì)好,錄放時(shí)間長(zhǎng)。</p><p><b>  3系統(tǒng)硬件設(shè)計(jì)</b></p><p><b>  3.1主控電路設(shè)計(jì)</b></p

21、><p>  公交車(chē)報(bào)站系統(tǒng)主要由四個(gè)部分組成,即主控電路、時(shí)鐘電路、語(yǔ)音電路以及電源電路。</p><p>  圖3.1主控電路原理圖</p><p>  3.1.1關(guān)于AT89C51單片機(jī)</p><p>  AT89C51單片機(jī)的結(jié)構(gòu)框圖如圖3.2所示。它主要由下面幾個(gè)部分組成:1個(gè)8位中央處理單元(CPU)、片內(nèi)Flash存儲(chǔ)器、片內(nèi)RA

22、M、4個(gè)8位的雙向可尋址I/O口、1個(gè)全雙工UART(通用異步接收發(fā)送器)的串行接口、2個(gè)16位的定時(shí)器/計(jì)數(shù)器、多個(gè)優(yōu)先級(jí)的嵌套中斷結(jié)構(gòu),以及一個(gè)片內(nèi)振蕩器和時(shí)鐘電路。在AT89C51單片機(jī)結(jié)構(gòu)中,最顯著的特點(diǎn)是內(nèi)部含有Flash存儲(chǔ)器,而在其他方面的結(jié)構(gòu),則和Inter公司的8051的結(jié)構(gòu)沒(méi)有太大的區(qū)別。</p><p>  圖3.2 AT89C51單片機(jī)的結(jié)構(gòu)框圖</p><p>&

23、lt;b> ?。?)主要性能</b></p><p>  與MCS-51 兼容;4K字節(jié)可編程閃爍存儲(chǔ)器; 1000次寫(xiě)/擦循環(huán);數(shù)據(jù)保留時(shí)間10年;全靜態(tài)工作:0Hz-24Hz;三級(jí)程序存儲(chǔ)器鎖定;128*8位內(nèi)部RAM;32可編程I/O線;;兩個(gè)16位定時(shí)器/計(jì)數(shù)器; 6個(gè)中斷源;可編程串行通道;片內(nèi)振蕩器和時(shí)鐘電路</p><p>  另外,AT89C51是用靜態(tài)邏

24、輯來(lái)設(shè)計(jì)的,其工作頻率可下降到0Hz,并提供兩種可用軟件來(lái)選擇的省電方式——空閑方式(Idle Mode)和掉電方式(Power Down Mode)。在空閑方式中,CPU停止工作,而RAM、定時(shí)器/計(jì)數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時(shí)鐘被“凍結(jié)”,使一切功能都暫停,故只保存片內(nèi)RAM中的內(nèi)容,直到下一個(gè)硬件復(fù)位為止。</p><p><b>  (2)引腳功能說(shuō)

25、明</b></p><p>  圖3.3 AT89C51引腳圖</p><p>  VCC:供電電壓。VSS:接地。</p><p>  P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8個(gè)TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為

26、原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p>  P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。</p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接

27、收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p&g

28、t;<p>  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,口管腳備選功能:P3.0 RXD(串行輸入口);P3.1 TXD(串行輸出口);P3.2 /INT0(外部中斷0);P3.3 /INT1(外部中斷

29、1);P3.4 T0(記時(shí)器0外部輸入); P3.5 T1(記時(shí)器1外部輸入); P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通);P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通);P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH

30、編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p&g

31、t;  /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p>  /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期

32、間,此引腳也用于施加12V編程電源(VPP)。.</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。</p><p>  3.1.2振蕩器電路的設(shè)計(jì)</p><p>  89系列單片機(jī)的內(nèi)部振蕩器電路如圖3.4所示,由一個(gè)單級(jí)反相器組成。XTAL1為反相器的輸入,XTAL2為反相器的輸出??梢岳盟鼉?nèi)部的

33、振蕩器產(chǎn)生時(shí)鐘,只要在XTAL1和XTAL2引腳上外接一個(gè)晶體及電容組成的并聯(lián)諧振電路,便構(gòu)成一個(gè)完整的振蕩信號(hào)發(fā)生器,如圖3.5示,此方法稱為內(nèi)部方式。</p><p>  另一種使用方法如圖3.5示,由外部時(shí)鐘源提供一個(gè)時(shí)鐘信號(hào)到XTAL1端輸入,而XTAL2端浮空。在組成一個(gè)單片機(jī)應(yīng)用系統(tǒng)時(shí),多數(shù)采用圖3.5所示的方法,這種方式的結(jié)構(gòu)緊湊,成本低廉,可靠性高。</p><p>  振

34、蕩器的等效電路如圖3.6上部所示。在圖中給出了外接元件,即外接晶體及電容C1,C2,并組成并聯(lián)諧振電路。在電路中,對(duì)電容C1和C2的值要求不是很?chē)?yán)格,如果用高質(zhì)的晶振,則不管頻率為多少,C1,C2通常都選擇30pF。有時(shí),在某些應(yīng)用場(chǎng)合,為了降低成本,晶體振蕩器可用陶瓷振蕩器代替。如果使用陶瓷振蕩器,則電容C1,C2的值取47pF。</p><p>  圖3.4 AT89C51單片機(jī)內(nèi)部振蕩器電路</p&

35、gt;<p>  圖3.5 外部時(shí)鐘接法</p><p>  圖3.6 片內(nèi)振蕩器等效電路</p><p>  通常,在單片機(jī)中對(duì)所使用的振蕩晶體的參數(shù)要求:ESR(等效串聯(lián)電阻):根據(jù)所需頻率按圖3.6選取。C0(并聯(lián)電容):最大7.0pF。CL(負(fù)載電容):30pF+3pF。其誤差及溫度變化的范圍要按系統(tǒng)的要求來(lái)確定。</p><p>  圖3

36、.7 ESR與頻率的關(guān)系曲線</p><p>  在本設(shè)計(jì)中,采用的是內(nèi)部方式,即如圖3.6所示,在XTAL1和XTAL2引腳上外接一個(gè)12MHZ的晶振及兩個(gè)30pF的電容組成。</p><p>  3.1.3復(fù)位電路的設(shè)計(jì)</p><p>  89系列單片機(jī)與其他微處理器一樣,在啟動(dòng)的時(shí)候都需要復(fù)位,使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開(kāi)始工作。

37、89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期),則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。復(fù)位時(shí)序如圖3.8所示,因外部的復(fù)位信號(hào)是與內(nèi)部時(shí)鐘異步的,所以在每個(gè)機(jī)器周期的S5P2都對(duì)RST引腳上的狀態(tài)采樣。當(dāng)在RST端采樣到“1”信號(hào)且該信號(hào)維持19個(gè)振蕩周期以后,將ALE和/PSEN接成高電平 ,使器件復(fù)位。在RST端

38、電壓變低后,經(jīng)過(guò)1-2個(gè)機(jī)器周期后退出復(fù)位狀態(tài),重新啟動(dòng)時(shí)鐘,并恢復(fù)ALE和/PSEN的狀態(tài)。如果在系統(tǒng)復(fù)位期間將ALE和/PSEN引腳拉成低電平,則會(huì)引起芯片進(jìn)入不定狀態(tài)。</p><p>  圖3.8 內(nèi)部復(fù)位定時(shí)時(shí)序</p><p><b>  (1) 手動(dòng)復(fù)位</b></p><p>  手動(dòng)復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。

39、一般采用的辦法是在RST端和正電源VCC之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則VCC的+5V電平就會(huì)直接加到RST端。由于人的動(dòng)作很快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,保證能滿足復(fù)位的時(shí)間要求。手動(dòng)復(fù)位的電路如圖3.9所示。</p><p>  圖3.9 手動(dòng)復(fù)位電路</p><p><b>  (2) 上電復(fù)位</b></p><p>  A

40、T89C51的上電復(fù)位電路如圖3.10所示,只要在RST復(fù)位輸入引腳上接一電容至VCC端,下接一個(gè)電阻到地即可。對(duì)于CMOS型單片機(jī),由于在RST端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至1uF。</p><p>  上電復(fù)位的過(guò)程是在加電時(shí),復(fù)位電路通過(guò)電容加給RST端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著Vcc對(duì)電容的充電過(guò)程而逐漸回落,即RST端的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。</p

41、><p>  上電時(shí),Vcc的上升時(shí)間約為10ms,而振蕩器的起振時(shí)間取決于振蕩頻率,如晶振頻率為10MHz,起振時(shí)間為1ms;晶振頻率為1MHz,起振時(shí)間則為10ms。</p><p>  在圖3.9的復(fù)位電路中,當(dāng)Vcc掉電時(shí),必然會(huì)使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個(gè)負(fù)電壓將不會(huì)對(duì)器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為

42、全“1”態(tài)。</p><p>  如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則在程序計(jì)數(shù)器PC中將得不到一個(gè)合適的初值,因此,CPU可能會(huì)從一個(gè)未被定義的位置開(kāi)始執(zhí)行程序。</p><p>  圖3.10 上電復(fù)位電路</p><p>  (3) 復(fù)位后寄存器的狀態(tài)</p><p>  當(dāng)系統(tǒng)復(fù)位時(shí),內(nèi)部寄存器的狀態(tài)如表3.1所列,即在SFRS中,除

43、了端口鎖存器、堆棧指針SP和串行口的SBUF外,其余的寄存器全部清0,端口鎖存器的復(fù)位值為0FFH,堆棧指針值為07H,SBUF內(nèi)為不定值。內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時(shí),RAM的內(nèi)容是不定的。在本設(shè)計(jì)中復(fù)位電路采用的是手動(dòng)復(fù)位,即如圖3.10所示。</p><p>  表3.1各特殊功能寄存器的復(fù)位值</p><p>  3.2語(yǔ)音輸出電路設(shè)計(jì)</p><

44、;p>  3.2.1關(guān)于語(yǔ)音芯片</p><p> ?。?) ISD—Winbond語(yǔ)音芯片概述</p><p>  美國(guó)ISD(Information Storsge Devices)公司是專(zhuān)業(yè)研制和生產(chǎn)先進(jìn)的半導(dǎo)體語(yǔ)音芯片的著名廠家和領(lǐng)導(dǎo)者,其開(kāi)發(fā)的高密度“多級(jí)”存儲(chǔ)方法稱作“ChipCorder”的專(zhuān)業(yè)技術(shù),可以在一個(gè)存儲(chǔ)單元存儲(chǔ)256級(jí)的不同電平,即存儲(chǔ)相同信息僅需要用傳統(tǒng)存

45、儲(chǔ)技術(shù)1/8的存儲(chǔ)空間。該公司與1998年12月被臺(tái)灣華邦(Winbond)并購(gòu),1990年改名為WECA(Winbond Electronic Corpration American),但保留其ISD名稱和標(biāo)識(shí),這個(gè)合并將把ISD公司領(lǐng)先的信息存儲(chǔ)、語(yǔ)音錄放技術(shù)和強(qiáng)大的用戶群與Winbond公司的高效率的制造能力和分布于全時(shí)間的營(yíng)銷(xiāo)能力結(jié)合起來(lái)。</p><p>  ISD系列語(yǔ)音芯片有ISD1100系列、IS

46、D1200系列、ISD1400系列、ISD2500系列、ISD4000系列和ISD5000系列幾種。</p><p>  ISD1100系列中有10s和12s的單片聲音錄放器件ISD1110和ISD1112。</p><p>  ISD1200系列中有10s和12s的單片聲音錄放器件ISD1210和ISD1212。</p><p>  ISD1400系列中有16s和

47、20s的單片聲音錄放器件ISD1416和ISD1620。</p><p>  ISD1800系列中有8s、10s、12s和16s的單片單段聲音錄放器件ISD1810。</p><p>  ISD2500系列中有32s、40s、48s、64s和60s、75s、90s、120s的單片聲音錄放器件ISD2532、ISD2540、ISD2548、ISD2564和ISD2560、ISD2575、IS

48、D2590、ISD120。</p><p>  ISD4000系列中有120s、150s、180s和240s的單片聲音錄放器件ISD4001、ISD4002、ISD4003和ISD4004。</p><p>  ISD5000系列中有4min、5min、6min和8min的單片聲音錄放器件ISD5008。</p><p>  其中ISD1100系列、ISD1200系

49、列和ISD1400系列都是獨(dú)立使用;ISD2500系列是手動(dòng)切換或則與微控制器兼容,放音時(shí)可以用邊沿或電平進(jìn)行觸發(fā);ISD4000系列、ISD5000系列都帶有微控制器SPI或Microwire串行接口。</p><p> ?。?)語(yǔ)音芯片ISD4003</p><p>  ISD4000系列單片聲音錄放器件是用CMOS工藝實(shí)現(xiàn)的高語(yǔ)音質(zhì)量、3V工作電壓的集成電路芯片,特別適用于移動(dòng)電話和

50、各種便攜式產(chǎn)品。按錄放時(shí)間又分ISD4002、ISD4003和ISD4004三個(gè)子系列。片內(nèi)集成有振蕩器、抗混疊濾波器、平滑濾波器、自動(dòng)靜音電路、音頻放大器和高密度多級(jí)Flash存儲(chǔ)陣列。這個(gè)系列的新片要求用于微處理器或微控制器系列,通過(guò)串行外圍接口SPI或Microwire串行接口進(jìn)行尋址和控制。錄音數(shù)據(jù)被存放方法是通過(guò)ISD的多級(jí)存儲(chǔ)專(zhuān)利技術(shù)實(shí)現(xiàn)的,用聲音和聲頻信號(hào)的自然形式直接存放在故態(tài)存儲(chǔ)器中,從而提供高質(zhì)量回放語(yǔ)音的保真度。&

51、lt;/p><p>  ISD4003的主要性能及其特點(diǎn):</p><p>  單片實(shí)現(xiàn)聲音錄放功能;采用單一3V工作電壓;低功耗:典型的錄音工作電流為25mA;典型的放音工作電流為15mA,典型待機(jī)節(jié)能狀態(tài)電流為1uA;單片錄放時(shí)間為8min、10min、12min和16min;高質(zhì)量自然的聲音/音頻回放;自動(dòng)靜音電路可以在無(wú)聲狀態(tài)時(shí)消除背景噪音;不需要考慮實(shí)現(xiàn)算法;具有微控制器SPI或Mi

52、crowire串行接口;可以對(duì)多段信息尋址控制;可以通過(guò)SPI或Microwire控制寄存器控制功耗;語(yǔ)音數(shù)據(jù)斷電不丟失,可以保存100年;允許反復(fù)錄音10萬(wàn)次;片上帶有時(shí)鐘源;有PDIP、SOIC、TSOP和CSP多種封裝形式;使用溫度范圍有商業(yè)用擴(kuò)展型和工業(yè)用兩種可供選擇:商業(yè)品擴(kuò)展型:-20~+70℃,工業(yè)品:-40~+85℃。</p><p>  ISD4003外部引腳及其說(shuō)明:</p>&

53、lt;p>  電源 (VCCA,VCCD):為使噪聲最小,芯片的模擬和數(shù)字電路使用不同的電源總線,并且分別引到外封裝的不同管腳上,模擬和數(shù)字電源端最好分別走線,盡可能在靠近供電端處相連,而去耦電容應(yīng)盡量靠近器件;</p><p>  地線(VSSA,VSSD):芯片內(nèi)部的模擬和數(shù)字電路也使用不同的地線;</p><p>  同相模擬輸入(ANA IN+): 這是錄音信號(hào)的同相輸入端。

54、輸入放大器可用單端或差分驅(qū)動(dòng)。單端輸入時(shí),信號(hào)由耦合電容輸入,最大幅度為峰峰值32mV,耦合電容和本端的3KΩ電阻輸入阻抗決定了芯片頻帶的低端截止頻率。差分驅(qū)動(dòng)時(shí),信號(hào)最大幅度為峰峰值16mV,為ISD33000系列相同;</p><p>  反相模擬輸入(ANA IN-):差分驅(qū)動(dòng)時(shí),這是錄音信號(hào)的反相輸入端。信號(hào)通過(guò)耦合電容輸入,最大幅度為峰峰值16mV;</p><p>  音頻輸出

55、(AUD OUT):提供音頻輸出,可驅(qū)動(dòng)5KΩ的負(fù)載;</p><p>  片選(SS):此端為低,即向該ISD4003芯片發(fā)送指令,兩條指令之間為高電平;</p><p>  串行輸入(MOSI):此端為串行輸入端,主控制器應(yīng)在串行時(shí)鐘上升沿之前半個(gè)周期將數(shù)據(jù)放到本端,供ISD輸入;。</p><p>  串行輸出(MISO):ISD的串行輸出端。ISD未選中時(shí),

56、本端呈高阻態(tài);</p><p>  串行時(shí)鐘(SCLK):ISD的時(shí)鐘輸入端,由主控制器產(chǎn)生,用于同步MOSI和MISO的數(shù)據(jù)傳輸。數(shù)據(jù)在SCLK上升沿鎖存到ISD,在下降沿移出ISD;</p><p>  中斷(/INT):本端為漏極開(kāi)路輸出。ISD在任何操作(包括快進(jìn))中檢測(cè)到EOM或OVF時(shí),本端變低并保持。中斷狀態(tài)在下一個(gè)SPI周期開(kāi)始時(shí)清除。中斷狀態(tài)也可用RINT指令讀取。OVF

57、標(biāo)志----指示ISD的錄、放操作已到達(dá)存儲(chǔ)器的未尾。EOM標(biāo)志----只在放音中檢測(cè)到內(nèi)部的EOM標(biāo)志時(shí),此狀態(tài)位才置;</p><p>  行地址時(shí)鐘(RAC):漏極開(kāi)路輸出。每個(gè)RAC周期表示ISD存儲(chǔ)器的操作進(jìn)行了一行(ISD4003系列中的存貯器共2400行)。該信號(hào)175ms保持高電平,低電平為25ms??爝M(jìn)模式下,RAC的218.75μs是高電平,31.25μs為低電平。該端可用于存儲(chǔ)管理技術(shù);&l

58、t;/p><p>  外部時(shí)鐘(XCLK):本端內(nèi)部有下拉元件。芯片內(nèi)部的采樣時(shí)鐘在出廠前已調(diào)校,誤差在 +1%內(nèi)。商業(yè)級(jí)芯片在整個(gè)溫度和電壓范圍內(nèi), 頻率變化在+2.25%內(nèi)。工業(yè)級(jí)芯片在整個(gè)溫度和電壓范圍內(nèi),頻率變化在-6/+4%內(nèi),此時(shí)建議使用穩(wěn)壓電源。若要求更高精度,可從本端輸入外部時(shí)鐘(如前表所列)。由于內(nèi)部的防混淆及平滑濾波器已設(shè)定,故上述推薦的時(shí)鐘頻率不應(yīng)改變。輸入時(shí)鐘的占空比無(wú)關(guān)緊要,因內(nèi)部首先進(jìn)行了

59、分頻。在不外接地時(shí)鐘時(shí),此端必須接地;</p><p>  自動(dòng)靜噪(AMCAP):當(dāng)錄音信號(hào)電平下降到內(nèi)部設(shè)定的某一閾值以下時(shí),自動(dòng)靜噪功能使信號(hào)衰弱,這樣有助于養(yǎng)活無(wú)信號(hào)(靜音)時(shí)的噪聲。通常本端對(duì)地接1mF的電容,構(gòu)成內(nèi)部信號(hào)電平峰值檢測(cè)電路的一部分。檢出的峰值電平與內(nèi)部設(shè)定的閾值作比較,決定自動(dòng)靜噪功能的翻轉(zhuǎn)點(diǎn)。大信號(hào)時(shí),自動(dòng)靜噪電路不衰減,靜音時(shí)衰減6dB。1mF的電容也影響自動(dòng)靜噪電路對(duì)信號(hào)幅度的響應(yīng)

60、速度。本端接VCCA則禁止自動(dòng)靜噪。</p><p>  圖3.11 ISD4003引腳圖</p><p>  極限參數(shù):支流電源電壓范圍(Vcc~Vss):-0.3~+0.7V;輸入電壓范圍(所有引腳):(Vss-0.3V)~(Vcc+0.3V);輸入電壓范圍(所有引腳,輸入電流不超過(guò)±20mA):(Vss-1.0V)~(Vcc+1.0V);輸入電壓范圍(MOSI、SCLK、

61、INT、RAC、SS引腳,輸入電流不超過(guò)±20mA):(Vss-1.0V)~5.5V;結(jié)溫:+150℃;存儲(chǔ)溫度范圍(Tstg):-65~+150℃;引腳焊接溫度(10s):+300℃; 串行外圍接口SPI;</p><p>  ISD4003SPI串行接口協(xié)議:</p><p>  ISD4003SPI的串行操作是通過(guò)SPI串行接口實(shí)現(xiàn)的,SPI串行接口協(xié)議:數(shù)據(jù)傳輸協(xié)議設(shè)定微

62、控制器SPI的移位寄存器是有串行時(shí)鐘SCLK的下降沿驅(qū)動(dòng)。而對(duì)ISD4003數(shù)據(jù)輸入是由MOSI引腳上的上升沿驅(qū)動(dòng),數(shù)據(jù)輸出是由MISO引腳上的下降沿驅(qū)動(dòng);所有串行數(shù)據(jù)傳送都是由/SS引腳上的下降沿開(kāi)始;在所有串行通信期間,/SS引腳上都保持低電平,而在兩條指令之間保持高電平;數(shù)據(jù)輸入由時(shí)鐘的上升沿驅(qū)動(dòng),數(shù)據(jù)輸出由時(shí)鐘的下降沿驅(qū)動(dòng);錄音和放音操作的初始化是通過(guò)把/SS引腳為低電平使能芯片,把操作碼和地址串行輸入;輸入操作碼和地址的格式如

63、:<8位控制碼>和<16位地址>;每個(gè)由EOM或溢出產(chǎn)生的結(jié)果信號(hào)都將產(chǎn)生中斷,包括報(bào)文周期插入周期。當(dāng)下一次初始化SPI周期時(shí),中斷將被清除;當(dāng)中斷數(shù)據(jù)被移位移出MISO引腳時(shí),控制和地址數(shù)據(jù)就同時(shí)被移進(jìn)MOSI引腳。需要注意的是,移入的數(shù)據(jù)與當(dāng)前系統(tǒng)的操作是一致的。有可能在同一個(gè)SPI周期讀中斷數(shù)據(jù)和啟動(dòng)一個(gè)新的操作;任何一個(gè)操作都是從RUN位被置1開(kāi)始,由RUN位清零結(jié)束;所有的操作都是有/SS的上升沿開(kāi)始

64、;SPI控制寄存器用于各個(gè)期間功能的控制,這些控</p><p>  ISD4003SPI是控制寄存器:</p><p>  N控制寄存器:用于控制操作。當(dāng)其為1時(shí),啟動(dòng)操作;當(dāng)其為0時(shí),停止操作。/控制寄存器:用于選擇放音和錄音操作。當(dāng)其為1時(shí)選擇放音操作;當(dāng)其為0時(shí),選擇錄音操作。MC控制寄存器:用語(yǔ)控制報(bào)文插入功能。當(dāng)其為1時(shí),允許報(bào)文插入;當(dāng)其為0時(shí),關(guān)閉報(bào)文插入功能;PU控制寄存

65、器:用于主電源控制。當(dāng)其為1時(shí),控制上電;當(dāng)其為0時(shí),掉電進(jìn)入節(jié)能狀態(tài);IAB控制寄存器:忽略地址控制位。當(dāng)其為1時(shí),忽略輸入地址寄存器的內(nèi)容A9-A0/A15-A0。當(dāng)其為0時(shí),使用在操作上使用的輸入地址寄存器的內(nèi)容A9-A0/A15-A0。當(dāng)IAB被清0時(shí),放音或錄音操作就從地址A9-A0/A15-A0開(kāi)始。為了連續(xù)放音或錄音,IAB應(yīng)該在相應(yīng)行結(jié)束前變?yōu)?,否則將會(huì)從同一行的地址處重復(fù)操作。存儲(chǔ)器管理時(shí),RAC(行地址時(shí)鐘)引腳和

66、IAB可以用來(lái)繞著存儲(chǔ)器分段移動(dòng);P9-P0/P15-P0:行指針寄存器的輸出;A9-A0/A15-A0:輸入地址寄存器。</p><p>  圖3.12 SPI端口及其相關(guān)控制位示意圖</p><p>  3.2.2錄音、放音電路設(shè)計(jì)</p><p>  ISD4003聲音錄放器件的采樣頻率為6.4kHz,它單片錄放時(shí)間有8min、10min、12min和16mi

67、n幾種,其采用內(nèi)置非易失性FLASH存儲(chǔ)器,這種快擦寫(xiě)存儲(chǔ)器斷電不會(huì)丟失數(shù)據(jù),所以保存數(shù)據(jù)不需要耗電。典型的被存儲(chǔ)信息可以保存時(shí)間高達(dá)100年,同一個(gè)存儲(chǔ)單元可以反復(fù)被錄音10萬(wàn)次。</p><p> ?。?)功放電路的設(shè)計(jì)</p><p>  ISD4003芯片的音頻輸出引腳AUD OUT可以驅(qū)動(dòng)一個(gè)5k的負(fù)載,當(dāng)器件上電后,該引腳輸出的電源為1.2V。本設(shè)計(jì)中選用的放大器是LM386,

68、LM386是為低電壓應(yīng)用設(shè)計(jì)的音頻功率放大器,其工作電壓為6V,最大失真度為0.2,功率頻響為20~100kHz。功放電路連線圖如圖3.13所示。</p><p><b>  圖3.13功放電路</b></p><p>  由于功率放大器OPAMP要接+5V電壓,因此還需要一個(gè)電壓變換電路將24V電壓變換成+5V的電壓。這里選用的是芯片OPAMP。LM331是三端可調(diào)

69、式集成穩(wěn)壓器,其電路結(jié)構(gòu)和外接元件如圖3.14所示。它的內(nèi)部電路有比較放大器、偏置電路(圖中未畫(huà)出)、恒流源電路和帶隙基準(zhǔn)電壓等,它的公共端改接到輸出端,器件本身無(wú)接地端。所以消耗的電流都從輸出端流出,內(nèi)部的基準(zhǔn)電壓(約1.2V)接至比較放大器的同相端和調(diào)整端之間。若接上外部的調(diào)整電阻R1、R2后,LM317的=1.2V,=50uA,由于調(diào)整端電流 、,故可以忽略,</p><p>  圖3.14 三端可調(diào)試集成

70、穩(wěn)壓器結(jié)構(gòu)圖</p><p><b>  所以上式化簡(jiǎn)為:</b></p><p><b>  (3.1)</b></p><p>  電壓變換電路連線圖如圖3.15所示:</p><p>  圖3.15 電壓變換電路</p><p>  (2) 錄音電路的設(shè)計(jì)</p&

71、gt;<p>  連線圖如圖3.16所示,MIC是麥克風(fēng),即語(yǔ)音信號(hào)的輸入端,輸出的模擬語(yǔ)音信號(hào)經(jīng)過(guò)三極管組成的放大器放大后加到ISD4003語(yǔ)音芯片的ANA IN+反向模擬輸入端。</p><p>  圖3.16 錄音電路</p><p>  3.3 LED1602液晶顯示電路設(shè)計(jì)</p><p>  3.3.1 LCD液晶顯示流程圖</p&g

72、t;<p>  LCD液晶顯示是通過(guò)調(diào)用初始化程序,寫(xiě)數(shù)據(jù)子程序,寫(xiě)指令子程序,地址轉(zhuǎn)換子程序,讀忙狀態(tài)子程序以及延時(shí)子程序組合。具體如下:</p><p>  圖3.17 寫(xiě)數(shù)據(jù)子程序流程圖</p><p>  3.3.2 LED1602液晶顯示電路設(shè)計(jì)</p><p>  圖3.18 LED1602液晶顯示電路設(shè)計(jì)</p><p

73、><b>  4軟件設(shè)計(jì)</b></p><p>  4.1主控程序的設(shè)計(jì)</p><p>  流程圖如圖4.1所示</p><p>  圖4.1 整體流程圖</p><p>  首先,設(shè)備上電以后,程序開(kāi)始運(yùn)行。進(jìn)入主函數(shù)后,開(kāi)始對(duì)系統(tǒng)的一些初始化。初始化完成以后,因?yàn)樵诒幌到y(tǒng)的設(shè)計(jì)中,我們是利用外部中斷來(lái)進(jìn)行計(jì)

74、數(shù)來(lái)模擬汽車(chē)車(chē)輪前進(jìn)的圈數(shù)。當(dāng)我們計(jì)數(shù)值沒(méi)有到達(dá),則我們應(yīng)該返回,如果在這個(gè)時(shí)候我們按下了復(fù)位鍵,這是程序也的返回。當(dāng)我們計(jì)數(shù)的值到達(dá)以后,我們這個(gè)時(shí)候可以調(diào)用語(yǔ)言報(bào)站程序,使喇叭發(fā)出聲音,提醒乘客站點(diǎn)已到。如果語(yǔ)音報(bào)站程序執(zhí)行完畢以后,程序自然返回到開(kāi)始出,在重新執(zhí)行。</p><p>  4.2程序清單與元件清單</p><p><b> ?。?)程序清單</b>

75、</p><p>  一:ISD4003驅(qū)動(dòng)程序</p><p>  #include"isd4004.h"</p><p>  #include"delay.h"</p><p>  void play(uint addr)</p><p><b>  {</b

76、></p><p><b>  uchar i;</b></p><p><b>  SS=0;</b></p><p><b>  MOSI=0;</b></p><p><b>  SCLK=0;</b></p><p>

77、  for(i=0;i<8;i++)</p><p><b>  {</b></p><p><b>  SCLK=0;</b></p><p>  if((ISDPOWERUP>>i)&0x01)</p><p><b>  {</b></p&

78、gt;<p><b>  MOSI=1;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  MOSI=0;</b&

79、gt;</p><p><b>  }</b></p><p>  delay_spi();</p><p><b>  SCLK=1;</b></p><p>  delay_spi();</p><p><b>  }</b></p>

80、<p><b>  SS=1;</b></p><p>  delay_50ms(2);</p><p><b>  SS=0;</b></p><p><b>  MOSI=0;</b></p><p><b>  SCLK=0;</b><

81、;/p><p>  for(i=0;i<16;i++)</p><p><b>  {</b></p><p><b>  SCLK=0;</b></p><p>  if((addr>>i)&0x01)</p><p><b>  {<

82、/b></p><p><b>  MOSI=1;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  M

83、OSI=0;</b></p><p><b>  }</b></p><p>  delay_spi();</p><p><b>  SCLK=1;</b></p><p>  delay_spi();</p><p><b>  }</b>

84、;</p><p><b>  MOSI=0;</b></p><p><b>  SCLK=0;</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p><b>  SCLK

85、=0;</b></p><p>  if((PLAYSET>>i)&0x01)</p><p><b>  {</b></p><p><b>  MOSI=1;</b></p><p><b>  }</b></p><p&

86、gt;<b>  else</b></p><p><b>  {</b></p><p><b>  MOSI=0;</b></p><p><b>  }</b></p><p>  delay_spi();</p><p>&

87、lt;b>  SCLK=1;</b></p><p>  delay_spi();</p><p><b>  }</b></p><p><b>  SS=1;</b></p><p>  delay_50ms(2);</p><p><b> 

88、 SS=0;</b></p><p><b>  MOSI=0;</b></p><p><b>  SCLK=0;</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>

89、<b>  SCLK=0;</b></p><p>  if((PLAYCUR>>i)&0x01)</p><p><b>  {</b></p><p><b>  MOSI=1;</b></p><p><b>  }</b><

90、;/p><p><b>  else</b></p><p><b>  {</b></p><p><b>  MOSI=0;</b></p><p><b>  }</b></p><p>  delay_spi();</p&

91、gt;<p><b>  SCLK=1;</b></p><p>  delay_spi();</p><p><b>  }</b></p><p><b>  SS=1;</b></p><p><b>  }</b></p>

92、<p><b>  /*</b></p><p>  void record(uint addr)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p><b>  SS=0;</b>&

93、lt;/p><p><b>  MOSI=0;</b></p><p><b>  SCLK=0;</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p><b>  SCLK=0

94、;</b></p><p>  if((ISDPOWERUP>>i)&0x01)</p><p><b>  {</b></p><p><b>  MOSI=1;</b></p><p><b>  }</b></p><p

95、><b>  else</b></p><p><b>  {</b></p><p><b>  MOSI=0;</b></p><p><b>  }</b></p><p>  delay_spi();</p><p>

96、<b>  SCLK=1;</b></p><p>  delay_spi();</p><p><b>  }</b></p><p><b>  SS=1;</b></p><p>  delay_50ms(2);</p><p><b>

97、  SS=0;</b></p><p><b>  MOSI=0;</b></p><p><b>  SCLK=0;</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>

98、;<b>  SCLK=0;</b></p><p>  if((ISDPOWERUP>>i)&0x01)</p><p><b>  {</b></p><p><b>  MOSI=1;</b></p><p><b>  }</b>

99、;</p><p><b>  else</b></p><p><b>  {</b></p><p><b>  MOSI=0;</b></p><p><b>  }</b></p><p>  delay_spi();<

100、;/p><p><b>  SCLK=1;</b></p><p>  delay_spi();</p><p><b>  }</b></p><p><b>  SS=1;</b></p><p>  delay_50ms(2);</p>

101、<p>  delay_50ms(2);</p><p><b>  SS=0;</b></p><p><b>  MOSI=0;</b></p><p><b>  SCLK=0;</b></p><p>  for(i=0;i<16;i++)</p

102、><p><b>  {</b></p><p><b>  SCLK=0;</b></p><p>  if((addr>>i)&0x01)</p><p><b>  {</b></p><p><b>  MOSI=1;&

103、lt;/b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  MOSI=0;</b></p><p><b>

104、  }</b></p><p>  delay_spi();</p><p><b>  SCLK=1;</b></p><p>  delay_spi();</p><p><b>  }</b></p><p><b>  MOSI=0;</b

105、></p><p><b>  SCLK=0;</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p><b>  SCLK=0;</b></p><p>  if((RECSET

106、>>i)&0x01)</p><p><b>  {</b></p><p><b>  MOSI=1;</b></p><p><b>  }</b></p><p><b>  else</b></p><p&g

107、t;<b>  {</b></p><p><b>  MOSI=0;</b></p><p><b>  }</b></p><p>  delay_spi();</p><p><b>  SCLK=1;</b></p><p>

108、;  delay_spi();</p><p><b>  }</b></p><p><b>  SS=1;</b></p><p>  delay_50ms(2);</p><p><b>  SS=0;</b></p><p><b> 

109、 MOSI=0;</b></p><p><b>  SCLK=0;</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p><b>  SCLK=0;</b></p><p&

110、gt;  if((RECCUR>>i)&0x01)</p><p><b>  {</b></p><p><b>  MOSI=1;</b></p><p><b>  }</b></p><p><b>  else</b><

111、/p><p><b>  {</b></p><p><b>  MOSI=0;</b></p><p><b>  }</b></p><p>  delay_spi();</p><p><b>  SCLK=1;</b></

112、p><p>  delay_spi();</p><p><b>  }</b></p><p><b>  SS=1;</b></p><p><b>  }</b></p><p>  void stop()</p><p>&l

113、t;b>  {</b></p><p><b>  uchar i;</b></p><p><b>  SS=1;</b></p><p>  delay_50ms(2);</p><p><b>  SS=0;</b></p><p&g

114、t;<b>  MOSI=0;</b></p><p><b>  SCLK=0;</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p><b>  SCLK=0;</b></p&

115、gt;<p>  if((OPERSTOP>>i)&0x01)</p><p><b>  {</b></p><p><b>  MOSI=1;</b></p><p><b>  }</b></p><p><b>  else&

116、lt;/b></p><p><b>  {</b></p><p><b>  MOSI=0;</b></p><p><b>  }</b></p><p>  delay_spi();</p><p><b>  SCLK=1;&l

117、t;/b></p><p>  delay_spi();</p><p><b>  }</b></p><p><b>  SS=1;</b></p><p><b>  }*/</b></p><p><b>  二:主函數(shù)</

118、b></p><p>  #include"main.h"</p><p>  #include"playrecord.h"</p><p>  #include"lcd12864.h"</p><p>  #include"ds1302.h"</p&

119、gt;<p>  #include"delay.h"</p><p>  #include"ds18b20.h"</p><p>  #include"keyscan.h"</p><p>  uchar code str4[][16]={</p><p>  {&qu

120、ot;湖北理工學(xué)院到了! "},</p><p>  {"皇姑嶺到了!"},</p><p>  {"桂花廣場(chǎng)到了! "},</p><p>  {"湖北師范學(xué)院到了!"}</p><p><b>  };</b></p><p

121、>  uchar code str5[][16]={</p><p>  {" 尊老愛(ài)幼 "},</p><p>  {" 互相謙讓 "},</p><p>  {" 互相幫助 "},</p><p>  {" 追求和諧

122、 "}</p><p><b>  };</b></p><p>  uchar count;</p><p>  uchar temp;</p><p>  void init()</p><p><b>  {</b></p><p>&

123、lt;b>  EA=1;</b></p><p><b>  EX0=1;</b></p><p><b>  IT0=1;</b></p><p><b>  count=0;</b></p><p><b>  }</b></p

124、><p>  void str_pros()</p><p><b>  {</b></p><p>  str1[2]=codetable[disp[0]/16];</p><p>  str1[3]=codetable[disp[0]%16];</p><p>  str1[5]=codetabl

125、e[disp[2]/16];</p><p>  str1[6]=codetable[disp[2]%16];</p><p>  str1[8]=codetable[disp[3]/16];</p><p>  str1[9]=codetable[disp[3]%16];</p><p>  str2[0]=codetable[disp[4

126、]/16];</p><p>  str2[1]=codetable[disp[4]%16];</p><p>  str2[3]=codetable[disp[5]/16];</p><p>  str2[4]=codetable[disp[5]%16];</p><p>  str2[6]=codetable[disp[6]/16];&l

127、t;/p><p>  str2[7]=codetable[disp[6]%16];</p><p>  str2[14]=weektable[(disp[1]%16-1)*2]; </p><p>  str2[15]=weektable[(disp[1]%16-1)*2+1];</p><p>  temp=readtmp();</p&

128、gt;<p>  str1[12]=codetable[temp/10];</p><p>  str1[13]=codetable[temp%10];</p><p><b>  }</b></p><p>  void display_biaoyu()</p><p><b>  {</

129、b></p><p>  switch(count)</p><p><b>  {</b></p><p>  case 5: display4(str4[0],4);break;</p><p>  case 10:display4(str4[1],4);break;</p><p> 

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論