畢業(yè)論文--基于單片機(jī)的公交報(bào)站系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩47頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  題  目: 基于單片機(jī)的公交報(bào)站系統(tǒng)  </p><p>  專(zhuān)  業(yè): 應(yīng)用電子技術(shù) </p><p>  班  級(jí): </p><p>  學(xué)  號(hào):

2、 </p><p>  姓  名: </p><p>  指導(dǎo)老師: </p><p><b>  二〇一三年五月</b></p><p><b>  論 文 摘 要</b></p>

3、<p>  為了提高公交車(chē)服務(wù)質(zhì)量,滿(mǎn)足各類(lèi)乘客需求,設(shè)計(jì)了一個(gè)帶有語(yǔ)音播放的公交車(chē)報(bào)站系統(tǒng)。系統(tǒng)通過(guò)4個(gè)按鍵控制實(shí)現(xiàn)起始站、上一站、下一站、終點(diǎn)站的控制功能。系統(tǒng)主要由AT89C51單片機(jī)、語(yǔ)音模塊ISD4004、按鍵和LCD12864顯示器組成。ISD4004語(yǔ)音模塊存放報(bào)站信息,按鍵控制語(yǔ)音播放,播放的信在液晶上顯示。本系統(tǒng)是以單片機(jī)的基本語(yǔ)言C語(yǔ)言來(lái)進(jìn)行軟件設(shè)計(jì),51的編程語(yǔ)言常用的有二種,一種是匯編語(yǔ)言,一種是C 語(yǔ)

4、言。匯編語(yǔ)言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),復(fù)雜一點(diǎn)的程序就更是難讀懂,而C 語(yǔ)言在大多數(shù)情況下其機(jī)器代碼生成效率和匯編語(yǔ)言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過(guò)匯編語(yǔ)言,而且C 語(yǔ)言還可以嵌入?yún)R編來(lái)解決高時(shí)效性的代碼編寫(xiě)問(wèn)題。對(duì)于開(kāi)發(fā)周期來(lái)說(shuō),中大型的軟件編寫(xiě)用C 語(yǔ)言的開(kāi)發(fā)周期通常要小于匯編語(yǔ)言很多。綜合以上C 語(yǔ)言的優(yōu)點(diǎn),我在學(xué)習(xí)時(shí)選擇了C 語(yǔ)言指令的執(zhí)行速度快,節(jié)省存儲(chǔ)空間。為了便于擴(kuò)展和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程

5、序設(shè)計(jì)的邏輯關(guān)系更加簡(jiǎn)潔明了,使硬件在軟件的控制下協(xié)調(diào)運(yùn)作。</p><p>  關(guān)鍵詞: 公交報(bào)站 89c51lcd12864 ISD4004</p><p><b>  Abstract</b></p><p>  in order to improve the quality of bus service, meet all

6、kinds of passenger demand, have designed a voice broadcast system of bus stops. Control system with four buttons on the originating station, station, next stop, terminal control functions. System mainly consists of AT89C

7、51, ISD4004 voice module, keys and LCD12864 display. ISD4004 voice modules for the stops information, key control voice broadcast, broadcast letter displayed on the LCD.</p><p>  This system based on single

8、chip microcomputer C language for software design, 51 commonly used programming language there are two, one is the assembly language, C language is a kind of. Assembly machine code generating efficiency is very high but

9、is not readable, complicated process is more difficult to read, and the C language in most cases the machine code generating efficiency and assembly language, but the readability and portability is far more than assembly

10、 language, and can also be embed</p><p>  Key Words: The bus stops 89c51lcd12864 ISD4004</p><p><b>  目錄</b></p><p><b>  論 文 摘 要I</b></p><p>

11、  AbstractII</p><p><b>  第一章 緒論1</b></p><p>  1.1課題背景及研究意義1</p><p>  1.1.1課題背景1</p><p>  1.1.2研究意義1</p><p>  1.2報(bào)站器的發(fā)展趨勢(shì)2</p><

12、p>  第二章 硬件電路設(shè)計(jì)3</p><p>  2.1硬件電路設(shè)計(jì)思路和框圖3</p><p>  2.2 硬件電路設(shè)計(jì)3</p><p>  2.3AT89C51芯片5</p><p>  2.3.1AT89C51芯片簡(jiǎn)介5</p><p>  2.3.2 AT89C51管腳說(shuō)明5</p&

13、gt;<p>  2.4液晶模塊AWPIRE128×646</p><p>  第三章 系統(tǒng)軟件設(shè)計(jì)10</p><p>  3.1系統(tǒng)流程圖設(shè)計(jì)10</p><p>  3.1.1 ISD4004語(yǔ)音模塊錄放音11</p><p>  3.2.1 LCD12864顯示14</p><

14、p>  3.2.2按鍵部分15</p><p>  第四章 仿真過(guò)程、結(jié)果分析16</p><p>  4.1 軟件仿真調(diào)試過(guò)程16</p><p>  4.2Proteus ISIS仿真系統(tǒng)基本知識(shí)20</p><p>  4.2.1系統(tǒng)概述20</p><p>  4.2.2進(jìn)入Proteus IS

15、IS20</p><p>  4.2.3Proteus工作界面及窗口說(shuō)明21</p><p>  4.2.4 Proteus繪圖流程舉例21</p><p>  4.3 KEIL Cx51軟件的使用24</p><p>  4.3.1創(chuàng)建項(xiàng)目24</p><p>  4.3.2 為項(xiàng)目新建文件26<

16、/p><p>  4.3.3生成.HEX文件27</p><p>  4.3.4漢字字模提取28</p><p>  51單片機(jī)公交車(chē)報(bào)站系統(tǒng)設(shè)計(jì)心得體會(huì)30</p><p><b>  致 謝31</b></p><p><b>  附件32</b></p>

17、;<p><b>  參考文獻(xiàn)43</b></p><p><b>  第一章 緒論</b></p><p>  1.1課題背景及研究意義</p><p><b>  1.1.1課題背景</b></p><p>  從1831英國(guó)人沃爾特·漢考克為他的

18、國(guó)家制造出了世界上第一輛裝有發(fā)動(dòng)機(jī)的公共汽車(chē)起,到今天,公交車(chē)已經(jīng)歷經(jīng)了將近200年的發(fā)展過(guò)程。從最初的“悶罐頭”到如今配套的空調(diào)系統(tǒng);從專(zhuān)人售票到無(wú)人售票;從人工報(bào)站到半自動(dòng)語(yǔ)音報(bào)站,公交車(chē)向著越來(lái)越人性化的方向發(fā)展。 </p><p>  單片機(jī)體積小,重量輕,具有很強(qiáng)的靈活性而且價(jià)格便宜,得到越來(lái)越廣泛的運(yùn)用,例如工業(yè)控制領(lǐng)域、家電產(chǎn)品,智能化儀器儀表,計(jì)算機(jī)外部設(shè)備,特別是機(jī)電一體化產(chǎn)品中都有重要的用途。

