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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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><b>  (20 屆)</b></p><p>  基于單片機(jī)的電子門鈴設(shè)計(jì)</p><p><b>  目 錄</b></p><p>  摘 要III</p><p>  AbstractIV&l

2、t;/p><p><b>  第一章 緒論1</b></p><p><b>  1.1 概述1</b></p><p>  1.2 課題的總體設(shè)計(jì)及思路1</p><p>  第二章 硬件電路設(shè)計(jì)3</p><p>  2.1 硬件最小系統(tǒng)設(shè)計(jì)3</p

3、><p>  2.1.1 核心芯片AT89C51簡(jiǎn)介3</p><p>  2.1.2 復(fù)位電路的設(shè)計(jì)4</p><p>  2.1.3 存儲(chǔ)器的分配5</p><p>  2.2 時(shí)鐘電路的設(shè)計(jì)6</p><p>  2.2.1 DS1302芯片簡(jiǎn)介6</p><p>  2.

4、2.2 DS1302結(jié)構(gòu)框圖與引腳介紹7</p><p>  2.2.3 DS1302與單片機(jī)的硬件電路的設(shè)計(jì)8</p><p>  2.3 顯示提示電路的設(shè)計(jì)9</p><p>  2.3.1 液晶顯示原理9</p><p>  2.3.2 SMC1602芯片簡(jiǎn)介9</p><p>  2.3.3

5、 顯示電路的設(shè)計(jì)11</p><p>  2.4 語音提示電路的設(shè)計(jì)12</p><p>  2.4.1 ISD芯片簡(jiǎn)介12</p><p>  2.4.2 ISD1420芯片特點(diǎn)12</p><p>  2.4.3 存儲(chǔ)芯片AT24C02簡(jiǎn)介13</p><p>  2.4.4 ISD1420與

6、單片機(jī)連接電路的設(shè)計(jì)14</p><p>  2.5 按鍵電路的設(shè)計(jì)15</p><p>  第三章 軟件部分設(shè)計(jì)17</p><p>  3.1 主程序設(shè)計(jì)17</p><p>  3.2 相應(yīng)子程序設(shè)計(jì)18</p><p>  3.2.1 門鈴鍵子程序設(shè)計(jì)18</p><p

7、>  3.3.2 錄音(RECORD)和播放(PLAY)程序設(shè)計(jì)20</p><p>  第四章 調(diào)試22</p><p><b>  參考文獻(xiàn)24</b></p><p><b>  附錄A:總圖25</b></p><p>  附錄B: 部分源程序26</p>

8、<p><b>  致 謝39</b></p><p>  基于單片機(jī)的電子門鈴設(shè)計(jì)</p><p><b>  摘 要</b></p><p>  隨著時(shí)代的前進(jìn)和發(fā)展,控制智能化、儀器小型化、功耗微小化得到廣泛關(guān)注。在這些領(lǐng)域中,單片機(jī)起到了舉足輕重的作用,這就把單片機(jī)的應(yīng)用提升到重要的地位,單

9、片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)就成為新的技術(shù)熱點(diǎn)。</p><p>  近年來,隨著智能化樓宇的不斷升溫,門鈴系統(tǒng)已作為智能化辦公室和智能化住宅小區(qū)的一個(gè)重要組成部分,已被各商家和用戶所接受。人們已開始習(xí)慣用門鈴系統(tǒng)代替?zhèn)鹘y(tǒng)的鑰匙去管理各道門,這使門鈴系統(tǒng)得到了飛躍性的發(fā)展。隨著單片機(jī)技術(shù)的飛速發(fā)展,通過單片機(jī)實(shí)現(xiàn)人們對(duì)物質(zhì)生活的滿足,這將會(huì)日益成為今后的一個(gè)重要發(fā)展的方向。</p><p>  本設(shè)計(jì)

10、是介紹了由AT89C51單片機(jī)來構(gòu)成電子音樂門鈴系統(tǒng)的工作過程,本系統(tǒng)主要完成該電子門鈴不僅具有普通電子門鈴的功能,而且還具有一些擴(kuò)展功能。它的工作狀態(tài)能夠由用戶自行設(shè)定等常規(guī)功能,并給來訪者提供必要的語音和文字回應(yīng)信息,此外。這給人們生活提供了很大的便利。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī);電子門鈴;液晶顯示;語音錄放</p><p>  The Design Of Electroni

11、c Music Doorbell Based On Single Chip Microprocessor</p><p><b>  Abstract </b></p><p>  With the progress of the times and development of intelligent control,small machines, micro-po

12、wer consumption get a wide concern. In these areas,Single chip microprocessor played a pivotal role,which the MCU applications important to enhance the status of Single Chip Microprocessor applications designed to become

13、 the new hot technology.</p><p>  In recent years,with intelligent buildings on the market has been heating up,the doorbell system has been as intelligent office and intelligent residential quarters of an im

14、portant component of the traders and users to accept. People have begun to use doorbell system used to replace the traditional iron keys to manage the access door, rang the doorbell so that this system has been leap of d

15、evelopment. With the rapid development of Single Chip Microprocessor technology,people will increasingly be</p><p>  It is introduced by the AT89C51 chip to a system of electronic music doorbell process. Thi

16、s system is mainly to complete the electronic doorbell rang the doorbell not only a common electronic features, but also has some extensions. Its work by the state to set its own users, such as conventional capabilities,

17、 and visitors to provide the necessary response to the voice and text information, in addition, users can also visit a wide range of information enquiries.</p><p>  Keywords: Single Chip Microprocessor,Elect

18、ronic doorbell,LCD display,Voice record-play</p><p><b>  第一章 緒論</b></p><p><b>  1.1 概述</b></p><p>  微型計(jì)算機(jī)的出現(xiàn)和使用將人類社會(huì)帶入一個(gè)新的時(shí)代,單片機(jī)在其中扮演著十分重要的角色。它沒有常見的計(jì)算機(jī)那么大的

19、體積和重量,也不會(huì)在辦公桌和控制臺(tái)上占據(jù)一個(gè)重要的位置,它就像螺絲釘一樣,鑲嵌在人們工作生活中需要計(jì)算、控制和測(cè)量等各個(gè)角落。由于單片機(jī)的控制功能強(qiáng)大、體積小、性價(jià)比高等特點(diǎn),近年來在智能儀器儀表、機(jī)電一體化、實(shí)時(shí)控制等領(lǐng)域都得到了廣泛的應(yīng)用,對(duì)各個(gè)行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代起著重要的推進(jìn)作用,對(duì)人們生活質(zhì)量有很大的提高。</p><p>  傳統(tǒng)的門鈴都是叮咚聲,所具備的功能較少,也較弱,而且結(jié)構(gòu)很復(fù)雜,不

