【正文】
er, that one ALE pulse is skipped during each access to external Data Memory.If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the ALEdisable bit has no effect if the microcontroller is in external execution mode.PSENProgram Store Enable is the read strobe to external program the AT89C51 is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory.EA/VPPExternal Access Enable. EA must be strapped to GND in order to enable the device to fetch code from external program memory locations starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on should be strapped to VCC for internal program pin also receives the 12volt programming enable voltage(VPP) during Flash programming, for parts that require12volt VPP.XTAL1Input to the inverting oscillator amplifier and input to the internal clock operating circuit.XTAL2Output from the inverting oscillator amplifier.漢譯:AT89C51的介紹描述AT89C51是一個(gè)低電壓,高性能CMOS8位單片機(jī)帶有4K字節(jié)的可反復(fù)擦寫的程序存儲(chǔ)器(PENROM)。和128字節(jié)的存取數(shù)據(jù)存儲(chǔ)器(RAM),這種器件采用ATMEL公司的高密度、不容易丟失存儲(chǔ)技術(shù)生產(chǎn),并且能夠與MCS51系列的單片機(jī)兼容。片內(nèi)含有8位中央處理器和閃爍存儲(chǔ)單元,有較強(qiáng)的功能的AT89C51單片機(jī)能夠被應(yīng)用到控制領(lǐng)域中。功能特性AT89C51提供以下的功能標(biāo)準(zhǔn):4K字節(jié)閃爍存儲(chǔ)器,128字節(jié)隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,32個(gè)I/O口,2個(gè)16位定時(shí)/計(jì)數(shù)器,1個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),1個(gè)串行通信口,片內(nèi)震蕩器和時(shí)鐘電路。另外,AT89C51還可以進(jìn)行0HZ的靜態(tài)邏輯操作,并支持兩種軟件的節(jié)電模式。閑散方式停止中央處理器的工作,能夠允許隨機(jī)存取數(shù)據(jù)存儲(chǔ)器、定時(shí)/計(jì)數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存隨機(jī)存取數(shù)據(jù)存儲(chǔ)器中的內(nèi)容,但震蕩器停止工作并禁止其它所有部件的工作直到下一個(gè)復(fù)位。引腳描述VCC:電源電壓 GND:地P0口:P0口是一組8位漏極開路雙向I/O口,即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口時(shí),每一個(gè)管腳都能夠驅(qū)動(dòng)8個(gè)TTL電路。當(dāng)“1”被寫入P0口時(shí),每個(gè)管腳都能夠作為高阻抗輸入端。P0口還能夠在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),轉(zhuǎn)換地址和數(shù)據(jù)總線復(fù)用,并在這時(shí)激活內(nèi)部的上拉電阻。P0口在閃爍編程時(shí),P0口接收指令,在程序校驗(yàn)時(shí),輸出指令,需要接電阻。P1口:P1口一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)端口寫“1”,通過內(nèi)部的電阻把端口拉到高電平,此時(shí)可作為輸入口。因?yàn)閮?nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)輸出一個(gè)電流。閃爍編程時(shí)和程序校驗(yàn)時(shí),P1口接收低8位地址。P2口:P2口是一個(gè)內(nèi)部帶有上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)端口寫“1”,通過內(nèi)部的電阻把端口拉到高電平,此時(shí),可作為輸入口。因?yàn)閮?nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口線上的內(nèi)容在整個(gè)運(yùn)行期間不變。閃爍編程或校驗(yàn)時(shí),P2口接收高位地址和其它控制信號(hào)。P3口:P3口是一組帶有內(nèi)部電阻的8位雙向I/O口,P3口輸出緩沖故可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)P3口寫如“1”時(shí),它們被內(nèi)部電阻拉到高電平并可作為輸入端時(shí),被外部拉低的P3口將用電阻輸出電流。P3口除了作為一般的I/O口外,更重要的用途是它的第二功能,如下表所示:端口引腳第二功能RXDTXDINT0INT1T0T1WRRDP3口還接收一些用于閃爍存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。RST:復(fù)位輸入。當(dāng)震蕩器工作時(shí),RET引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平將使單片機(jī)復(fù)位。ALE/:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE以時(shí)鐘震蕩頻率的1/16輸出固定的正脈沖信號(hào),因此它可對(duì)輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖時(shí),閃爍存儲(chǔ)器編程時(shí),這個(gè)引腳還用于輸入編程脈沖。如果必要,可對(duì)特殊寄存器區(qū)中的8EH單元的D0位置禁止ALE操作。這個(gè)位置后只有一條MOVX和MOVC指令A(yù)LE才會(huì)被應(yīng)用。此外,這個(gè)引腳會(huì)微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無效。PSEN:程序儲(chǔ)存允許輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器讀取指令時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN 信號(hào)不出現(xiàn)。EA/VPP:外部訪問允許。欲使中央處理器僅訪問外部程序存儲(chǔ)器,EA端必須保持低電平。需要注意的是:如果加密位LBI被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平,CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。閃爍存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電壓VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。XTAL1:震蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:震蕩器反相放大器的輸出端。結(jié)論對(duì)于本次論文的撰寫,我系統(tǒng)地閱讀了大量的資料,并認(rèn)真分析了設(shè)計(jì)課題的需求,還系統(tǒng)學(xué)習(xí)了凌陽單片機(jī)的工作原理及其使用方法,并獨(dú)自設(shè)計(jì)智能小車的整個(gè)項(xiàng)目。雖然條件艱苦,但經(jīng)過不懈鉆研和努力,比較了多種單片機(jī)性能及性價(jià)比,了解到很多種ISD芯片,語音聲控芯片的功能。對(duì)于電機(jī)和電機(jī)芯片的選擇花費(fèi)了大量時(shí)間和精力,最終組合出容易控制且故障率低的一組。制作小車的過程中進(jìn)行了多項(xiàng)試驗(yàn),最終做出了整個(gè)小車的硬件系統(tǒng),然后結(jié)合課題任務(wù)和小車硬件進(jìn)行了程序的編制。對(duì)于C語言和匯編語言的運(yùn)用更加的熟悉,了解這兩種語言的優(yōu)缺點(diǎn),在恰當(dāng)?shù)牡胤接眠m當(dāng)?shù)恼Z言以提高效率。最終順利的通過了系統(tǒng)軟硬件的聯(lián)機(jī)調(diào)試,成功實(shí)現(xiàn)設(shè)計(jì)任務(wù)所要求的語音控制和避障兩大功能。通過本次畢業(yè)設(shè)計(jì),不僅是對(duì)我以前所學(xué)知識(shí)的考查,更是對(duì)我的自學(xué)能力和收集資料能力以及動(dòng)手能力的考驗(yàn)。本次論文撰寫還使我意識(shí)到了實(shí)驗(yàn)的重要性,在硬件制作和軟件調(diào)試的過程中,出現(xiàn)了很多問題,最終都是通過實(shí)驗(yàn)的方法來解決的。還有以前對(duì)程序只是一個(gè)很模糊的概念,通過這次的畢業(yè)設(shè)計(jì)使我對(duì)程序完全有了一個(gè)新的認(rèn)識(shí),并能使用C語言和匯編語言熟練的進(jìn)行編程了??傊?,在論文撰寫的過程中,無論是對(duì)于學(xué)習(xí)方法還是理論知識(shí),我都有了新的認(rèn)識(shí),受益匪淺,這將激勵(lì)我在今后再接再厲,不斷完善自己的理論知識(shí),提高實(shí)踐運(yùn)作能力。參考文獻(xiàn)【1】王曉明. 《電動(dòng)機(jī)的單片機(jī)控制》 北京航空航天大學(xué)出版社2007年8月第2版【2】吳紅星. 《電機(jī)驅(qū)動(dòng)與控制專用集成電路及應(yīng)用》 中國(guó)電力出版社2006年6月第1版【3】李仁定. 《電機(jī)的微機(jī)控制》 機(jī)械工業(yè)出版社2004年1月第1版【4】趙亮,侯國(guó)銳. 《單片機(jī)c 語言編程與實(shí)例》 人民郵電出版社2003年9月第1版【5】陳永甫. 《紅外探測(cè)與控制電路》 人民郵電出版社2004年6月第1版【6】歐陽杰. 《紅外電子學(xué)》 北京理工大學(xué)出版社1997年1月第1版【7】韓紀(jì)慶, 張磊, 鄭鐵然.《語音信號(hào)處理》 清華大學(xué)出版社2004年9月第1版【8】黃智偉. 《全國(guó)大學(xué)生電子設(shè)計(jì)大賽》 北京航空航天大學(xué)出版社2007年2月第1版【9】吳文虎. 《程序設(shè)計(jì)基礎(chǔ)》 清華大學(xué)出版社2003年9月第1版【10】譚浩強(qiáng). 《C語言程序設(shè)計(jì)》 清華大學(xué)出版社2008年11月第2版【11】Lawrence Rabiner,BiingHwang Juang. 《fundamentals of speech recognition》 清華大學(xué)出版社,1999年9月第1版 純英文版致謝此篇論文在朱曉駿老師的指導(dǎo)下完成的,在這里非常感謝朱老師給我的指點(diǎn),提供解決困難的思路,讓我學(xué)會(huì)了查詢和總結(jié)資料,特別是更加強(qiáng)了我的獨(dú)立思考能力。朱老師給了我諸多的幫助和悉心的指導(dǎo),其嚴(yán)謹(jǐn)?shù)淖黠L(fēng)和認(rèn)真的學(xué)習(xí)態(tài)度感染了我,使我認(rèn)識(shí)到,學(xué)習(xí)不僅要注重方法,更要有嚴(yán)謹(jǐn)、主動(dòng)的態(tài)度,這將對(duì)我以后的工作學(xué)習(xí)產(chǎn)生深遠(yuǎn)的影響!再次向我的指導(dǎo)老師朱曉駿致以最誠(chéng)摯的謝意!最后,向在論文研究過程中給予我?guī)椭乃信笥驯硎局孕母兄x!附錄1 主程序設(shè)計(jì) 主控制源程序://======================================================// The information contained herein is the exclusive property of// Sunnnorth Technology Co. And shall not be distributed, reproduced,// or disclosed in whole in part without prior written permission.// (C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.// ALL RIGHTS RESERVED// The entire notice above must be reproduced on all authorized copies.//========================================================//========================================================// 工程名稱: Car_Demo// 功能描述: 實(shí)現(xiàn)小車的語音控制// 涉及的庫(kù): // // // 組成文件: // , , // , // 硬件連接: IOA0KEY1// IOA1KEY2// IOA2KEY3// IOB8前進(jìn)// IOB9倒車// IOB10左拐// IOB11右拐//========================================================include include define P_IOA_Data (volatile unsigned int *)0x7000 define P_IOA_Dir (volatile unsigned int *)0x7002define P_IOA_Attrib (volatile unsigned int *)0x7003define P_IOB_Data (volatile unsigned int *)0x7005 define P_IOB_Dir (volatile unsigned int *)0x7007 define P_IOB_Attrib (volatile unsigned int *)0x7008 define P_TimerA_Data (volatile unsigned int *)0x700A define P_TimerA_Ctrl (volatile unsigned int *)0x700B define P_TimerB_Data (volatile unsigned int *)0x700C define P_TimerB_Ctrl (volatile unsigned int *)0x700D define P_Watchdog_Clear (volatile unsigned int *)0x7012 define P_INT_Mask (volatile unsigned int *)0x702D define P_INT