19、20世紀(jì)80年代中期,Intel公司將8051內(nèi)核使用權(quán)以專(zhuān)利互換或出售的形式轉(zhuǎn)給世界許多著名IC制造廠(chǎng)商,這樣8051就變成有眾多制造廠(chǎng)商支持的,發(fā)展出上百個(gè)品種的大家族。到目前為止,其它任何一個(gè)單片機(jī)系列均未發(fā)展到如此的規(guī)模。正因?yàn)?1單片的運(yùn)用是如此廣泛,因此學(xué)習(xí)單片機(jī)的運(yùn)用是非常重要的。學(xué)好單片機(jī)也是學(xué)習(xí)其他嵌入式控制器如ARM、DSP的基礎(chǔ),任何嵌入式控制器都離不開(kāi)單片機(jī)種所涵蓋的如中央處理器,定時(shí)器、中斷控制器,IO口控制器

20、, 串行通訊控制器,I2C總線(xiàn)控制器,片內(nèi)外存儲(chǔ)控制器,匯編語(yǔ)言,C語(yǔ)言,操作系統(tǒng)的概念。因此說(shuō)學(xué)好單片機(jī),再去學(xué)習(xí)其他嵌入式控制器如ARM、DSP是比較簡(jiǎn)單的??梢哉f(shuō)學(xué)好單片機(jī)是其它進(jìn)階微處理器的一個(gè)臺(tái)階。</p><p><b>  1.1.2研究意義</b></p><p>  隨著城市化進(jìn)程的加快,公交車(chē)作為城市建設(shè)的基礎(chǔ)設(shè)施之一,仍然是絕大多數(shù)出行者的首選交

21、通方式。傳統(tǒng)由乘務(wù)人員人工報(bào)站,該方式由于效果太差和工作強(qiáng)度太大,在絕大多數(shù)城市已經(jīng)被淘汰。隨著科學(xué)技術(shù)的日益發(fā)展和進(jìn)步,微型計(jì)算機(jī)已經(jīng)在很多領(lǐng)域得到廣泛應(yīng)用。LCD與微機(jī)技術(shù)結(jié)合,比傳統(tǒng)的LED顯示效果更佳。結(jié)合公交車(chē)報(bào)站的使用特點(diǎn)和運(yùn)營(yíng)環(huán)境,設(shè)計(jì)一種由單片機(jī)控制、LCD顯示的公交車(chē)報(bào)站顯示系統(tǒng)。</p><p>  公交車(chē)報(bào)站顯示系統(tǒng)的設(shè)計(jì)應(yīng)用單片機(jī),LCD顯示,使到站信息及提示信息以顯示的方式告知市民,為市

22、民提供人形化、完美的服務(wù)。</p><p>  (3) 管理信息由信息的采集、信息的傳遞、信息的儲(chǔ)存、信息的加工、信息的維護(hù)和信息的使用等五個(gè)方面組成。 </p><p>  MIS包括計(jì)算機(jī)、網(wǎng)絡(luò)通信設(shè)備等硬件成分,也包括操作系統(tǒng)、應(yīng)用軟件包等軟件成分,并隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的迅速發(fā)展還會(huì)出現(xiàn)更多的內(nèi)容。</p><p>  1.2報(bào)站器的發(fā)展趨勢(shì)</p

23、><p>  公共汽車(chē)行駛在現(xiàn)代文明程度高的市區(qū),它是一道流動(dòng)的風(fēng)景線(xiàn),因而對(duì)整車(chē)外形乃至色彩都有更高的要求。作為公共汽車(chē)還要求有醒目和減少乘務(wù)人員勞動(dòng)強(qiáng)度的電子報(bào)站器,電子顯示路牌,無(wú)人售票裝置,前后電視監(jiān)視系統(tǒng)等新技術(shù)的采用也將越來(lái)越普及。</p><p>  公交車(chē)報(bào)站器在公交事業(yè)中占有舉足輕重的地位,它直接影響到公交車(chē)的服務(wù)質(zhì)量。目前公交車(chē)報(bào)站有三種方式,一種是利用GPS全球衛(wèi)星定位系

24、統(tǒng)的公交車(chē)報(bào)站系統(tǒng),在司機(jī)座位后面隔板上,安裝了一臺(tái)15英寸的液晶電視和 GPS信號(hào)接收器,安裝了這套設(shè)備后,公交車(chē)在語(yǔ)音報(bào)站的同時(shí),通過(guò)液晶電視還可以顯示到站站名的字幕,這樣如果沒(méi)聽(tīng)清報(bào)站的話(huà),通過(guò)顯示屏,乘客也可以一目了然。當(dāng)出現(xiàn)緊急情況時(shí),調(diào)度中心將會(huì)給公交車(chē)發(fā)出相應(yīng)的信息,以短信的形式傳送到顯示屏上,同時(shí)車(chē)載臺(tái)會(huì)發(fā)出相應(yīng)的提示音;駕駛員也可以通過(guò)相應(yīng)的工具進(jìn)行回復(fù)。目前在美國(guó)部分城市GPS衛(wèi)星定位系統(tǒng)已經(jīng)投入使用,國(guó)內(nèi)也有此類(lèi)產(chǎn)

25、品的研制開(kāi)發(fā),其功能強(qiáng)大,系統(tǒng)穩(wěn)定,但其投資昂貴,尤其是一些中小城市無(wú)法承受。另外兩種是手動(dòng)電子報(bào)站和人工報(bào)站的方式,而它們都離不開(kāi)司務(wù)人員,加大司乘人員的工作強(qiáng)度。手動(dòng)電子報(bào)站一般有司機(jī)或者乘務(wù)員控制,經(jīng)常出現(xiàn)錯(cuò)報(bào),誤報(bào)的情況。</p><p>  城市公共交通是市民出行的主要交通工具之一。提供舒適,安全、便捷的乘車(chē)環(huán)境,對(duì)于公交企業(yè)來(lái)說(shuō),不僅是應(yīng)盡的責(zé)任,亦是不斷追求的目標(biāo)。</p><p