20、能滿足這個(gè)社會(huì)的發(fā)展需要。</p><p>  本設(shè)計(jì)主要有語音提示,LCD顯示提示,以及響鈴,和外機(jī)按鍵等功能,其中本設(shè)計(jì)的中心系統(tǒng)是由單片機(jī)AT89C51完成的,主要硬件電路有單片機(jī)、時(shí)鐘與復(fù)位電路、選擇按鍵輸入電路、存儲(chǔ)電路、音頻發(fā)生器、音頻放大器、揚(yáng)聲器、1602LCD顯示電路以及ISD1420語音提示電路。并給出了其完整的硬件電路和軟件的設(shè)計(jì)方案與實(shí)現(xiàn)方法。</p><p>  

21、1.2 課題的總體設(shè)計(jì)及思路</p><p>  本設(shè)計(jì)的系統(tǒng)是屬于單片機(jī)實(shí)現(xiàn)功能的典型應(yīng)用,通用性很強(qiáng),在人們?nèi)粘I钪杏兄鴱V泛的應(yīng)用。</p><p>  本系統(tǒng)以89C51單片機(jī)為核心,其硬件電路由單片機(jī)、時(shí)鐘與復(fù)位電路、選擇按鍵輸入電路、存儲(chǔ)電路、音頻發(fā)生器、音頻放大器、揚(yáng)聲器、LCD顯示電路以及語音電路。主要功能是當(dāng)主人在家時(shí),將開關(guān)打在“IN”,來訪者按鈴后,語音提示:“請(qǐng)稍

22、后,馬上就來開門”,LCD顯示:“Please wait for a moment!”并且音樂響起;當(dāng)主人不在家時(shí),將開關(guān)打在“OUT”,來訪者按鈴后,語音提示:“主人不在,請(qǐng)留言,謝謝!”LCD顯示:“Please visit me later!”此時(shí)不響音樂。本設(shè)計(jì)主要由單片機(jī)AT89C51構(gòu)成核心電路,由LM386構(gòu)成音頻放大,由1602LCD構(gòu)成顯示電路,由ISD1420構(gòu)成語音錄放電路。系統(tǒng)帶有選擇按鍵控制功能,對(duì)主人是否在家

23、提供主觀上的選擇,當(dāng)主人在家,但不愿被別人打擾,也可以將開關(guān)打在“OUT”,這樣不僅具有控制簡(jiǎn)單方便和靈活性大的特點(diǎn),還具有人性化的特點(diǎn),從而提高了產(chǎn)品的質(zhì)量。</p><p>  進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)應(yīng)考慮如下問題:</p><p>  由1602LCD構(gòu)成的顯示電路,將要顯示兩句話“Please wait for a moment!”“Please visit me later!”這兩句話的

24、程序原代碼設(shè)計(jì);</p><p>  由ISD1420語音芯片構(gòu)成語音提示電路中,錄音和放音的過程。</p><p>  硬件電路的連接實(shí)現(xiàn)過程。</p><p>  硬件電路的設(shè)計(jì)框圖如圖1.1所示。</p><p>  圖1.1 設(shè)計(jì)框圖</p><p>  第二章 硬件電路設(shè)計(jì)</p><

25、p>  2.1 硬件最小系統(tǒng)設(shè)計(jì)</p><p>  2.1.1 核心芯片AT89C51簡(jiǎn)介</p><p>  該設(shè)計(jì)所用的芯片是AT89C51,現(xiàn)對(duì)各組成部分的情況介紹如下:中央處理器,內(nèi)部數(shù)據(jù)存儲(chǔ)器,內(nèi)部程序存儲(chǔ)器,定時(shí)器,串行口,中斷控制系統(tǒng),以及時(shí)鐘復(fù)位電路等等。</p><p>  AT89C51芯片引腳圖如圖2.1所示,芯片引腳介紹:<

26、/p><p>  圖2.1 AT89C51引腳圖</p><p>  P0口:P0口是開漏雙向口??梢詫憺?,使其狀態(tài)為懸浮用作高阻輸入,P0也可以在訪問外部程序存儲(chǔ)器時(shí)作地址的低字節(jié),在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)作數(shù)據(jù)總線。此時(shí)通過內(nèi)部強(qiáng)上拉輸出1。</p><p>  P1口:P1口是帶內(nèi)部上拉的雙向I/O口,向P1口寫入1時(shí)P1口被內(nèi)部上拉為高電平,可用作輸入口,當(dāng)作

27、為輸入腳時(shí)被外部拉低的P1口會(huì)因?yàn)閮?nèi)部上拉而輸出電流。</p><p>  P1口第2功能:T2(P1.0)定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入/時(shí)鐘輸出。T2EX(P1.1)定時(shí)/計(jì)數(shù)器2重裝載控制。</p><p>  P2口:P2口是帶內(nèi)部上拉的雙向I/O口,向P2口寫入1時(shí)P2口被內(nèi)部上拉為高電平,可用作輸入口,當(dāng)作為輸入腳時(shí)被外部拉低的P2口會(huì)因?yàn)閮?nèi)部上拉而輸出電流在訪問外部程序存儲(chǔ)器和

28、外部數(shù)據(jù)時(shí)分別作為地址高位字節(jié)和16位地址(MOVX @DPTR)此時(shí)通過內(nèi)部強(qiáng)上拉傳送1,當(dāng)使用8位尋址方式(MOV @Ri)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口發(fā)送P2特殊功能寄存器的內(nèi)容。</p><p>  P3口:P3口是帶內(nèi)部上拉的雙向I/O口,向P3口寫入1時(shí)P3口被內(nèi)部上拉為高電平,可用作輸入口,當(dāng)作為輸入腳時(shí)被外部拉低的P3口會(huì)因?yàn)閮?nèi)部上拉而輸出電流。P3口還具有以下特殊功能。</p>&

29、lt;p>  RXD(P3.0)串行輸入口</p><p>  TXD(P3.1)串行輸出口</p><p>  INT0(P3.2)外部中斷0</p><p>  INT1(P3.3)外部中斷1</p><p>  T0(P3.4)定時(shí)器0外部輸入</p><p>  T1(P3.5)定時(shí)器1外部輸