26、>  第二章 硬件電路設(shè)計(jì)</p><p>  2.1硬件電路設(shè)計(jì)思路和框圖</p><p>  公交車(chē)液晶報(bào)站顯示主要解決漢字的液晶顯示和按鍵報(bào)站[1-4]。LCD液晶顯示模塊AMPIRE128×64可以顯示字母、數(shù)字符號(hào)、中文字型及自定圖形,只要一個(gè)最小的微處理系統(tǒng),將液晶顯示模塊的I/O設(shè)備直接與之連接,就可以進(jìn)行控制液晶顯示器和數(shù)據(jù)傳輸,從而達(dá)到理想的顯示效果。使用

27、P2口給液晶顯示器提供控制信號(hào),P0口給液晶顯示器傳送數(shù)據(jù)。由于公交車(chē)報(bào)站系統(tǒng)有起始站、終點(diǎn)站、上一站和下一站的差別,所以4個(gè)采用獨(dú)立式按鍵分別進(jìn)行控制,按鍵電路從p4口輸入信號(hào)。</p><p>  系統(tǒng)設(shè)計(jì)框圖如圖2-1所示。主要采用單片機(jī)的最小系統(tǒng)AT89C51、LCD液晶顯示模塊AMPIRE128×64及外圍電路組成。</p><p>  圖2-1 系統(tǒng)設(shè)計(jì)框圖<

28、;/p><p>  2.2 硬件電路設(shè)計(jì)</p><p>  控制電路選用單片機(jī)AT89C51,本電路接高電平,沒(méi)有擴(kuò)展ROM。</p><p>  利用晶體本身的特性,可以利用晶振和電容搭建震蕩電路與AT89C51的XTAL1和XTAL2相連,向單片機(jī)提供一個(gè)頻率較高的時(shí)鐘脈沖,具體連接見(jiàn)電路連接圖。</p><p>  AT89C51的復(fù)位引

29、腳外接開(kāi)關(guān)復(fù)位電路。</p><p>  將液晶的數(shù)據(jù)輸入端DB0~DB7與單片機(jī)的P0口相連,進(jìn)行數(shù)據(jù)傳輸操作。因?yàn)镻0口內(nèi)部沒(méi)有上拉電阻,不能輸出高電平,所以要接上拉電阻,這樣就用到排阻。排阻就是好多電阻連載一起,他們有一個(gè)公共端1端為公共端接VCC或地,看你是上拉還是下拉呢,其他接要操作的端口。本電路中P0口需要接上拉電阻,所以排阻的公共端接VCC。</p><p>  將P2.5,

30、P2.6,P2.7分別與液晶的RS,RW,E端連接,用其組合來(lái)控制向LCD中進(jìn)行數(shù)據(jù)和指令的讀與寫(xiě)操作,P2.1和P2.2分別和CS1和CS2端連接,用來(lái)控制液晶左右屏的顯示。另外背光燈的電源正極、液晶顯示模塊的電源正極以及LCD驅(qū)動(dòng)電壓輸入端都接在+5V的穩(wěn)壓電源上,背光燈負(fù)極和模塊的電源負(fù)極統(tǒng)一接地。</p><p>  為了便于司機(jī)操作,采用4個(gè)獨(dú)立式按鍵對(duì)顯示進(jìn)行控制,分別與單片機(jī)的P3.0~P3.3相連

31、,分別代表4種功能:起點(diǎn)站、上一站、下一站和終點(diǎn)站。</p><p>  報(bào)站系統(tǒng)液晶顯示的電路連接圖如圖2-2所示</p><p><b>  圖2-2 仿真電路</b></p><p>  2.3AT89C51芯片</p><p>  2.3.1AT89C51芯片簡(jiǎn)介</p><p>  AT

32、89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱(chēng)單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8

33、位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p>  2.3.2 AT89C51管腳說(shuō)明</p><p>  AT89C51的引腳排列如圖2.3.2所示。</p><p>  圖2.3.2 AT89C51

34、引腳排列圖</p><p>  下面對(duì)設(shè)計(jì)中用到的管腳進(jìn)行簡(jiǎn)要的介紹:</p><p>  P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流?!?lt;/p><p>  P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。</p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙

35、向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流。    </p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 </p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p>  XTAL2:來(lái)自反向振蕩器的輸出。</p>&l

36、t;p>  2.4液晶模塊AWPIRE128×64</p><p>  液晶顯示器件(LCD)獨(dú)具的低壓、微功耗特性使他在單片機(jī)系統(tǒng)中特得到了廣泛的應(yīng)用,常用的液晶顯示模塊分為數(shù)顯液晶模塊、點(diǎn)陣字符液晶模塊和點(diǎn)陣圖形液晶模塊,其中圖形液晶模塊在我國(guó)應(yīng)用較為廣泛,因?yàn)闈h字不能像西文字符那樣用字符模塊即可顯示,要想顯示漢字必須用圖形模塊。</p><p>  選擇LCD液晶顯示

37、模塊AMPIRE128×64的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,圖形液晶顯示顯示器如圖2-3所示。</p><p>  圖2-3 LCD電路圖 </p><p>  其引腳功能如表2-1所示[5]。</p><p>  表2-1 AMPIRE12864管腳說(shuō)明</p><p><b>  其指令描述如下

38、:</b></p><p>  (1)顯示開(kāi)/關(guān)設(shè)置</p><p>  CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 </p><p>  功能:設(shè)置屏幕顯示開(kāi)/關(guān)。 </p><p>  DB0=H,開(kāi)顯示;DB0=L,關(guān)顯示。不影響顯示RAM(DD RAM)中的內(nèi)

39、容。 </p><p>  (2)設(shè)置顯示起始行 </p><p>  CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p>  功能:執(zhí)行該命令后,所設(shè)置的行將顯示在屏幕的第一行。顯示起始行是由Z地址計(jì)數(shù)器控制的,該命令自動(dòng)將A0-A5位地址送入Z地址計(jì)數(shù)器,起始地址可以是0-63范

40、圍內(nèi)任意一行。Z地址計(jì)數(shù)器具有循環(huán)計(jì)數(shù)功能,用于顯示行掃描同步,當(dāng)掃描完一行后自動(dòng)加一。</p><p><b>  (3)設(shè)置頁(yè)地址 </b></p><p>  CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 </p><p>  功能:執(zhí)行本指令后,下面的讀寫(xiě)操作將在