30、入</p><p>  WR(P3.6)外部數(shù)據(jù)存儲(chǔ)器寫信號(hào)</p><p>  RD(P3.7)外部數(shù)據(jù)存儲(chǔ)器讀信號(hào)</p><p>  ALE:地址鎖存使能。在訪問外部存儲(chǔ)器時(shí)輸出脈沖鎖存地址的低字節(jié),在正常情況ALE輸出信號(hào)恒定為1/6振蕩頻率并可用作外部時(shí)鐘或定時(shí),注意每次訪問外部數(shù)據(jù)時(shí)一個(gè)ALE脈沖將被忽略ALE可以通過置位SFR的auxlilary0

31、禁止置位后ALE只能在執(zhí)行MOVX指令時(shí)被激活。</p><p>  PSEN:程序存儲(chǔ)使能。當(dāng)執(zhí)行外部程序存儲(chǔ)器代碼時(shí),PSEN每個(gè)機(jī)器周期被激活兩次,在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)PSEN無效訪問內(nèi)部程序存儲(chǔ)器時(shí)PSEN無效。</p><p>  EA:當(dāng)此腳為低電平時(shí),對(duì)ROM的操作限定在外部程序存儲(chǔ)器,而它為高電平時(shí),則對(duì)ROM的讀操作是從內(nèi)部程序存儲(chǔ)器開始,并可延續(xù)至外部程序存儲(chǔ)器。&l

32、t;/p><p>  XTAL1:晶體1反相振蕩放大器輸入和內(nèi)部時(shí)鐘發(fā)生電路輸入。</p><p>  XTAL2:晶體2反相振蕩放大器輸出[1]。</p><p>  2.1.2 復(fù)位電路的設(shè)計(jì)</p><p>  復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之

33、外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為了擺脫困境,也需要按復(fù)位鍵以重新啟動(dòng)。</p><p>  單片機(jī)在RESET為高電平控制下,程序計(jì)數(shù)器(PC)和特殊功能寄存器的復(fù)位如表2-1所示。單片機(jī)的復(fù)位并不影響芯片內(nèi)部RAM狀態(tài),只要RESET引腳保持高電平,單片機(jī)將循環(huán)復(fù)位。在復(fù)位有效期間內(nèi),ALE﹑PSEN將輸出高電平[2]。</p><p>  表2.1 復(fù)位后寄存

34、器狀態(tài)</p><p>  本設(shè)計(jì)的復(fù)位電路,如圖2.2所示。</p><p>  圖2.2 復(fù)位電路</p><p>  2.1.3 存儲(chǔ)器的分配</p><p>  AT89C51的內(nèi)部共有256個(gè)數(shù)據(jù)存儲(chǔ)器單元,通常把著256個(gè)單元按其功能劃分為兩部分:低128單元和高128單元[3]。</p><p>  

35、其中內(nèi)部數(shù)據(jù)存儲(chǔ)器的分配情況如圖2.3所示:</p><p>  圖2.3 內(nèi)部數(shù)據(jù)存儲(chǔ)器</p><p>  2.2 時(shí)鐘電路的設(shè)計(jì)</p><p>  2.2.1 DS1302芯片簡(jiǎn)介</p><p>  在以單片機(jī)為核心構(gòu)成的裝置中,經(jīng)常需要一個(gè)實(shí)時(shí)的時(shí)鐘,以便對(duì)一些實(shí)時(shí)發(fā)生事件記錄時(shí)給予時(shí)標(biāo),實(shí)時(shí)時(shí)鐘芯片便可起到這個(gè)作用,過去多

36、用并行接口的時(shí)鐘芯片,如MC146818,DS12887等。它們已能完全滿足單片機(jī)系統(tǒng)對(duì)實(shí)時(shí)時(shí)鐘的要求,但是這些芯片與單片機(jī)接口復(fù)雜、數(shù)據(jù)總線接線多、芯片體積大占用空間多,近年來串行接口的各種芯片在單片機(jī)系統(tǒng)中應(yīng)用越來越多,串行接口的實(shí)時(shí)時(shí)鐘芯片也出現(xiàn)了不少,DS1302是一個(gè)綜合性能較好且價(jià)格便宜的串行接口實(shí)時(shí)時(shí)鐘芯片[4]。</p><p>  2.2.2 DS1302結(jié)構(gòu)框圖與引腳介紹</p>

37、<p>  圖2.4 DS1302結(jié)構(gòu)框圖</p><p><b>  結(jié)構(gòu)框圖與引腳介紹</b></p><p>  DS1302原理框圖見圖2.4所示。DS1302是一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加有31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進(jìn)行同步通信,并可以采用突發(fā)方式,一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可以提供秒、分、

38、時(shí)、日、星期、月和年,一個(gè)月小于31日時(shí)可自動(dòng)調(diào)整,有效至2100年??梢圆捎?2h或24h的計(jì)時(shí)方式,采用雙電源供電,可設(shè)置備用電源充電方式,同時(shí)提供了對(duì)后備電源進(jìn)行涓流充電的能力。芯片為8引腳小型DIP封裝,引腳排列如圖2.5所示[5]。</p><p>  圖2.5 DS1302引腳排列</p><p>  DS1302具有一個(gè)可編程的涓流充電器,主電源和備份電源的雙電源引腳,7個(gè)

39、附加字節(jié)的暫存寄存器,包括移位寄存器、控制邏輯、振蕩器、實(shí)時(shí)時(shí)鐘和RAM。引腳描述如下:</p><p><b>  GND——電源地;</b></p><p>  VCC1——在單電源供電系統(tǒng)中的電源引腳,在雙電源系統(tǒng)中接備份電源;</p><p>  VCC2——在雙電源供電系統(tǒng)中的主電源引腳,DS1302由VCC1和VCC2兩者中較大者供

40、電,當(dāng)VCC2大于VCC1+0.2V時(shí),VCC2給DS1302供電,當(dāng)VCC2小于VCC1時(shí),D1302由VCC1供電;</p><p>  SCLK——時(shí)鐘輸入端;</p><p>  I/O——串行數(shù)據(jù)輸入輸出端;</p><p>  RST——復(fù)位信號(hào),在一個(gè)讀寫期間必須保持高電平;</p><p>  X1,X2——是振蕩源,外接32