41、指定頁(yè)內(nèi),直到重新設(shè)置。頁(yè)地址就是DD RAM 的行地址,頁(yè)地址存儲(chǔ)在X地址計(jì)數(shù)器中,A2-A0可表示8頁(yè),讀寫(xiě)數(shù)據(jù)對(duì)頁(yè)地址沒(méi)有影響,除本指令可改變頁(yè)地址外,復(fù)位信號(hào)(RST)可把頁(yè)地址計(jì)數(shù)器內(nèi)容清零。 </p><p>  DD RAM地址映像表如表2-2所示。 </p><p>  表2-2 RAM地址映像表</p><p><b>  Y 地址

42、 </b></p><p><b>  (4)設(shè)置列地址 </b></p><p>  CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p>  功能: DD RAM 的列地址存儲(chǔ)在Y地址計(jì)數(shù)器中,讀寫(xiě)數(shù)據(jù)對(duì)列地址有影響,在對(duì)DD RAM進(jìn)行讀寫(xiě)操作后,Y地址自動(dòng)

43、加一。 </p><p><b>  (5)狀態(tài)檢測(cè) </b></p><p>  CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p>  功能:讀忙信號(hào)標(biāo)志位(BF)、復(fù)位標(biāo)志位(RST)以及顯示狀態(tài)位(ON/OFF)。</p><p>  BF=

44、H:內(nèi)部正在執(zhí)行操作; BF=L:空閑狀態(tài)。</p><p>  RST=H:正處于復(fù)位初始化狀態(tài); RST=L:正常狀態(tài)。</p><p>  ON/OFF=H:表示顯示關(guān)閉; ON/OFF=L:表示顯示開(kāi)。</p><p><b>  (6)寫(xiě)顯示數(shù)據(jù) </b></p><p&

45、gt;  CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p>  功能:寫(xiě)數(shù)據(jù)到DDRAM,DDRAM是存儲(chǔ)圖形顯示數(shù)據(jù)的,寫(xiě)指令執(zhí)行后Y地址計(jì)數(shù)器自動(dòng)加1。D7-D0位數(shù)據(jù)為1表示顯示,數(shù)據(jù)為0表示不顯示。寫(xiě)數(shù)據(jù)到DDRAM前,要先執(zhí)行“設(shè)置頁(yè)地址”及“設(shè)置列地址”命令。</p><p><b>  (7)

46、讀顯示數(shù)據(jù) </b></p><p>  CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0</p><p><b>  基本操作時(shí)序:</b></p><p> ?、?讀狀態(tài):輸入:RS=L,R/W=H,CS1 或CS2=H,E=H </p><p>

47、  輸出:D0~D7=狀態(tài)字</p><p> ?、?寫(xiě)指令:輸入:RS=L,R/W=L,D0~D7=指令碼,CS1或CS2=H,E=高脈沖</p><p><b>  輸出:無(wú)</b></p><p> ?、?讀數(shù)據(jù):輸入:RS=H,R/W=H,CS1 或CS2=H,E=H </p><p>  輸出:D0~D7=數(shù)據(jù)

48、</p><p> ?、?寫(xiě)數(shù)據(jù):輸入:RS=H,R/W=L,D0~D7=數(shù)據(jù),CS1 或CS2=H,E=高脈沖 </p><p><b>  輸出:無(wú)</b></p><p>  RAM 地址映射圖到LCD 顯示屏由兩片控制器控制,分別用和控制。每個(gè)內(nèi)部帶有64X64 位(512字節(jié))的RAM 緩沖區(qū),對(duì)應(yīng)關(guān)系如下圖2-4所示。</p&

49、gt;<p>  圖2-4 LCD地址映射圖</p><p><b>  (8)操作 </b></p><p>  1.設(shè)定開(kāi)始頁(yè)地址和列地址</p><p>  2.設(shè)定讀寫(xiě)模式,進(jìn)行讀寫(xiě)操作</p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p><p

50、>  3.1系統(tǒng)流程圖設(shè)計(jì)</p><p>  軟件設(shè)計(jì)的主要功能是完成公交車(chē)語(yǔ)音報(bào)站,采用AT89C51單片機(jī)作為主控芯片,對(duì)ISD4004數(shù)碼語(yǔ)音芯片與LCD12864進(jìn)行控制,實(shí)現(xiàn)語(yǔ)音報(bào)站,同時(shí)顯示站名。鍵盤(pán)采用通用按鍵開(kāi)關(guān),簡(jiǎn)單易行且控制方便。在本次軟件設(shè)計(jì)中,主要設(shè)計(jì)了4站,通過(guò)四個(gè)按鍵進(jìn)行控制。具體如下:</p><p><b>  k1鍵——起始鍵</b

51、></p><p>  現(xiàn)象:ISD4004播報(bào)“歡迎乘坐”,同時(shí)LCD12864上顯示“歡迎乘坐”。</p><p>  k2鍵——上一站,k3鍵——下一站,</p><p>  現(xiàn)象:num=1,ISD4004播報(bào)“歡迎乘坐”,同時(shí)LCD12864上顯示“歡迎乘坐”。</p><p>  num=2,ISD4004播報(bào)“電子高專(zhuān)站到

52、了,請(qǐng)從后門(mén)下車(chē),下車(chē)請(qǐng)當(dāng)心;車(chē)輛起步,請(qǐng)拉好扶手,前方??课鲄^(qū)公交站”,同時(shí)LCD12864上顯示“西區(qū)公交站到了”。</p><p>  num=3,ISD4004播報(bào)“西區(qū)公交站到了,請(qǐng)從后門(mén)下車(chē),下車(chē)請(qǐng)當(dāng)心;車(chē)輛起步,請(qǐng)拉好扶手,前方??坎璧曜诱尽?,同時(shí)LCD12864上顯示“茶店子到了”。</p><p>  num=4,ISD4004播報(bào)“茶店子到了,請(qǐng)從后門(mén)下車(chē),下車(chē)請(qǐng)當(dāng)心;

53、車(chē)輛起步,請(qǐng)拉好扶手,前方??拷鹕痴尽保瑫r(shí)LCD12864上顯示“茶店子到了”。</p><p>  num=5,ISD4004播報(bào)“金沙站到了,請(qǐng)從后門(mén)下車(chē),下車(chē)請(qǐng)當(dāng)心;”,同時(shí)LCD12864上顯示“金沙站到了”。</p><p>  num=6,ISD4004播報(bào)“謝謝乘坐本次公交車(chē)”,同時(shí)LCD12864上顯示“謝謝乘坐”。</p><p>  系統(tǒng)上電后