41、.768KHz晶振。</p><p>  DS1302的寄存器</p><p>  DS1302共有12個(gè)寄存器,其中有7個(gè)寄存器:秒寄存器、分寄存器、時(shí)寄存器、日寄存器、月寄存器、周寄存器和年寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。</p><p>  此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)

42、鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類,一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為COH~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。</p><p>  2.2.3 DS1302與單片機(jī)的硬件電路的設(shè)

43、計(jì)</p><p>  DS1302與單片機(jī)的連接僅需要3條線,即SCLK、I/O、RST。VCC2在單電源與電池供電的系統(tǒng)中提供低電源并能提供低功率的電池備份。VCC2在雙電源系統(tǒng)中提供電源,在這種運(yùn)行方式下VCC1連接到備份電源,以便在沒有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。DS1302由兩者中的較大者供電。當(dāng)VCC2大于VCC1+0.2v時(shí),VCC2給DS1302供電。當(dāng)VCC2小于在單片機(jī)系統(tǒng)中使用VC

44、C1的時(shí)候,DS1302由VCC1供電。</p><p>  在本設(shè)計(jì)中,以AT89C51為主器件,DS1302為從器件,RST接在主器件P3.2上,此引腳為高位的時(shí)候,選中該芯片,對(duì)其進(jìn)行操作。串行數(shù)據(jù)線I/O與串行時(shí)鐘線SCLK分別接在P3.1和P3.0上,所有的單片機(jī)地址、命令及數(shù)據(jù)均通過這兩條線傳輸。在此設(shè)計(jì)中,主器件在總線上產(chǎn)生時(shí)鐘脈沖,尋址信號(hào),數(shù)據(jù)信號(hào),而從器件則相應(yīng)接受數(shù)據(jù),送出數(shù)據(jù)。對(duì)DS130

45、2的每一次讀寫都需要16個(gè)時(shí)鐘脈沖,前8個(gè)脈沖輸入操作地址和讀寫命令。電路圖如圖2.6所示。</p><p>  圖2.6 時(shí)鐘芯片電路</p><p>  2.3 顯示提示電路的設(shè)計(jì)</p><p>  2.3.1 液晶顯示原理</p><p><b>  液晶顯示原理</b></p><p&

46、gt;  液晶顯示器利用液晶的物理特性,通過外加電壓對(duì)顯示區(qū)域進(jìn)行控制,可以顯示字符或圖形。它具有體積小、重量輕、省電、輻射地、便于攜帶等特點(diǎn)。廣泛用于筆記本電腦、數(shù)碼攝像機(jī)、PDA移動(dòng)通信工具等領(lǐng)域。</p><p><b>  液晶顯示的分類</b></p><p>  液晶顯示的分類方法很多,按顯示方式可分為段式、字符式、點(diǎn)陣式等。除了黑白顯示外,液晶顯示器還有

47、多灰度、彩色顯示等。如果根據(jù)驅(qū)動(dòng)方式,可以分為靜態(tài)驅(qū)動(dòng)(static)、單純矩陣驅(qū)動(dòng)(simple Matrix)和主動(dòng)矩陣驅(qū)動(dòng)(Active Matrix)等三種。</p><p>  2.3.2 SMC1602芯片簡(jiǎn)介</p><p>  字符型液晶顯示模塊是專門用于顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣式LCD,目前常用的有16*1、16*2、20*2和40*2行等。下面以1602字符型液晶

48、顯示器為例,介紹其用法。</p><p>  1602LCD的引腳功能</p><p>  表2.2 1602LCD的引腳功能表</p><p>  1602LCD采用標(biāo)準(zhǔn)14腳(無背光)或8腳(帶背光)接口,各引腳功能如表2.2所示。</p><p>  VL為液晶顯示器對(duì)比度調(diào)整端,接電源正極時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高。若對(duì)比度過高

49、會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一只10K電阻來調(diào)整對(duì)比度。</p><p>  RS為寄存器選擇端,RS為高電平時(shí)選擇數(shù)據(jù)寄存器,為低電平時(shí)選擇指令寄存器。</p><p>  R/W為讀寫信號(hào)線,為高電平時(shí)進(jìn)行讀操作,為低電平時(shí)為寫操作。當(dāng)Rs和R/W同為低電平時(shí)可以寫人指令或者顯示地址;當(dāng)RS為低電平、R/W為高電平時(shí)可以讀忙信號(hào);當(dāng)RS為高電平、R/W為低電平時(shí)可以寫人數(shù)據(jù)。<

50、/p><p>  E為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。</p><p>  D0~D7為8位雙向數(shù)據(jù)線。</p><p>  1602LCD的指令說明及時(shí)序</p><p>  1602液晶模塊內(nèi)部的控制器共有11條控制指令,1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。</p>&l

51、t;p>  指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。</p><p>  指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。</p><p>  指令3:光標(biāo)和顯示模式設(shè)置。</p><p>  I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移。</p><p>  S:屏幕上所有文字是否左移或者右移,高電平表示有效,低電平則無效。&

52、lt;/p><p>  指令4:顯示開關(guān)控制。</p><p>  D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示;C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo);B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。</p><p>  指令5:光標(biāo)或顯示移位。</p><p>  S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)

53、光標(biāo)。</p><p>  指令6:功能設(shè)置命令。</p><p>  DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線;N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示;F:低電平時(shí)顯示5*7的點(diǎn)陣字符,高電平時(shí)顯示5*10的點(diǎn)陣字符。</p><p>  指令7:字符發(fā)生器RAM地址設(shè)置。</p><p>  指令8:DDRAM地址設(shè)置。</p

54、><p>  指令9:讀忙信號(hào)和光標(biāo)地址。</p><p>  BF:忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù);低電平表示不忙。</p><p><b>  指令10:寫數(shù)據(jù)。</b></p><p>  指令11:讀數(shù)據(jù)[6]。</p><p>  2.3.3 顯示電路的設(shè)計(jì)</

55、p><p>  如圖2.7所示,單片機(jī)AT89C51與芯片SMC1602的顯示電路。在本設(shè)計(jì)中,SMC1602芯片主要是顯示主人所要傳達(dá)給來訪者的信息,當(dāng)來訪者按下門鈴按鈕時(shí),芯片自動(dòng)提取信息英文提示來訪者主人在/不在家的信息。</p><p>  圖2.7 AT89C51與SMC1602的顯示電路</p><p>  2.4 語音提示電路的設(shè)計(jì)</p>

56、<p>  2.4.1 ISD芯片簡(jiǎn)介</p><p>  ISD1420為美國(guó)ISD公司出品的優(yōu)質(zhì)單片語音錄放電路,由振蕩器、語音存儲(chǔ)單元、前置放大器、自動(dòng)增益控制電路、抗干擾濾波器、輸出放大器組成。一個(gè)最小的錄放系統(tǒng)僅由一個(gè)麥克風(fēng)、一個(gè)喇叭、兩個(gè)按鈕、一個(gè)電源、少數(shù)電阻電容組成。錄音內(nèi)容存入永久存儲(chǔ)單元,提供零功率信息存儲(chǔ),這個(gè)獨(dú)一無二的方法是借助于美國(guó)ISD公司的專利--直接模擬存儲(chǔ)技術(shù)(D

57、AST TM)實(shí)現(xiàn)的。</p><p>  在本設(shè)計(jì)中,ISD1420語音芯片主要承擔(dān)提示的作用,主人將提示語錄入芯片中,當(dāng)來訪者按下門鈴按鈕時(shí),芯片自動(dòng)提取信息提示來訪者。下面詳細(xì)介紹了ISD1420語音芯片與單片機(jī)的接口,給出了具體的電路圖和驅(qū)動(dòng)軟件及芯片外圍的驅(qū)動(dòng)電路和具體參數(shù)[7]。</p><p>  2.4.2 ISD1420芯片特點(diǎn)</p><p>

58、  ISD1420芯片采用直接模擬存儲(chǔ)技術(shù),且錄放音質(zhì)極好,并有一定的混響效果;它的外圍元件簡(jiǎn)單,僅需簡(jiǎn)單的阻、容元件即可組成簡(jiǎn)單的錄、放電路;單電源供電,典型電壓+5V。待機(jī)時(shí)低功耗(0.5μA),放音電流15mA;放音時(shí)間20s,可擴(kuò)充級(jí)聯(lián);可持續(xù)放音,也可分段錄放,可分段160段;錄、放次數(shù)達(dá)10萬次;斷電信息存儲(chǔ),無需后備電池,信息可存儲(chǔ)100年;不需要專用的編程器及語音開發(fā)器;高優(yōu)先級(jí)錄音,低電平或負(fù)邊沿放音。</p&g

59、t;<p>  2.4.3 存儲(chǔ)芯片AT24C02簡(jiǎn)介</p><p>  在本設(shè)計(jì)中,AT24C02存儲(chǔ)芯片主要用于保存來訪者的人數(shù)。AT24C02串行E2PROM以其體積小、性能優(yōu)、使用靈活和方便而受到人們的青睞,廣泛應(yīng)用在測(cè)控系統(tǒng)以及各類智能儀表中用于保存特征參數(shù)和各種檢測(cè)數(shù)據(jù),使數(shù)據(jù)得到可靠保護(hù)而不會(huì)由于停電、干擾等原因使其丟失。同時(shí),在各種便攜式智能儀表中使用,因此有著廣泛的應(yīng)用前景。&

60、lt;/p><p>  存儲(chǔ)芯片AT24C02的引腳圖及性能</p><p>  DS1302引腳如圖2.8所示。AT24C02是一種串行CMOSE2PROM電擦除只讀存儲(chǔ)器,其只要主要指標(biāo)如下[8]:</p><p>  工作電壓:2.5~6V</p><p><b>  工作電流:3mA</b></p>&

61、lt;p>  存貯容量:256*8bit</p><p><b>  靜態(tài)電流:70μA</b></p><p>  自同步頁寫周期:<10ms </p><p>  數(shù)據(jù)保持時(shí)間:100年</p><p>  圖2.8 AT24C02引腳圖</p><p><b>  數(shù)

62、據(jù)的傳送</b></p><p>  E2PROM用兩根線連接到單片機(jī)的PC總線接口或普通I/O口線上,使單片機(jī)與E2PROM兩者之間構(gòu)成了主從關(guān)系,數(shù)據(jù)傳送所需的時(shí)鐘信號(hào)和各種控制信號(hào)均由單片機(jī)產(chǎn)生。在傳送過程中,每個(gè)動(dòng)作的執(zhí)行都是在SCL為高電平期間進(jìn)行。因此,在此期間SDA線上的數(shù)據(jù)必須保持穩(wěn)定。數(shù)據(jù)的更迭必須在SCL為低電平時(shí)進(jìn)行。SCL高電平期間SDA線上的任何變化信號(hào)均被理解為控制信號(hào):S

63、DA由高變低意味著讀/寫操作的開始,SDA由低變高則表示讀/寫工作的結(jié)束。啟動(dòng)信號(hào)發(fā)出后,E2PROM收到的第一個(gè)字節(jié)為指令代碼。其中高4位D7~D4為器件標(biāo)志AT24C02固定為1010;D3~Dl用于器件尋址;D0指出數(shù)據(jù)傳送的方向。D0=1為讀模式,D0=0為寫模式,并由此決定后面的數(shù)據(jù)是由單片機(jī)發(fā)出還是由E2PROM發(fā)出;如果是寫模式,還需再發(fā)送片內(nèi)地址字節(jié)。在數(shù)據(jù)傳送過程中,每一個(gè)字節(jié)均是從高位到低位順序發(fā)送,在每個(gè)字節(jié)的結(jié)尾

64、,數(shù)據(jù)接收方應(yīng)向數(shù)據(jù)發(fā)送方回送一個(gè)應(yīng)答信號(hào),以表示讀/寫的繼續(xù),肯定應(yīng)答為低電平。如果此時(shí)單片機(jī)回送高電平,并且緊接著發(fā)生停止信號(hào),則表示整個(gè)過程結(jié)束。</p><p>  2.4.4 ISD1420與單片機(jī)連接電路的設(shè)計(jì)</p><p>  由于本設(shè)計(jì)只需要錄音和放音,故ISD1420電路只需要工作在地址模式,A7為低電平,A0~A7 全部為地址輸入引腳。本設(shè)計(jì)設(shè)置三段錄音,錄音時(shí)間分

65、別為4s、5s、11s,對(duì)應(yīng)的地址單元分別是:00H~1FH、20H~47H、48H~A0H,故只需要三條地址線就可以了,連接方式是P2.6對(duì)應(yīng)A6、P2.5對(duì)應(yīng)A5、P2.3對(duì)應(yīng)A3。ISD1420的REC錄音引腳為低電平時(shí),開始錄音,該電平信號(hào)由單片機(jī)的P2.4引腳控制。錄音時(shí),先通過單片機(jī)送出地址00H或20H或48H,選好錄音段,然后置P2.4引腳為低電平即可錄音。用戶錄制的語音每一段結(jié)束后,芯片自動(dòng)設(shè)有段結(jié)束標(biāo)志(EOM),芯