54、,液晶顯示模塊LCD12864與語(yǔ)音模塊ISD4004進(jìn)行初始化,當(dāng)檢測(cè)到有按鍵按下時(shí),進(jìn)行鍵值的判斷,根據(jù)鍵值,跳轉(zhuǎn)到相應(yīng)的顯示程序和語(yǔ)音播放程序并執(zhí)行,從而實(shí)現(xiàn)公交車(chē)語(yǔ)音報(bào)站功能。軟件主流程圖如圖3.1所示。</p><p>  圖3.1軟件主流程圖</p><p>  3.1.1 ISD4004語(yǔ)音模塊錄放音</p><p>  在本次軟件程序設(shè)計(jì)中,我總共

55、設(shè)置了5個(gè)按鍵,錄音鍵(k1=P2.5),放音鍵(k2=P2.6),停止鍵(k3=P2.7),錄放音地址移位鍵(k4=P2.0),復(fù)位鍵(k5=P2.1)。當(dāng)按下k1鍵時(shí),語(yǔ)音模塊就從0X05開(kāi)始錄音,錄好一段音后,按下k3鍵,停止錄音。按下k2鍵,開(kāi)始播放之前所錄的聲音。按下k4鍵,錄音地址往后移100,此時(shí)再按下k1鍵,開(kāi)始第二段錄音。如此,便可實(shí)現(xiàn)多段錄音,而且每段錄音所存放的地址都通過(guò)計(jì)算得出。若是不滿(mǎn)意當(dāng)前的錄音,可以按下k5

56、鍵,重新錄音。圖3.1.1為錄音流程圖。圖3.1.2為放音流程圖。</p><p>  圖 3.1.1 錄音程序流程圖</p><p>  圖3.1.2 放音程序流程圖</p><p>  3.2.1 LCD12864顯示</p><p>  系統(tǒng)上電后,液晶顯示模塊進(jìn)行初始化。同時(shí)液晶顯示部分按照數(shù)組序號(hào)顯示字符程序,程序中table為要

57、顯示的數(shù)組序號(hào),按照數(shù)組的次序依次顯示每站的站名。圖3.2.1為本次設(shè)計(jì)的液晶顯示12864的程序流程圖。</p><p>  圖 3.2.1LCD12864程序流程圖</p><p><b>  3.2.2按鍵部分</b></p><p>  按鍵部分采用掃描法,當(dāng)檢測(cè)到按鍵按下時(shí),進(jìn)行鍵值判斷,并進(jìn)行相應(yīng)的顯示程序以及語(yǔ)音播放程序的跳轉(zhuǎn),實(shí)

58、現(xiàn)公交車(chē)語(yǔ)音報(bào)站功能。圖3.2.2是本次設(shè)計(jì)的按鍵程序流程圖。</p><p>  圖 3.2.2按鍵程序流程圖</p><p><b>  仿真過(guò)程、結(jié)果分析</b></p><p>  4.1 軟件仿真調(diào)試過(guò)程</p><p>  本次單片機(jī)軟件仿真系統(tǒng)我選擇了Proteus。在整個(gè)系統(tǒng)軟件設(shè)計(jì)中,依舊從語(yǔ)音,液晶顯

59、示以及按鍵這三大部分進(jìn)行綜合考慮。由于Proteus軟件的限制,無(wú)法對(duì)ISD4004語(yǔ)音芯片進(jìn)行仿真,從而在此處我選用了LED燈來(lái)代替語(yǔ)音芯片,當(dāng)按鍵按下時(shí),相對(duì)應(yīng)的LED燈點(diǎn)亮。在仿真時(shí),由于語(yǔ)音模塊不能進(jìn)行仿真,為了增加點(diǎn)難度,在液晶顯示模塊方面我選擇了可以顯示漢字的12864模塊。下面主要介紹一下12864的工作原理[12]。</p><p>  LCD12864液晶顯示的原理是利用液晶的物理特性,通過(guò)電壓

60、對(duì)其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。其實(shí)用LCD顯示一個(gè)字符時(shí)比較復(fù)雜,因?yàn)橐粋€(gè)字符由16×16點(diǎn)陣組成,既要找到和顯示屏幕上某幾個(gè)位置對(duì)應(yīng)的顯示RAM區(qū)的64字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來(lái)就組成某個(gè)字符。但由于內(nèi)帶字符發(fā)生器的控制器來(lái)說(shuō),顯示字符就比較簡(jiǎn)單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開(kāi)始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM

61、對(duì)應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。在本次設(shè)計(jì)中,LCD12864液晶顯示模塊的rs,rw,e分別與51單片機(jī)的P3^5,P3^6,P3^7端口連接,進(jìn)行程序的讀寫(xiě)數(shù)據(jù),字符操作。而D0~D7分別與51單片機(jī)的P0口進(jìn)行連接,用來(lái)輸出數(shù)據(jù)與字符,這樣就可以在液晶上顯示出自己想要的字符[13]。</p><p>  在此次仿真過(guò)程中,總共設(shè)計(jì)了4個(gè)按鍵,k1:歡迎乘坐,k2:上一站,k3:下一站,k

62、4:謝謝乘坐。當(dāng)按下k1鍵時(shí),LCD上顯示“歡迎乘坐”;如果當(dāng)前的站是“電子高專(zhuān)到了”,當(dāng)按下k2鍵時(shí),LCD上顯示“西區(qū)公交站到了”,;當(dāng)按下k3鍵時(shí),LCD上顯示“茶店子到了”。當(dāng)按下k4時(shí),LCD上顯示“謝謝乘坐”。實(shí)現(xiàn)的效果圖如下圖4.6,4.7,4.8,4.9,4.10,4.11所示</p><p>  按下k1鍵 LCD12864液晶顯示“歡迎乘坐”。</p><p>  圖

63、 4.6 “歡迎乘坐”</p><p>  按下k2或者k3鍵顯示,k2鍵逆向顯示,k3鍵順向顯示</p><p>  Num=1 LCD12864液晶顯示“電子高專(zhuān)到了”。</p><p>  圖 4.7 “電子高專(zhuān)到了”</p><p>  Num=2 LCD1602液晶顯示“西區(qū)公交站到了”。</p><p>

64、;  圖 4.8 “西區(qū)公交站到了”</p><p>  Num=3 LCD12864液晶顯示“茶店子到了”。</p><p>  圖 4.9 “茶店子站到了”</p><p>  Num=4 LCD12864液晶顯示“金沙到了”。</p><p>  圖 4.10 “金沙站到了”</p><p>  按下k4鍵