66、片錄滿后設(shè)有溢出標(biāo)志(OVF)。利用ISD1420的錄音指示端RECLED并接發(fā)光二極管可顯示錄音狀態(tài)。平時(shí)呈高電平,錄音時(shí)呈低電平,二極管發(fā)光;錄音完成后燈熄滅表示錄音結(jié)束。</p><p>  硬件電路如圖2.9,它主要包括三大部分:響鈴電路、錄音放音電路和存儲(chǔ)電路。圖2.9 ISD1420與單片機(jī)的硬件電路</p><p>  2.5 按鍵電路的設(shè)計(jì)</p><

67、;p>  在本設(shè)計(jì)中,將有室內(nèi)機(jī)和室外機(jī),其中室內(nèi)機(jī)一共有三個(gè)功能:一、選擇旋鈕,主人選擇“IN”或是“OUT” ;二、錄音按鈕,主人可以事先錄制語言提示,更人性化;三、播放按鈕,主人播放來訪者留言;室外機(jī)有一個(gè)按鈴按鈕、揚(yáng)聲器(語音提示來訪者主人的信息)以及LCD顯示提示來訪者主人的英文信息。按鍵圖如圖2.10所示。</p><p>  圖2.10 按鍵電路圖</p><p> 

68、 K1按鍵是錄音鍵,主人錄制留言,當(dāng)主人按下按鍵時(shí),就開始錄音;K2鍵是播放鍵,主人按鍵,可以聽到來訪者的留言;K3鍵是來訪者的按鈴鍵;K4是主人選擇是否在家按鍵,當(dāng)主人在家是,將開關(guān)打在VCC,鍵盤掃描到高電平時(shí),播放主人錄制的留言1,以及顯示留言1;當(dāng)家里沒人時(shí),將開關(guān)打在GND,鍵盤掃描到低電平時(shí),播放主人錄制的留言2,以及顯示留言2。</p><p>  第三章 軟件部分設(shè)計(jì)</p>&l

69、t;p>  3.1 主程序設(shè)計(jì)</p><p>  系統(tǒng)應(yīng)用程序由主程序及子程序兩大部分組成。主程序流程圖如圖3.1所示。主程序主要用來完成系統(tǒng)的初始化、時(shí)間顯示和按鍵掃描等工作。</p><p>  圖3.1 主程序流程圖</p><p>  先掃描按鍵,若沒有按鍵,則從時(shí)鐘芯片中讀出數(shù)據(jù)顯示時(shí)間;若有按鍵,則跳轉(zhuǎn)到相應(yīng)按鍵的子程序;按鍵主要有K1鍵(錄

70、音功能)、K2鍵(播放功能)、K3鍵(門鈴按鍵)、K4鍵(選擇功能)。</p><p>  3.2 相應(yīng)子程序設(shè)計(jì)</p><p>  相應(yīng)處理程序主要包括:鍵盤掃描子程序、液晶顯示子程序、語音提示子程序、響鈴子程序以及錄音子程序。</p><p>  3.2.1 門鈴鍵子程序設(shè)計(jì)</p><p>  門鈴是K3鍵,當(dāng)來訪者按下門鈴鍵,系

71、統(tǒng)判斷P0.3口是高電平還是低電平,即K4鍵是打開還是閉合。K4鍵是主人控制鍵,當(dāng)主人不在家或在家不想有人打擾的時(shí)候,主人將K4旋鈕打在“OUT”上,即P0.3口為高電平,執(zhí)行子程序1,當(dāng)主人在家的時(shí)候,將旋鈕打在“IN”上,即P0.3口為低電平,執(zhí)行子程序2。</p><p>  具體流程圖如圖3.2所示。</p><p>  圖3.2 門鈴鍵子程序</p><p&

72、gt;<b>  語音和顯示子程序1</b></p><p>  語音和顯示子程序1,就是主人不在家時(shí),對(duì)來訪者的語音提示和顯示提示,語音提示為,“家里沒人,請(qǐng)留言,謝謝!”LCD顯示:“Please visit me later!”如圖3.3所示,語音和顯示子程序1流程圖。</p><p>  圖3.3 語音和顯示子程序1流程圖</p><p&

73、gt;<b>  語音和顯示子程序2</b></p><p>  語音和顯示子程序2是當(dāng)主人在家時(shí),來訪者聽到的語音提示以及顯示語,其中語音由主人錄制:“請(qǐng)稍后,馬上就來!”顯示語為:“Please wait for a moment!”</p><p>  流程圖如圖3.4所示。</p><p>  圖3.4 語音和顯示子程序2流程圖<

74、;/p><p>  3.3.2 錄音(RECORD)和播放(PLAY)程序設(shè)計(jì)</p><p>  RECORD鍵是錄主人留言信息控制鍵。</p><p>  主人要把自己不在家的信息(例如:“您好,我是XX,我現(xiàn)在不在家,請(qǐng)留言,留言時(shí)間是20s”和“您好,請(qǐng)稍等,我馬上來開門” )預(yù)先錄入ISD1420芯片中,以便需要時(shí)可以隨時(shí)調(diào)用。在這里留有9s的時(shí)間用來錄這段

75、話。具體操作是:選按下RECORD鍵,程序檢測(cè)到此鍵后,便開始示主人留言信息并啟動(dòng)單片機(jī)的T0中斷定時(shí)。4s后自動(dòng)停止。由于對(duì)ISD1420進(jìn)行直接尋址時(shí),信息的最小分辨率是150ms,所以將A0~A5都接地,將A6~A7連到單片機(jī)輸出端。這樣可以使信息的最小分辨率變?yōu)?.6s(150ms×26=9.6s)。利用單片機(jī)的T0中斷定時(shí)器從ISD的初始地址(即A6~A7都為0)開始定時(shí)9s,這段時(shí)間留作主人留言區(qū)(剩下大約0.6s

76、不用)。把接下來的20s用來錄對(duì)方留言信息[9]。</p><p>  PLAY鍵是播放留言控制鍵。</p><p>  當(dāng)主人要聽自己留言信息或?qū)Ψ搅粞孕畔r(shí)可以按下此鍵,這時(shí)便開始播放第一段信息(主人留言);若不想聽此段信息,可以不等其播放完,再按一下PLAY鍵,便從第二段開始播放(對(duì)方留言);若再按此鍵,便重新播放第一段信息;只要按的不是PLAY鍵,就跳出此子程序,ISD1420停止

77、播放。</p><p>  流程圖如圖3.5所示。</p><p>  圖3.5 PLAY鍵子程序</p><p><b>  第四章 調(diào)試</b></p><p>  單片機(jī)應(yīng)用系統(tǒng)的調(diào)試,包括硬件調(diào)試和軟件調(diào)試,是一個(gè)很重要的步驟。在調(diào)試過程中要不斷地找出其中的錯(cuò)誤,并進(jìn)行現(xiàn)場(chǎng)解決,然后再重復(fù),直至系統(tǒng)可以正常運(yùn)

78、行為止。系統(tǒng)的硬件調(diào)試與軟件調(diào)試是分不開的,許多硬件故障是在調(diào)試軟件時(shí)才被發(fā)現(xiàn)和糾正的。通常是先排除系統(tǒng)中明顯的硬件故障后再和軟件結(jié)合起來調(diào)試。</p><p><b>  4.1 硬件調(diào)試</b></p><p>  第一步:在沒通電之前,先用萬用表檢查線路的正確性,并核對(duì)元器件的型號(hào)、規(guī)格是否符合要求。特別注意電源的正負(fù)極以及電源之間是否有短路,并重點(diǎn)檢查地址總

79、線、數(shù)據(jù)總線、控制總線是否存在相互間的短路或其他信號(hào)線的短路。晶體振蕩器和電容應(yīng)盡可能靠近單片機(jī)芯片安裝,以減少寄生電容,更好是保證振蕩器穩(wěn)定和可靠地工作。</p><p>  第二步:通電后檢查各器件引腳的電位,仔細(xì)測(cè)量各點(diǎn)電位是否正常,尤其應(yīng)注意單片機(jī)的插座上的各點(diǎn)電位,若電壓過高,將有可能損壞單片機(jī)仿真器。同樣,如果電壓過低就沒有能力驅(qū)動(dòng)其負(fù)載。</p><p>  第三步:在斷電的

80、情況下,除單片機(jī)以外,用仿真插頭將所連接電路與單片機(jī)仿真器的仿真接口相連,為軟件調(diào)試做好準(zhǔn)備。</p><p><b>  4.2 軟件調(diào)試</b></p><p>  該系統(tǒng)的軟件調(diào)試,是把程序輸入單片機(jī),然后連接單片機(jī)仿真器進(jìn)行模擬調(diào)試,在調(diào)試時(shí)程序應(yīng)該以模塊的形式進(jìn)行調(diào)試,這樣可以方便解決軟件的問題,進(jìn)行及時(shí)修改,最后再將調(diào)試好的小段程序連接在一起進(jìn)行整體調(diào)試

81、,當(dāng)整個(gè)程序都沒錯(cuò)誤時(shí),軟件調(diào)試已經(jīng)成功。</p><p>  程序調(diào)試中出現(xiàn)的問題及解決的辦法:</p><p>  有時(shí)會(huì)出現(xiàn)程序一點(diǎn)錯(cuò)誤也沒有,但就是不能正常運(yùn)行的現(xiàn)象,最后發(fā)現(xiàn)是因?yàn)槌绦蛑杏械闹噶顣鴮懙貌灰?guī)范導(dǎo)致的,例如有的RET返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行。</p><p>  LCD計(jì)時(shí)正常顯示的解決辦法:采用可以定時(shí)時(shí)間更長(zhǎng)

82、的單片機(jī),可以避免所有問題。</p><p>  編程時(shí)要注意,在程序開始時(shí),要寫入各定時(shí)器中斷的入口地址。</p><p>  編程過程中要注意加注釋或分割線,否則,在程序過長(zhǎng)時(shí)容易變得很亂,不便于查找或更改。</p><p>  程序的結(jié)構(gòu)要設(shè)計(jì)的合理,避免上下亂調(diào)用的現(xiàn)象,這樣會(huì)使程序更加清晰化。</p><p><b>  

83、參考文獻(xiàn)</b></p><p>  [1] 蔡美琴,張為民,何金兒,等.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用[M].北京:高等教育出版社,2004.15~17.</p><p>  [2] 胡俐蕊,朱彪. 多功能電子門鈴的設(shè)計(jì)與實(shí)現(xiàn)[J].電子元器件應(yīng)用,2006,10,(8):35~38.</p><p>  [3] 郇玉龍,趙寧.用單片機(jī)設(shè)計(jì)電子音樂

84、門鈴[J].電子制作·用單片機(jī)制作, 2007,(5):24~26.</p><p>  [4] 黃明強(qiáng). DS1302在單片機(jī)系統(tǒng)中的應(yīng)用[J].保定師范專科學(xué)校學(xué)報(bào),2004,17(2).</p><p>  [5] 夏方林.基于AT89C51的單戶可視對(duì)講門鈴室內(nèi)分機(jī)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2004,5(10):96~97.</p><p>  

85、[6] 馮育長(zhǎng).單片機(jī)系統(tǒng)設(shè)計(jì)育實(shí)例分析[M].西安:西安電子科技大學(xué)出版社,2007.47~53.</p><p>  [7] 李念強(qiáng).單片機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2007.18~33.</p><p>  [8] 謝魁.一種新型的語音門鈴[J].電子與自動(dòng)化,2000,5(3):46~47.</p><p>  [9] 尹雪永,張曄. 數(shù)字存儲(chǔ)

86、式自動(dòng)應(yīng)答錄音系統(tǒng)[J].哈爾濱工業(yè)大學(xué)電子與通信工程系,2003,29(4):18~19.</p><p>  [10] 荊淑霞,王曉,何麗娟,等.微機(jī)原理與匯編語言程序設(shè)計(jì)[M].北京:中國(guó)水利水電出版社,2005.134~135.</p><p><b>  附錄A:總圖</b></p><p>  附錄B: 部分源程序</p>

87、;<p>  RS BIT P2.0;定義液晶顯示端口標(biāo)號(hào)</p><p>  RW BIT P2.1</p><p>  E BIT P2.2</p><p>  RS EQU P2.5 ;決定要傳送的是命令還是數(shù)據(jù)</p><p>  RW EQU P2.6;決定要讀還是寫,一般寫的時(shí)候多.&