65、 LCD12864液晶顯示“謝謝乘坐”。</p><p>  圖 4.11 “謝謝乘坐”</p><p>  4.2Proteus ISIS仿真系統(tǒng)基本知識(shí)</p><p><b>  4.2.1系統(tǒng)概述</b></p><p>  Proteus是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件[6]。它運(yùn)行于W

66、indows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:①實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤(pán)和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。②支持主流單片機(jī)系統(tǒng)的仿真。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可

67、以觀(guān)察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。④具有強(qiáng)大的原理圖繪制功能。Proteus 軟件所提供了30 多個(gè)元件庫(kù),數(shù)千種元件。元件涉及到數(shù)字和模擬、交流和直流等。對(duì)于一個(gè)仿真軟件或?qū)嶒?yàn)室,測(cè)試的儀器儀表的數(shù)量、類(lèi)型和質(zhì)量,是衡量實(shí)驗(yàn)室是否合格的一個(gè)關(guān)鍵因素。在Proteus 軟件包中,不存在同類(lèi)儀表

68、使用數(shù)量的問(wèn)題。Proteus 還提供了一個(gè)圖形顯示</p><p>  總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。Proteus 與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU 的工作情況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語(yǔ)句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工程的角度直接看

69、程序運(yùn)行和電路工作的過(guò)程和結(jié)果。對(duì)于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。</p><p>  4.2.2進(jìn)入Proteus ISIS</p><p>  雙擊桌面上的ISIS 6 Professional圖標(biāo)或者單擊屏幕左下方的“開(kāi)始”→“程序”→“Proteus 6 Professional” →“ISIS 6 Professional”,出現(xiàn)如圖4

70、.2.2所示屏幕,表明進(jìn)入Proteus ISIS集成環(huán)境。</p><p>  圖4.2.2 啟動(dòng)時(shí)的屏幕</p><p>  4.2.3Proteus工作界面及窗口說(shuō)明</p><p>  Proteus的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖4.2.2所示。</p><p>  單擊對(duì)象選擇按鈕P會(huì)出現(xiàn)如圖4.2.4對(duì)話(huà)框。

71、</p><p>  在keywords中輸入需要的元器件型號(hào)如89C51會(huì)出現(xiàn)對(duì)話(huà)框在Results下選中需要的元器件然后按右下腳的OK關(guān)閉對(duì)話(huà)框,這時(shí)元器件列表中就會(huì)列出89c51。這時(shí)在原件列表中左鍵選取89c51,在原理圖編輯窗口中單擊左鍵,這樣89c52就被放到原理圖編輯窗口中了。同樣放置其他元器件。</p><p>  4.2.4 Proteus繪圖流程舉例</p>

72、<p>  1.元件設(shè)置,首先按剛才所述選取放置一元件電阻,然后在圖形編輯窗口中右鍵選取電阻,然后單擊左鍵會(huì)出現(xiàn)如圖4.2.4對(duì)話(huà)框然后按需要進(jìn)行設(shè)置即可。</p><p>  圖4.2.4 Proteus工作界面</p><p>  圖4.2.5 對(duì)象選擇界面</p><p>  圖4.2.6 修改元器件屬性界面</p><p&g

73、t;  2.添加仿真文件(.hex文件)</p><p>  圖4.2.7 添加十六進(jìn)制文件界面</p><p>  連好電路圖后右鍵單擊圖中的單片機(jī)選中,然后單擊左鍵出現(xiàn)如圖4.2.7對(duì)話(huà)框在program file中單擊瀏覽圖標(biāo),找到所需要的.hex文件最后單擊ok退出。</p><p>  4.3 KEIL Cx51軟件的使用</p>&l

74、t;p>  Keil C51 軟件是眾多單片機(jī)應(yīng)用開(kāi)發(fā)的優(yōu)秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編,PLM 語(yǔ)言和 C 語(yǔ)言的程序設(shè)計(jì),界面友好,易學(xué)易用。下面介紹Keil C51軟件的使用方法。</p><p><b>  4.3.1創(chuàng)建項(xiàng)目</b></p><p>  啟動(dòng)后進(jìn)入keil c的編輯界面如圖4.3.1。</p><p

75、>  此時(shí)點(diǎn)擊project—New Project菜單選項(xiàng)可創(chuàng)建一個(gè)新的項(xiàng)目文件。此時(shí)會(huì)彈出一個(gè)標(biāo)準(zhǔn)的Windows對(duì)話(huà)框,詢(xún)問(wèn)新建項(xiàng)目文件的名字,建議每個(gè)項(xiàng)目都使用一個(gè)獨(dú)立的文件夾。文件名寫(xiě)好后單擊確定會(huì)出現(xiàn)如圖4.3.1對(duì)話(huà)框要求選擇單片機(jī)型號(hào),keil c51幾乎支持所有的51核的單片機(jī),選好單片機(jī)后只要點(diǎn)擊確定即可。</p><p>  圖4.3.1 keil c的編輯界面 </p>

76、<p>  圖4.3.2 CPU選擇界面</p><p>  4.3.2 為項(xiàng)目新建文件</p><p>  點(diǎn)擊菜單File—New File此時(shí)屏幕如圖4.4.2此時(shí)在彈出的Text窗口中寫(xiě)入自己的程序,寫(xiě)完后點(diǎn)擊File—Save As將文件保存。注意,如果用C語(yǔ)言編寫(xiě)程序,則擴(kuò)展名為.c,如果用匯編語(yǔ)言編寫(xiě)程序,則擴(kuò)展名必須為.asm。此時(shí)回到</p>

77、<p>  編輯界面單擊“Target 1”前面的“+”號(hào),然后在“Source Group 1”上單擊右鍵,在彈出的下拉菜單中單擊“Add File to Group ‘Source Group 1’”再在出現(xiàn)的對(duì)話(huà)框中選擇自己需要.c文件或.asm文件,單擊Add然后關(guān)閉此對(duì)話(huà)框。此時(shí)編輯界面如下圖4.4.3所示。</p><p>  圖4.4.2 新建文件界面</p><

78、p>  圖4.4.3 編輯界面</p><p>  4.3.3生成.HEX文件</p><p>  在生成.hex文件前要對(duì)程序進(jìn)行編譯看程序是否有誤,單擊圖4.4.3中的編譯按鈕即可,如顯示無(wú)誤則右擊“Target 1” 再在下拉菜單中單擊“Options For Target ‘target1’,此時(shí)單擊“Output”選中“Create HEX File” 選項(xiàng),最后單擊

79、確定。此時(shí)再次點(diǎn)擊編譯按鈕進(jìn)行編譯則自動(dòng)生成保存.hex文件,此時(shí)只需按剛才Proteus介紹所說(shuō),將.hex文件添加到單片機(jī)中就可以在Proteus進(jìn)行仿真了。</p><p>  4.3.4漢字字模提取</p><p>  液晶顯示模塊中按字節(jié)為單位劃分,單個(gè)屏幕中,共分為8個(gè)頁(yè),每頁(yè)為8行,而每一行為64個(gè)位(即64列)。同計(jì)算機(jī)一樣,單片機(jī)控制液晶點(diǎn)陣顯示中的數(shù)據(jù)也是以“0 和“1

80、”代碼來(lái)表示的。一般地,“0”代表不顯示數(shù)據(jù),“1代表有顯示數(shù)據(jù),根據(jù)編碼的不同,最終會(huì)顯示出不同的字符。顯示器上的顯示點(diǎn)與驅(qū)動(dòng)控制芯片中的顯示緩存RAM 是一一對(duì)應(yīng)的,即字模當(dāng)中的一個(gè)位代表LCD顯示中的一個(gè)像素點(diǎn),取點(diǎn)方式為從左到右,自上到下的順序。這里采用16×16的點(diǎn)陣輸出顯示每個(gè)漢字,那么就需要屏幕上的256個(gè)點(diǎn)組成的方塊來(lái)顯示。一個(gè)字節(jié)對(duì)應(yīng)8個(gè)點(diǎn),所以一個(gè)漢字需要32個(gè)字節(jié)來(lái)存儲(chǔ)顯示[7,8]?!皾h字字模點(diǎn)陣數(shù)據(jù)批

81、量生成工具”就是運(yùn)用這個(gè)原理來(lái)實(shí)現(xiàn)漢字編碼的軟件。</p><p>  圖4.4.4 漢字字模點(diǎn)陣數(shù)據(jù)批量生成軟件</p><p>  本文采用PCtoLCD2002漢字提取軟件,打開(kāi)窗口,如圖4.4.4所示,設(shè)置好字體、字號(hào)等格式參數(shù),在漢字輸入?yún)^(qū),輸入漢字或其他字符,即得到需要的代碼。將本設(shè)計(jì)所涉及的漢字用軟件取模批量生成16×16點(diǎn)陣代碼,放入ROM 區(qū)的TA—BLE

82、表格中,通過(guò)邏輯控制,最終可將代碼讀出到硬件驅(qū)動(dòng)電路上,顯示出不同的漢字。</p><p>  51單片機(jī)公交車(chē)報(bào)站系統(tǒng)設(shè)計(jì)心得體會(huì)</p><p>  時(shí)間過(guò)得很快,現(xiàn)在回想起這三個(gè)多月的畢業(yè)設(shè)計(jì), 終于可以畫(huà)上一個(gè)句號(hào)了。一路走來(lái),感受頗多。曾經(jīng)有過(guò)失落;有過(guò)成功; 有過(guò)沮喪;有過(guò)喜悅;這已不重要了,重要的是我一路走來(lái),歷煉了我的心志,考驗(yàn)了我的能力。</p><p

83、>  最初看到這個(gè)課題,不知如何下手,所以就去網(wǎng)上找了許多資料,盡管有許多的設(shè)計(jì)方案,可是總感覺(jué)自己還是有許多的東西弄不太清楚,于是就請(qǐng)教同學(xué)。通過(guò)對(duì)公交車(chē)報(bào)站系統(tǒng)資料的研究,漸漸有了一個(gè)大體的構(gòu)思。功夫不負(fù)有心人,在大家共同的努力下,盡管經(jīng)歷了不少的艱辛,但給我們積累了一點(diǎn)設(shè)計(jì)的經(jīng)驗(yàn),最后也有點(diǎn)小小的成就感。</p><p>  在整個(gè)設(shè)計(jì)過(guò)程中,我是擔(dān)任組長(zhǎng)的職位,這對(duì)我也是一個(gè)重大的挑戰(zhàn)。在每一個(gè)階段

84、,我都是嚴(yán)格要求自己的組員,通過(guò)組員之間的團(tuán)結(jié)合作,我們的工作進(jìn)展的很快,盡管有時(shí)會(huì)遇到失敗,但是我們從來(lái)沒(méi)有放棄過(guò),最后終于做完成了,有種如釋重負(fù)的感覺(jué)。此外,還得出一個(gè)結(jié)論:知識(shí)必須通過(guò)應(yīng)用才能實(shí)現(xiàn)其價(jià)值!有些東西以為學(xué)會(huì)了,但真正到用的時(shí)候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會(huì)用的時(shí)候才是真的學(xué)會(huì)了。</p><p>  在這個(gè)設(shè)計(jì)過(guò)程中,我主要負(fù)責(zé)電路硬件調(diào)試,以及軟件設(shè)計(jì)。從中我學(xué)會(huì)了很多新的東西,通過(guò)

85、查找資料,對(duì)資料進(jìn)行分析,自學(xué)能力也顯著增強(qiáng)。同時(shí)在檢修電路的過(guò)程中,也學(xué)會(huì)許多的技巧,對(duì)電子儀器儀表的使用也愈加熟練。同時(shí),與組員之間的團(tuán)結(jié)與合作,讓我更加意識(shí)到團(tuán)隊(duì)的重要性。</p><p>  在此我要感謝我的指導(dǎo)老師熊異老師對(duì)我悉心的指導(dǎo),感謝老師給我的幫助。在設(shè)計(jì)過(guò)程中,我通過(guò)查閱大量有關(guān)資料,與同學(xué)交流經(jīng)驗(yàn)和自學(xué),也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個(gè)設(shè)計(jì)中我懂得了許多東西,也培養(yǎng)了我獨(dú)立工作的能力

86、,樹(shù)立了對(duì)自己工作能力的信心,相信會(huì)對(duì)今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動(dòng)手的能力,使我充分體會(huì)到了在創(chuàng)造過(guò)程中探索的艱難和成功時(shí)的喜悅。雖然這個(gè)設(shè)計(jì)做的也不太好,但是在設(shè)計(jì)過(guò)程中所學(xué)到的東西是這次畢業(yè)設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。</p><p><b>  致 謝</b></p><p>  歷時(shí)將近兩個(gè)月的時(shí)間終于將這篇論文寫(xiě)完,在論文的寫(xiě)