88、lt;/p><p>  E EQU P2.7;時(shí)鐘信號(hào)</p><p>  SJ EQU P0;數(shù)據(jù)線</p><p>  ;********************************************</p><p>  L50MS EQU 60H</p><p>  L1MS EQU 6

89、1H</p><p>  L2MS EQU 62H</p><p>  SEC EQU 65H</p><p>  MIN EQU 64H</p><p>  HOU EQU 63H</p><p>  ;**********************************

90、*********</p><p>  ORG 0000h</p><p>  LJMP MAIN</p><p>  ORG 000BH</p><p><b>  LJMP TT0</b></p><p>  ORG 001BH</p><p>  LJMP

91、 T1INT</p><p>  ORG 1000h</p><p><b>  MAIN: </b></p><p>  ;-----------------------;液晶初始化</p><p>  MOV SP,#70H </p><p>  MOV P0,#01H

92、 ;清屏</p><p>  CALL ENABLE</p><p>  MOV P0,#38H ;8位,2行顯示</p><p>  LCALL ENABLE</p><p>  MOV P0,#0FH ;屏顯on,光標(biāo)on,閃爍on</p><p>  LCALL ENABLE</

93、p><p>  MOV P0,#06H ;計(jì)數(shù)地址加1,顯示幕on</p><p>  LCALL ENABLE</p><p>  ;-------------------------------內(nèi)存初始化</p><p>  LCALL INITIL </p><p>  ;-----------

94、--------------------</p><p>  KEY1: LCALL KEY</p><p>  LCALL MODD </p><p>  LJMP KEY1</p><p>  ;---------------------鍵盤掃描</p><p>  KEY: NOP&l

95、t;/p><p><b>  NOP</b></p><p><b>  LCALL KS</b></p><p>  JNZ K1 ;有按鍵轉(zhuǎn)到K1</p><p>  LCALL KAIJI</p><p>  LCALL SOP</p>&

96、lt;p>  XN: LJMPKEY</p><p>  K1: LCALL MODD</p><p>  LCALL MODD</p><p><b>  LCALL KS</b></p><p>  JNZ K2</p><p>  LJMP KEY<

97、;/p><p>  K2: MOV R2,#0FEH ;讀鍵盤</p><p>  MOV R4,#00H</p><p>  K3: MOV A,R2</p><p>  MOV P1,A</p><p>  MOV A,P1</p><p>

98、  JB ACC.4,L1 ;為1跳轉(zhuǎn),第一行無按鍵</p><p>  MOV A,#00H</p><p><b>  LJMP K1</b></p><p>  L1: JB ACC.5,L2</p><p>  MOV A,#04h</p><p><b&g

99、t;  LJMP K1</b></p><p>  L2: JB ACC.6,L3</p><p>  MOV a,#08H</p><p><b>  LJMP K1</b></p><p>  L3: JB ACC.7,NEXT1</p><p>  MOV

100、a,#0ch</p><p>  ;-------------------------------------------------------</p><p>  K1: ADD A,R4</p><p><b>  PUSH ACC</b></p><p>  K4: LCALL DELAY1

101、 ;若同時(shí)有其他按鍵,則等待</p><p><b>  LCALL</b></p><p><b>  JNZ k4</b></p><p>  ;--------------------------------------------------------</p><p>  MOV R

102、3,#07h </p><p><b>  CLR A</b></p><p>  MOV R0,#30h</p><p>  MOV R1,#31h</p><p>  MM1: MOV A,@R1</p><p>  MOV @R0,A</p><p&g

103、t;<b>  INC R0</b></p><p><b>  INC R1</b></p><p>  DJNZ R3,MM1</p><p><b>  POP ACC</b></p><p>  MOV @R0,A </p><p>&

104、lt;b>  RET</b></p><p>  ;------------------------------------------------------</p><p>  NEXT1: INC R4 ;------列掃描</p><p><b>  MOV A,R2</b></p><

105、p>  JNB ACC.3,N2</p><p><b>  LJMP N1</b></p><p>  N2: LJMP key</p><p>  N1: Rl A</p><p><b>  MOV R2,A</b></p><p>

106、;<b>  LJMP K3</b></p><p>  ;----------------------------------------------</p><p>  KS: MOV a,#0F0H ;判斷P1口</p><p><b>  MOV P1,A</b></p><

107、p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  MOV A,P1</b></p><p><b>  CPL A</b></p><p>  ANL A,#0F0H</p>

108、<p><b>  RET</b></p><p>  ;--------------------------------------------------</p><p><b>  DELAY1:</b></p><p><b>  SETB RS0</b></p>&

109、lt;p>  DLl: MOV R5,#0AH</p><p>  DL2: MOV R6,#63</p><p>  DL3: NOP </p><p><b>  NOP</b></p><p>  DJNZ R6,DL3</p><p>  DJNZ

110、R5,DL2 </p><p>  CLR RS0 </p><p><b>  RET</b></p><p>  ;--------------------------------------------------- </p><p>  ;30H-37H初值為零</p><p>

111、  ;----------------------------------------------------</p><p>  INTITIL: </p><p>  MOV R3,#08h</p><p>  MOV R0,#30h</p><p>  M1: MOV@R0,#00h</p><

112、p><b>  INC R0</b></p><p>  DJNZ R3,M1 </p><p><b>  RET</b></p><p>  ;----------------------------------------------------</p><p>&l

113、t;b>  ;顯示 </b></p><p>  ;---------------------------------------------------</p><p><b>  MODD: </b></p><p>  MOV P0,#8EH</p><p>  CALL EN

114、ABLE </p><p>  CJNE A,10H,OUT </p><p>  MOV A,37H</p><p>  MOV DPTR,#TABLE1 </p><p>  OUT:MOV DPTR,#TABLE2 </p><p>  MOVC A,@A+DP

115、TR</p><p>  CALL WRITE2 </p><p><b>  RET</b></p><p>  ;----------------------------------------------------</p><p>  ;語音提示 </p><p> 

116、 ;---------------------------------------------------</p><p>  PLAY: ACALL POWERUP;上電子程序</p><p>  ACALL DELAYY25;延遲子程序,至少延遲25ms</p><p>  CLR P1.6</p><p>

117、;  MOV PLAY2,#11100000B</p><p>  MOV A,PLAY0; 送放音地址低8位</p><p>  ACALL END;調(diào)用送地址子程序</p><p>  MOV A,PLAYl; ;送SETPLAY命令</p><p>  ACALLSEND</p&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論