87、作過(guò)程中遇到了無(wú)數(shù)的困難和障礙,都在同學(xué)和老師的幫助下度過(guò)了。尤其要強(qiáng)烈感謝我的論文指導(dǎo)老師—高燕老師,她對(duì)我進(jìn)行了無(wú)私的指導(dǎo)和幫助,不厭其煩的幫助進(jìn)行論文的修改和改進(jìn)。另外,在校圖書(shū)館查找資料的時(shí)候,圖書(shū)館的老師也給我提供了很多方面的支持與幫助。在此向幫助和指導(dǎo)過(guò)我的各位老師表示最中心的感謝!</p><p>  感謝這篇論文所涉及到的各位學(xué)者。本文引用了數(shù)位學(xué)者的研究文獻(xiàn),如果沒(méi)有各位學(xué)者的研究成果的幫助和啟

88、發(fā),我將很難完成本篇論文的寫(xiě)作。感謝我的同學(xué)和朋友,在我寫(xiě)論文的過(guò)程中給予我了很多你問(wèn)素材,還在論文的撰寫(xiě)和排版等過(guò)程中提供熱情的幫助。由于我的學(xué)術(shù)水平有限,所寫(xiě)論文難免有不足之處,懇請(qǐng)各位老師和學(xué)友批評(píng)和指正!</p><p><b>  附件</b></p><p><b>  總程序:</b></p><p>  #

89、include <reg52.h></p><p>  #include <intrins.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  sbit k1=P3^0;</p>&l

90、t;p>  sbit k2=P3^1;</p><p>  sbit k3=P3^2;</p><p>  sbit k4=P3^3;</p><p>  uchar num;</p><p>  void delay_50us(uint t)</p><p><b>  {</b><

91、/p><p><b>  uchar j;</b></p><p>  for(;t>0;t--)</p><p>  for(j=19;j>0;j--);</p><p><b>  }</b></p><p>  #define LCDLCDDisp_Off

92、0x3e</p><p>  #define LCDLCDDisp_On 0x3f</p><p>  #define Page_Add 0xb8//頁(yè)地址</p><p>  #define LCDCol_Add 0x40//列地址</p><p>  #define Start_Line 0xC0//行地址&

93、lt;/p><p>  /*****液晶顯示器的端口定義*****/</p><p>  #define data_ora P0 /*液晶數(shù)據(jù)總線(xiàn)*/</p><p>  sbit LCDMcs=P2^1 ; /*片選1*/</p><p>  sbit LCDScs=P2^2 ; /*片選2*/</p><p&g

94、t;  sbit RESET=P2^3 ; /*復(fù)位信號(hào)*/</p><p>  sbit LCDDi=P2^4 ; /*數(shù)據(jù)/指令 選擇*/</p><p>  sbit LCDRW=P2^5 ; /*讀/寫(xiě) 選擇*/</p><p>  sbit LCDEnable=P2^6 ; /*讀/寫(xiě) 使能*/</p><p&

95、gt;  unsigned char code Bmp1[]=</p><p>  {/*------------------------------------------------------------------------------</p><p>  顯示的漢字:歡迎乘坐!</p><p>  ----------------------------

96、--------------------------------------------------*/</p><p>  0x04,0x24,0x44,0x84,0x64,0x9C,0x40,0x30,0x0F,0xC8,0x08,0x08,0x28,0x18,0x00,0x00,</p><p>  0x40,0x40,0x42,0xCC,0x00,0x00,0xFC,0x04,0x

97、02,0x00,0xFC,0x04,0x04,0xFC,0x00,0x00,</p><p>  0x40,0x48,0x4A,0x4A,0xEA,0x0A,0x0A,0xFE,0x09,0x09,0xE9,0x49,0x49,0x28,0x80,0x00,</p><p>  0x00,0x80,0x60,0x1E,0x20,0xC0,0x00,0xFF,0x00,0x80,0x60,0

98、x1E,0x20,0xC0,0x00,0x00,</p><p>  0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

99、0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<

100、/p><p>  0x10,0x08,0x06,0x01,0x82,0x4C,0x20,0x18,0x06,0x01,0x06,0x18,0x20,0x40,0x80,0x00,</p><p>  0x00,0x40,0x20,0x1F,0x20,0x40,0x4F,0x44,0x42,0x40,0x7F,0x42,0x44,0x43,0x40,0x00,</p><p&

101、gt;  0x22,0x22,0x11,0x11,0x0B,0x04,0x02,0xFF,0x02,0x04,0x09,0x12,0x12,0x22,0x23,0x00,</p><p>  0x41,0x40,0x44,0x44,0x46,0x44,0x44,0x7F,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00,</p><p>  0x00,0x00

102、,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x0

103、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p><b>  };</b></p><

104、p>  unsigned char code Bmp2[]=</p><p><b>  {</b></p><p>  /*------------------------------------------------------------------------------</p><p>  顯示的漢字:電子高專(zhuān)到了</p

105、><p>  ------------------------------------------------------------------------------*/</p><p>  0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x88,0xF8,0x00,0x00,0x00,</p><p>

106、;  0x80,0x82,0x82,0x82,0x82,0x82,0x82,0xE2,0xA2,0x92,0x8A,0x86,0x82,0x80,0x80,0x00,</p><p>  0x04,0x04,0x04,0x04,0xF4,0x94,0x95,0x96,0x94,0x94,0xF4,0x04,0x04,0x04,0x04,0x00,</p><p>  0x40,0x40,0

107、x48,0x48,0x48,0xC8,0x78,0x4F,0x48,0x48,0x48,0x48,0x48,0x40,0x40,0x00,</p><p>  0x42,0x62,0x52,0x4A,0xC6,0x42,0x52,0x62,0xC2,0x00,0xF8,0x00,0x00,0xFF,0x00,0x00,</p><p>  0x00,0x02,0x02,0x02,0x02,

108、0x02,0x02,0xE2,0x22,0x12,0x0A,0x06,0x02,0x00,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

109、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p>  0x00,0x00,0x1F,0x08,0x08,0x08,0x08,0x7F,0x88,0x88,0x88,0x88,0x9F,0x80,0xF0,0x00,</p><p>  0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x0

110、0,0x00,0x00,0x00,0x00,0x00,</p><p>  0x00,0xFE,0x02,0x02,0x7A,0x4A,0x4A,0x4A,0x4A,0x4A,0x7A,0x02,0x82,0xFE,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x03,0x12,0x12,0x22,0x22,0x52,0x8A,0x06,0x00,0x

111、00,0x00,0x00,</p><p>  0x40,0xC4,0x44,0x44,0x7F,0x24,0x24,0x24,0x20,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,&

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論