[畢業(yè)論文]多功能語(yǔ)音控制小車軟件設(shè)_第1頁(yè)
[畢業(yè)論文]多功能語(yǔ)音控制小車軟件設(shè)_第2頁(yè)
[畢業(yè)論文]多功能語(yǔ)音控制小車軟件設(shè)_第3頁(yè)
[畢業(yè)論文]多功能語(yǔ)音控制小車軟件設(shè)_第4頁(yè)
[畢業(yè)論文]多功能語(yǔ)音控制小車軟件設(shè)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(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、多功能語(yǔ)音控制小車軟件設(shè)計(jì) 文 摘 隨著電子業(yè)的發(fā)展,自動(dòng)化已不再是一個(gè)新鮮的話題,無(wú)人駕駛的小汽車也必將進(jìn)入實(shí)用階段,本系統(tǒng)模擬將來(lái)的智能小車。根據(jù)開(kāi)始錄制的語(yǔ)音命令來(lái)控制啟動(dòng)、停止、返回和語(yǔ)音辯識(shí),并且能自動(dòng)避開(kāi)障礙物,進(jìn)行前行和倒退。利用金屬傳感器和黑白傳感器來(lái)控制電機(jī)的正反轉(zhuǎn)和控制電磁鐵的吸合與斷電,從而達(dá)到讓小車能夠清理道路上的小鐵塊。利用光電檢測(cè)器檢測(cè)道路上的障礙物,控制電動(dòng)小汽車行使?fàn)顟B(tài),并自動(dòng)記錄往返距離,顯示小車所走過(guò)的路程。在整個(gè)行程中如果遇到正前方的障礙物將倒退一段距離后拐彎正向前行。spce061a單片機(jī)是繼mnsp系列產(chǎn)品spce500a等之后凌陽(yáng)科技推出的又一個(gè)16

2、位結(jié)構(gòu)的微控制器,它具有體積小、集成度高、可靠性好且易于擴(kuò)展、具有較強(qiáng)的中斷處理能力、功能強(qiáng)、效率高的指令系統(tǒng)、低功耗、低電壓等特點(diǎn)。spce061a單片機(jī)可應(yīng)用在很多領(lǐng)域里如:家用電器控制器、儀器儀表、工業(yè)控制、智能家居控制器、通訊產(chǎn)品、語(yǔ)音識(shí)別類產(chǎn)品等領(lǐng)域。關(guān)鍵詞 spce061a單片機(jī);語(yǔ)音辨識(shí);紅外傳感器;霍爾元件;金屬傳感器;共陰極數(shù)碼管lg5641ah隨著計(jì)算機(jī)新技術(shù)不斷地涌現(xiàn)和vlsi設(shè)計(jì)技術(shù)的迅猛發(fā)展,計(jì)算機(jī)無(wú)論在系統(tǒng)體系結(jié)構(gòu)還是在性能上都發(fā)生了巨大的變化。計(jì)算機(jī)一方面向著高速、智能化的巨型機(jī)方向發(fā)展,另一方面向著嵌入式微型機(jī)的方向發(fā)展。其中,微型計(jì)算機(jī)以其性能和容量不斷提高,

3、而價(jià)格不斷下降的趨勢(shì),使其在社會(huì)各個(gè)領(lǐng)域乃至家庭生活中發(fā)揮著越來(lái)越大的作用。當(dāng)今微型計(jì)算機(jī)技術(shù)的發(fā)展形成兩大技術(shù)分支:一是以微處理器mpu為核心組成的通用微機(jī)系統(tǒng);另一分支是發(fā)展面向?qū)ο蟮挠糜趯?shí)時(shí)測(cè)控領(lǐng)域的微控制器mcu,亦稱單片微計(jì)算機(jī)(單片機(jī))。隨著超大規(guī)模高速集成電路的發(fā)展,現(xiàn)代電子技術(shù)的設(shè)計(jì)與應(yīng)用進(jìn)入了單片系統(tǒng)soc(system on a chip)階段,從而使單片機(jī)的設(shè)計(jì)與應(yīng)用技術(shù)發(fā)生了深刻的變化。soc的設(shè)計(jì)要從整個(gè)系統(tǒng)的功能及性能出發(fā),把微處理器(mpu)、芯片結(jié)構(gòu)、數(shù)字/模擬等外圍器件全部放置在一塊芯片上,完成整個(gè)系統(tǒng)的功能,真正實(shí)現(xiàn)“系統(tǒng)單片機(jī)”。故soc為單片機(jī)的應(yīng)用提供

4、了更廣闊的應(yīng)用前景及更強(qiáng)的生命力。臺(tái)灣凌陽(yáng)科技股份有限公司近年推出的單片機(jī)就是基于soc的新型的數(shù)/?;旌系南到y(tǒng)級(jí)芯片。在一個(gè)芯片內(nèi)集成了單片機(jī)數(shù)據(jù)采集或控制系統(tǒng)所需的模擬和數(shù)字外設(shè)及其它功能部件。凌陽(yáng)公司推出的單片機(jī)有8位、16位共50多種不同的ic芯片型號(hào)及其產(chǎn)品,以適用不同的應(yīng)用領(lǐng)域,用戶可根據(jù)需要選擇相應(yīng)的單片機(jī)系統(tǒng)。凌陽(yáng)單片機(jī)順應(yīng)了單片機(jī)技術(shù)的發(fā)展趨勢(shì),其系統(tǒng)芯片具有集成度高、數(shù)/?;旌?、功能全、低功耗、低電壓等特點(diǎn)。另外,凌陽(yáng)單片機(jī)還增加了適合于dsp的某些特殊指令;其中spce061a單片機(jī)還嵌入了lcd控制/驅(qū)動(dòng)和雙音多頻發(fā)生器功能。1 spce061a單片機(jī)的介紹1.1 sp

5、ce061a概述隨著單片機(jī)功能集成化的發(fā)展,其應(yīng)用領(lǐng)域也逐步的由傳統(tǒng)的控制擴(kuò)展為控制處理、數(shù)據(jù)處理以及數(shù)值信號(hào)處理(dsp,digital signal processing)等領(lǐng)域。凌陽(yáng)16位單片機(jī)就是為適應(yīng)這種發(fā)展而設(shè)計(jì)的。它的cpu內(nèi)核采用凌陽(yáng)最新推出的(microcontroller and signal processor)16位微處理器芯片。spce061a中只內(nèi)嵌32k字的閃存flash rom。較高的處理速度使能非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。因此spce061a微控制也特別適合在數(shù)字語(yǔ)音識(shí)別領(lǐng)域應(yīng)用。spce061a在2.6.v工作電壓范圍內(nèi)工作頻率范圍為0.3249.

6、152mhz,較高的工作速度使其應(yīng)用領(lǐng)域更加擴(kuò)寬。spce061a中包括2k字的sram和32k字的閃存rom,僅占一頁(yè)存儲(chǔ)空間;32位可編程的多功能i/o端口;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;32768hz實(shí)時(shí)時(shí)鐘;低電壓復(fù)位/低電壓檢測(cè)功能,8通道10位模/數(shù)轉(zhuǎn)換輸入并具有內(nèi)置自動(dòng)增益控制功能的麥克風(fēng)輸入方式;雙通道10位dac方式的音頻輸出功能等。spce061a尤其適合于數(shù)字聲音和音識(shí)別領(lǐng)域。1.2 spce061a主要性能(1) 16位nsp微處理器;(2) 工作電壓(cpu) vdd為2.43.6v (i/o) vddh為2.45.5v;(3) cpu時(shí)鐘:0.32mhz49.152mh

7、z ;(4) 內(nèi)置2k字sram;(5) 內(nèi)置32k flash;(6) 可編程音頻處理;(7) 晶體振蕩器;(8) 系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電僅為2a3.6v;(9) 2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);(10) 2個(gè)10位dac(數(shù)-模轉(zhuǎn)換)輸出通道;(11) 32位通用可編程輸入/輸出端口;(12) 14個(gè)中斷源可來(lái)自定時(shí)器a / b,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;(13) 具備觸鍵喚醒的功能;(14) 使用凌陽(yáng)音頻編碼sacm_s240方式,能容納210秒的語(yǔ)音數(shù)據(jù);(15) 鎖相環(huán)pll振蕩器提供系統(tǒng)時(shí)鐘信號(hào);(16) 32768hz實(shí)時(shí)時(shí)鐘

8、;(17) 7通道10位電壓模-數(shù)轉(zhuǎn)換器(adc)和單通道聲音模-數(shù)轉(zhuǎn)換器;(18) 聲音模/數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制功能(19) 具備串行設(shè)備接口;(20) 具有低電壓復(fù)位(lvr)功能和低電壓監(jiān)測(cè)(lvd)功能;(21) 內(nèi)置在線仿真電路ice(in- circuit emulator)接口;(22) 具有保密能力;(23) 具有watchdog功能;1.3 spce061a芯片引腳功能說(shuō)明 表芯片引腳功表ioa0ioa15i/o口a共16個(gè)iob0iob15 i/o口b共16個(gè) xresb復(fù)位輸入。若這個(gè)腳輸入低電平時(shí)會(huì)使控制器被重置復(fù)位ice_enice使能端ic

9、e_sckice時(shí)鐘端ice_sdaice數(shù)據(jù)端dac1音頻輸出通道1dac2音頻輸出通道2vref22v參考電壓輸出端agc語(yǔ)音輸入自動(dòng)增益控制端vcmadc參考電壓輸出端vdd(第7腳)瑣相環(huán)電源vdd(第15腳) 數(shù)字電源1.4 spce061a的輸入/輸出接口(i/o)輸入/輸出接口(也可簡(jiǎn)稱為i/o口)是單片機(jī)與外設(shè)交換信息的通道。輸入端口負(fù)責(zé)。從外界接收檢測(cè)信號(hào)、鍵盤信號(hào)等各種開(kāi)關(guān)量信號(hào)。輸出端口負(fù)責(zé)向外界輸送由內(nèi)部電路產(chǎn)生的處理結(jié)果、顯示信息、控制命令、驅(qū)動(dòng)信號(hào)等。nsp內(nèi)有并行和串行兩種方式的i/o口。并行口線路成本較高,但是傳輸速率也很高;與并行口相比,串行口的傳輸速率較低但

10、可以節(jié)省大量的線路成本。spce061a有兩個(gè)16位通用的并行i/o口:a口和b口。這兩個(gè)口的每一位都可通過(guò)編程單獨(dú)定義成輸入或輸出口。 a口的ioa0 ioa7用作輸入口時(shí)具有喚醒功能,即具有輸入電平變化引起cpu中斷功能。在那些用電池供電、追求低能耗的應(yīng)用場(chǎng)合,可以應(yīng)用cpu的睡眠模式(通過(guò)軟件設(shè)置)以降低功耗,需要時(shí)以按鍵來(lái)喚醒cpu,使其進(jìn)入工作狀態(tài)。例如:手持遙控器、電子字典、pda、計(jì)算器、移動(dòng)電話等。 spce061a 的i/o端口結(jié)構(gòu)spce061a提供了位控制結(jié)構(gòu)的i/o端口,每一位都可以被單獨(dú)定義用于輸入或輸出數(shù)據(jù)。通常,對(duì)某一位的設(shè)定包括以下3個(gè)基本項(xiàng):數(shù)據(jù)向量data、

11、屬性向量attribution和方向控制向量direction。3個(gè)端口內(nèi)每個(gè)對(duì)應(yīng)的位組合在一起,形成一個(gè)控制字,用來(lái)定義相應(yīng)i/o口位的輸入輸出狀態(tài)和方式。數(shù)據(jù)向量data、屬性向量attribution和方向控制向量。下表2給出了位數(shù)據(jù)向量_data、屬性向量_attrib和方向控制向量_dir的狀態(tài)及并行i/o口的相應(yīng)工作方式。 表2端口狀態(tài)表_dir_attrib_data口位狀態(tài)口位方式描述喚醒功能000輸入帶下拉電阻的輸入口有001輸入帶上拉電阻的輸入口有010輸入懸浮的輸入口有011輸入懸浮的輸入口無(wú)100輸出經(jīng)數(shù)據(jù)反相器輸出高電平無(wú)101輸出經(jīng)數(shù)據(jù)反相器輸出低電平無(wú)110輸出經(jīng)

12、數(shù)據(jù)緩存器輸出低電平無(wú)111輸出經(jīng)數(shù)據(jù)緩存器輸出高電平無(wú) direction的說(shuō)明如下:(1) 方向向量_dir位:該位用于設(shè)定i/o口的對(duì)應(yīng)位是用做輸入還是用做輸出位,設(shè)置如下:0輸入,1輸出。(2) 屬性向量_attrib位:該位用于定義i/o口的工作方式,在i/o口位作為輸入和輸出時(shí)的作用不同。當(dāng)口位輸入狀態(tài)下,屬性向量_attrib設(shè)置如下:0帶上拉或下拉電阻式輸入;1懸浮式輸入;當(dāng)口位輸出狀態(tài)下,屬性向量_attrib設(shè)置如下:0經(jīng)反相器反相輸出;1經(jīng)緩沖器同相輸出;(3) 數(shù)據(jù)向量_data位:在該位的輸入狀態(tài)下被寫入時(shí),與attrib位組合在一起形成輸入方式的控制字,其功能如下:

13、00帶喚醒功能的下拉電阻式輸入;01帶喚醒功能的上拉電阻式輸入;10帶喚醒功能的懸浮式輸入;11無(wú)喚醒功能的懸浮式輸入。_data位在該位的輸出狀態(tài)下被寫入的是輸出數(shù)據(jù),數(shù)據(jù)輸出是同相還是經(jīng)反相輸出則取決與_attrib位的設(shè)置。1.5 模/數(shù)轉(zhuǎn)換器adc在單片機(jī)的應(yīng)用系統(tǒng)中,常常需要將檢測(cè)到的連續(xù)變化的模擬量,如溫度、壓力、流量、轉(zhuǎn)速、聲音、光亮度等轉(zhuǎn)換成數(shù)字信號(hào)才能輸入到單片機(jī)中進(jìn)行處理。這種將模擬量轉(zhuǎn)換成數(shù)字量的過(guò)程稱為a/d轉(zhuǎn)換。spce061a單片機(jī)中的adc的控制方式spce061a內(nèi)置8通道10位模/數(shù)轉(zhuǎn)換器adc,其中7個(gè)通道用于將模擬量信號(hào)(例如電壓信號(hào))轉(zhuǎn)換為數(shù)字量信號(hào),可

14、以直接通過(guò)引線(ioa0ioa6)輸入。另外一個(gè)通道只用于語(yǔ)音輸入,即通過(guò)內(nèi)置自動(dòng)增益控制放大器的麥克風(fēng)通道(mic_in)輸入。實(shí)際上可以把模/數(shù)轉(zhuǎn)換器看作是一個(gè)實(shí)現(xiàn)模/數(shù)編碼器。在adc內(nèi),由數(shù)/模轉(zhuǎn)換器dac0和逐次逼近寄存器sar組成逐次逼近式模/數(shù)轉(zhuǎn)換器。向p_adc_ctrl(寫)(7015h)單元第0位(ade)寫入1用以激活adc。系統(tǒng)默認(rèn)設(shè)置為ade=0,即屏蔽adc。adc采取自動(dòng)方式工作。硬件adc的最高速率限定為(/32/16)hz,如果速率超過(guò)此值,當(dāng)從p_adc(讀)(7014h)單元讀出數(shù)據(jù)時(shí)會(huì)發(fā)生錯(cuò)誤。在adc自動(dòng)方式被啟用后,會(huì)產(chǎn)生出一個(gè)啟動(dòng)信號(hào),即rdy=0

15、。此時(shí),dac0的電壓模擬量輸出值與外部的電壓模擬量輸入值進(jìn)行比較,以盡快找出外部的電壓模擬量的數(shù)字量輸出值。逐次逼近式控制首先將sar中數(shù)據(jù)的最高有效位試設(shè)為1,而其它位則全設(shè)為0,即1000000000b。這時(shí),dac0輸出電壓(1/2滿量程)就會(huì)與輸入電壓進(jìn)行比較。如果,則保持原先設(shè)置為1的位(最高有效位)仍為1;否則,該位為被清0。接著,逐次逼近式控制又將下一位試設(shè)為1,其余低位依舊為0,即1100000000b,與進(jìn)行比較的結(jié)果若,則仍保持原先設(shè)置位的值,否則該位清0。這個(gè)逐次逼近的過(guò)程一直會(huì)延續(xù)到10位中的所有位都被測(cè)試之后,a/d轉(zhuǎn)換的結(jié)果保存在sar內(nèi)。當(dāng)10位a/d轉(zhuǎn)換完成時(shí)

16、,rdy會(huì)被置1。此時(shí),用戶通過(guò)讀取p_adc(7014h)或p_adc_mux_data(702ch)單元可以獲得10位a/d轉(zhuǎn)換的數(shù)據(jù)。而從該單元讀取數(shù)據(jù)后,有會(huì)使rdy自動(dòng)清0來(lái)重新開(kāi)始進(jìn)行a/d轉(zhuǎn)換。若未讀取p_adc或p_adc_mux_data單元中的數(shù)據(jù),rdy仍保持為1,則不會(huì)啟動(dòng)下一次的a/d轉(zhuǎn)換。外部信號(hào)由lin_in17即ioa06或通道m(xù)ic_in輸入。從lin_in17輸入的模擬信號(hào)直接被送入緩沖器p_adc_mux_data;從mic_in輸入的模擬信號(hào)則要經(jīng)過(guò)緩沖器和放大器。agc功能將通過(guò)mic_in通道輸入的模擬信號(hào)的放大值控制在一定范圍內(nèi)然后放大信號(hào)經(jīng)采樣保

17、持模塊被送至比較器參與a/d轉(zhuǎn)換值的確定,最后送入p_adc。1.6 dac方式的音頻輸出spce061a提供的音頻輸出方式為雙通道dac方式。在此方式下,dac1、dac2轉(zhuǎn)換輸出的模擬量電流信號(hào)分別通過(guò)aud1和aud2引腳輸出,輸出的數(shù)字量分別寫入p_dac1和p_dac2。() p_dac2(讀/寫)(7016h)在dac方式下,該單元是一個(gè)帶10位緩沖寄存器dar2的10位d/a轉(zhuǎn)換單元(dac2)。p_dac2寫:通過(guò)此單元直接寫入10位數(shù)據(jù)到10位緩存器dar2,來(lái)瑣存dac2的輸入數(shù)字量值(無(wú)符號(hào)數(shù))。p_dac2讀:從dar2內(nèi)讀出10位數(shù)據(jù)。() p_dac1(讀/寫)(7

18、017h):該單元為一個(gè)帶10位緩存器(dar1)的10位d/a轉(zhuǎn)換單元(dac1)。用于向dar1寫入或從其中讀出10位數(shù)據(jù)。() p_dac_ctrl(寫)(702ah)dac音頻輸出方式的控制單元,其中第58位用于選擇dac1輸出方式下的數(shù)據(jù)瑣存方式;第3、4位用來(lái)控制a/d轉(zhuǎn)換方式;第1位總為0,用于雙dac音頻輸出。1.7 看門狗計(jì)數(shù)器(watchdog)spce061a的watchdog的清除時(shí)間周期為0.75s。因?yàn)閣atchdog的溢出復(fù)位信號(hào)watchdog_reset是由4hz時(shí)基信號(hào)經(jīng)4分頻之后產(chǎn)生的,即每4個(gè)4hz時(shí)基信號(hào)(1s)將會(huì)產(chǎn)生一個(gè)watchdog_reset

19、信號(hào),而清除watchdog的watchdog_clear信號(hào)卻可以發(fā)生在4hz信號(hào)(0.25s)之間的任意一個(gè)時(shí)刻點(diǎn)上。假如watchdog_clear信號(hào)發(fā)生在4hz信號(hào)尾端的0.01s即第0.25s時(shí)刻,此時(shí)雖然watchdog被清掉,但由于它發(fā)生在4hz信號(hào)之后,再經(jīng)3個(gè)4hz信號(hào)即0.75s,如果一直沒(méi)有watchdog_clear信號(hào),便會(huì)產(chǎn)生出一個(gè)watchdog_reset信號(hào)。當(dāng)然,如果watchdog_clear信號(hào)發(fā)生在4hz信號(hào)始端的0.01s,則經(jīng)過(guò)0.99s若無(wú)watchdog_clear信號(hào)便會(huì)產(chǎn)生watchdog_reset信號(hào)。因此,清除watchdog的時(shí)間

20、周期為0.75s。清除watchdog只需寫入p_watchdog_clear單元0x0001即可。此外,若32768hz振蕩器被打開(kāi),則在空閑方式期間watchdog功能是被激活的。 2 指令系統(tǒng)2.1 指令系統(tǒng)的概述及符號(hào)約定指令是cpu執(zhí)行某種操作的命令。微處理器(mpu)或微控制器(mcu)所能識(shí)別全部指令的集合稱為指令系統(tǒng)或指令集。指令系統(tǒng)是制造廠家在設(shè)計(jì)cpu時(shí)所賦予它的功能,用戶必須正確的書寫和使用指令。因此學(xué)習(xí)和掌握指令的功能與應(yīng)用非常重要,是程序設(shè)計(jì)的基礎(chǔ)。本章將詳細(xì)的介紹spce061a指令系統(tǒng)的尋址方式和各種指令。 nsp單片機(jī)指令按其功能可劃分為: (1) 數(shù)據(jù)傳送指令

21、,包括立即數(shù)到寄存器、寄存器到寄存器、寄存器到存儲(chǔ)器存儲(chǔ)器到寄存器的數(shù)據(jù)傳送操作; (2) 算術(shù)運(yùn)算,包括加、減、乘運(yùn)算; (3) 邏輯運(yùn)算,包括與、或、異或、測(cè)試、移位等操作; (4) 轉(zhuǎn)移指令,包括條件轉(zhuǎn)移、無(wú)條件轉(zhuǎn)移、中斷返回、子程序調(diào)用等操作; (5) 控制指令,如開(kāi)中斷、關(guān)中斷、fir濾波器的數(shù)據(jù)的自由移動(dòng)等操作。 按尋址方式劃分,可分為以下幾類: 立即數(shù)尋址這種尋址方式是操作數(shù)以立即數(shù)的形式出現(xiàn),例如:r1 = 0x1234,是把16進(jìn)制數(shù)0x1234賦給寄存器r1。 存儲(chǔ)器絕對(duì)尋址這種尋址方式是通過(guò)存儲(chǔ)器地址來(lái)訪問(wèn)存儲(chǔ)器中的數(shù)據(jù),例如:r1 = 0x2222,訪問(wèn)0x2222單元

22、的數(shù)據(jù)。 寄存器尋址這種尋址方式是操作數(shù)在寄存器中,例如:r1 = r2,是把寄存器r2 中的數(shù)據(jù)賦給寄存器r1。 寄存器間接尋址這種尋址方式是操作數(shù)的地址由寄存器給出,例如:r1 = bp,是把由bp指向的內(nèi)存單元的數(shù)據(jù)送寄存器r1。 變址尋址這種尋址方式下,操作數(shù)的地址由基址和偏移量共同給出,例如:r1 = bp+0x34。 2.2 數(shù)據(jù)傳送指令 數(shù)據(jù)傳送指令是把源操作數(shù)傳送到指令所指定的目標(biāo)地址。數(shù)據(jù)傳送操作屬?gòu)?fù)制性質(zhì),而不是搬家性質(zhì)。指令執(zhí)行后,源操作數(shù)不變,目的操作數(shù)為源操作數(shù)所代替。通用格式是: = 源操作數(shù)可以是:立即數(shù)、寄存器直接尋址、寄存器間接尋址、直接地址尋址、變址尋址等。

23、 2.3 偽指令nsp匯編偽指令與匯編指令不同,它不會(huì)被編譯,而僅被用來(lái)控制匯編器的操作。偽指令的作用有點(diǎn)像語(yǔ)言中的標(biāo)點(diǎn)符號(hào),它能使語(yǔ)言中的句子所表達(dá)意思的結(jié)構(gòu)更加清晰而成為語(yǔ)言中不可缺少的一部分。在匯編語(yǔ)言中正確使用偽指令,不僅能使程序的可讀性增強(qiáng),且使匯編器的編譯效率倍增。 偽指令的語(yǔ)法格式及特點(diǎn) 偽指令可以寫在程序文件中的任意位置,但在其前面必須用一個(gè)小圓點(diǎn)引導(dǎo),以便與匯編指令區(qū)分開(kāi)。偽指令行中方括弧里的參量是任選項(xiàng),即不是必須帶有的參量。如果某一個(gè)參量使用雙重方括弧括起來(lái),則說(shuō)明這個(gè)任選項(xiàng)參量本身就必須帶著方括弧。例如count表示引用該任選參量時(shí)必須寫出count才可。 nsp的匯編

24、器規(guī)定的標(biāo)準(zhǔn)偽指令不必區(qū)分字母的大小寫,亦即書寫偽指令時(shí)既可全用大寫,也可全用小寫,甚至可以大小寫混用。但所有定義的標(biāo)號(hào)包括宏名、結(jié)構(gòu)名、結(jié)構(gòu)變量名、段名及程序名則一律區(qū)分其字母的大小寫。 3 接口設(shè)計(jì)3.1 接口電路方框圖及說(shuō)明電路方框圖如下圖1所示: 圖1小車接口框圖主控元件采用凌陽(yáng)spce061a單片機(jī),屬于凌陽(yáng)unsp系列產(chǎn)品的一個(gè)16位結(jié)構(gòu)的微控制器。spce061a里只內(nèi)嵌32k字的閃存(flash),但用在此系統(tǒng)上已經(jīng)綽綽有余。較高的處理速度使unsp能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。因此以u(píng)nsp為核心的spce061a微控制器也適用在數(shù)字語(yǔ)音識(shí)別應(yīng)用領(lǐng)域。spce06

25、1a在2.6v3.6v工作電壓范圍內(nèi)的工作速度范圍為0.32mhz49.152mhz,較高的工作速度使其應(yīng)用領(lǐng)域更加拓寬。2k字sram和32k字flash僅占一頁(yè)存儲(chǔ)空間,32位可編程的多功能i/o端口;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;32768hz實(shí)時(shí)時(shí)鐘;低電壓復(fù)位/監(jiān)測(cè)功能;8通道10位模-數(shù)轉(zhuǎn)換輸入功能并具有內(nèi)置自動(dòng)增益控制功能的麥克風(fēng)輸入方式;雙通道10位dac方式的音頻輸出功能,這就為本系統(tǒng)的特定人辨識(shí)和語(yǔ)音播報(bào)打下了基礎(chǔ)。采用凌陽(yáng)spce061a十六位單片機(jī),對(duì)小車的整個(gè)行駛過(guò)程進(jìn)行實(shí)時(shí)監(jiān)控,完成所有功能需要24個(gè)i/o口,由于凌陽(yáng)spce061a單片機(jī)提供32個(gè)i/o口,一片即可實(shí)

26、現(xiàn)所有功能,這為設(shè)計(jì)過(guò)程提供了極大方便。其主要設(shè)計(jì)思想是:在小車上安裝一個(gè)霍爾元件,利用單片機(jī)的iob3外部中斷判別輪胎轉(zhuǎn)數(shù)的結(jié)果用來(lái)計(jì)算路程;安裝兩個(gè)檢測(cè)障礙物的光電檢測(cè)器和一個(gè)碰撞開(kāi)關(guān),利用iob5、iob6用掃描的方式來(lái)控制拐彎和返回;安裝一個(gè)金屬傳感器用來(lái)檢測(cè)軌道上的小鐵塊,并用一個(gè)電機(jī)來(lái)控制電磁鐵的升降來(lái)拾起軌道上的小鐵塊。再安裝了一個(gè)黑白傳感器用來(lái)判斷裝小鐵塊的盒子的位置,讓其能夠正確的落入盒子里面。利用單片機(jī)的iob8-iob13控制繼電器選擇小車的正、反向和左、右轉(zhuǎn);凌陽(yáng)spce061a十六位單片機(jī)提供了豐富的時(shí)基信源和時(shí)基中斷,給設(shè)計(jì)者以大量的選擇空間,并給設(shè)計(jì)者提供精確的時(shí)

27、基計(jì)數(shù),其加減速通過(guò)大功率電阻消耗功率來(lái)實(shí)現(xiàn)。3.2 傳感器原理及應(yīng)用在當(dāng)今信息化時(shí)代發(fā)展過(guò)程中,各種信息的感知、采集、轉(zhuǎn)換、傳輸和處理的功能器件傳感器,已經(jīng)成為各個(gè)應(yīng)用領(lǐng)域,特別是自動(dòng)檢測(cè)、自動(dòng)控制系統(tǒng)中不可缺少的重要技術(shù)工具。傳感器是信息采集系統(tǒng)的首要部件,是實(shí)現(xiàn)現(xiàn)代化測(cè)量和自動(dòng)控制(包括遙感、遙測(cè)、遙控)的主要環(huán)節(jié),是現(xiàn)代信息產(chǎn)業(yè)的源頭,又是信息社會(huì)賴以存在和發(fā)展的物質(zhì)基礎(chǔ)與技術(shù)基礎(chǔ)。3.2.1 傳感器的定義與組成傳感器(ransducer或sensor)有時(shí)亦被稱為換能器、變換器、變送器或探測(cè)器。主要特征是能感知和檢測(cè)某一形態(tài)的信息,并將其轉(zhuǎn)換成另一形態(tài)信息。因此傳感器是指那些對(duì)被測(cè)對(duì)

28、象的某一確定的信息具有感受(或響應(yīng))與檢出功能,并使之按照一定規(guī)律轉(zhuǎn)換成與之對(duì)應(yīng)的有用輸出信號(hào)的元器件或裝置。 圖2 傳感器組成框圖傳感器一般是利用物理、化學(xué)和生物等學(xué)科的某些效應(yīng)或機(jī)理按照一定的工藝和結(jié)構(gòu)研制出來(lái)的。因此,傳感器的主成的細(xì)節(jié)有較大差異,但是,總的來(lái)說(shuō),傳感器應(yīng)由敏感元件、轉(zhuǎn)換元件和其他輔助部件主成,如圖2所示。敏感元件是指?jìng)鞲衅髦心苤苯痈惺埽ɑ蝽憫?yīng))與檢出被測(cè)對(duì)象的待測(cè)信息(非電量)的部分,轉(zhuǎn)換元件是指?jìng)鞲衅髦心軐⒚舾性惺埽ɑ蝽懀┏龅男畔⒅苯愚D(zhuǎn)換成電信號(hào)的部分。3.2.2 傳感器分類傳感器的品種很多,原理各異,因此可以把傳感器分成大類:(1) 按工作機(jī)理分類,這種分類方

29、法是以其原理劃分,將物理、化學(xué)和生物等學(xué)科的原理、規(guī)律、效應(yīng)作為分類依據(jù)。(2) 按被測(cè)量分類,這種分類方法是按被測(cè)量的性質(zhì)不同而劃分。目前把不同的被測(cè)量的傳感器分為物理傳感器、化學(xué)量傳感器和生物傳感器三大類。(3) 按敏感材料分類,這種分類方法是按制造傳感器的材料分類。(4) 按能量關(guān)系分類,根據(jù)能量關(guān)系分類,可將傳感器分為有源傳感器和無(wú)源傳感器兩大類。3.3 光電傳感器光電檢測(cè)器是一種將光量的變化轉(zhuǎn)換為電量變化的傳感器。它的物理基礎(chǔ)就是光電效應(yīng)。光電效應(yīng)分為外光電效應(yīng)和內(nèi)光電效應(yīng)。 圖3 檢測(cè)器接線圖光電檢測(cè)器的工作原理:當(dāng)外加電壓一定時(shí),當(dāng)電流的大小和入射光的強(qiáng)度成正比例,這樣光電檢測(cè)器

30、能把強(qiáng)弱變換的光轉(zhuǎn)換成強(qiáng)弱變換的電流。在本系統(tǒng)中,為了確定障礙物,加入障礙物檢測(cè)的光電傳感器,根據(jù)小車所處的位置改變行駛狀態(tài),所使用的光電傳感器為市場(chǎng)上普通的光電傳感器,其型號(hào)為764型輸出形式為晶體管集電極開(kāi)路輸出。接4.7k的上拉電阻,測(cè)量范圍為1.5 18.5cm,實(shí)際安裝距地面為2cm。在沒(méi)檢測(cè)到障礙物時(shí)uo輸出為低電平,在檢測(cè)到障礙物時(shí)uo將與傳感器內(nèi)部電路斷開(kāi),因而加一個(gè)上拉電阻,此時(shí)將輸出高電平。把光電檢測(cè)器輸出的信號(hào)接入spce061a單片機(jī)的iob5和iob6口,用來(lái)控制小車的兩個(gè)電機(jī)正反轉(zhuǎn)動(dòng),使小車能夠避開(kāi)障礙物。在檢測(cè)障礙物的過(guò)程中采用查詢方式(即隨著小車的運(yùn)行軌跡,光電

31、傳感器便檢測(cè)小車前方有無(wú)障礙物,直到檢測(cè)到障礙物時(shí)就發(fā)出指令,使小車避開(kāi)障礙物,隨后繼續(xù)檢測(cè)直到小車停止)。光電探測(cè)器的性能參數(shù):(1) 積分靈敏度r:靈敏度也常稱作響應(yīng)度,它是光電探測(cè)器光電轉(zhuǎn)換特性的量度。(2) 光譜靈敏度r。 (3) 頻率靈敏度r(響應(yīng)頻率f和響應(yīng)時(shí)間t)。(4) 量子效率描述。(5) 通量閥p和噪聲等效功率nep。 3.4 霍爾傳感器霍爾傳感器是利用霍爾效應(yīng)實(shí)現(xiàn)磁電轉(zhuǎn)換的一種傳感器,它具有靈敏度高、線形度好、穩(wěn)定性高、體積小和耐高溫等特性,它已經(jīng)廣泛應(yīng)用于非電量測(cè)量、自動(dòng)控制、計(jì)算機(jī)裝置和現(xiàn)代軍事技術(shù)等各個(gè)領(lǐng)域?;魻栃?yīng)是半導(dǎo)體中自由電荷受磁場(chǎng)中洛侖茲力作用而產(chǎn)生的。設(shè)

32、霍爾元件為n型半導(dǎo)體,當(dāng)它通以電流i時(shí),半導(dǎo)體中的自由電荷即載流子受到磁場(chǎng)中洛侖茲力的作用,其大小為 =-evb (1)式中v為電子速度,b為垂直于霍爾元件表面的磁感應(yīng)強(qiáng)度。使電子向垂直于b和自由電子運(yùn)動(dòng)方向偏移,其方向符合右手螺旋定律,即電子有向某一端積聚的顯現(xiàn),使半導(dǎo)體一端面產(chǎn)生負(fù)電荷積聚,另一端面則為正電荷積聚。由于電荷積聚,產(chǎn)生靜電場(chǎng),即為霍爾電場(chǎng)。該靜電場(chǎng)對(duì)電子的作用力與洛侖茲力方向相反,將阻止電子繼續(xù)偏轉(zhuǎn),其大小為=-e=-e (2)式中為霍爾電場(chǎng),e為電子電量。3.5 紅外探測(cè)器紅外輻射就是紅外光,其波長(zhǎng)從11000um。紅外輻射的物理本質(zhì)是熱輻射。物體的溫度越高,輻射的紅外線越

33、多,紅外輻射的能量就越強(qiáng)。紅外光具有反射、折射、散射、干涉、吸收等特性。紅外輻射的基本定律:(1) 基爾霍夫定律,它指出,一個(gè)物體向周圍輻射熱能的同時(shí)也吸收周圍物體的輻射能。如果幾個(gè)物體處于同一溫度場(chǎng)中,各物體的熱發(fā)射本領(lǐng)正比于它的吸收本領(lǐng),這就是基爾霍夫定律,可由下式表示:,式中是物體在單位面積和單位時(shí)間內(nèi)發(fā)射出的輻射能;是物體的吸收系數(shù);是常數(shù),其值等于黑體在相同條件下發(fā)射出的輻射能。黑體是在任何溫度下全部吸收任何波長(zhǎng)輻射的物體,黑體的吸收本領(lǐng)與波長(zhǎng)和溫度無(wú)關(guān),即=1。黑體吸收本領(lǐng)最大,但是加熱后,它的發(fā)射熱輻射也比任何物體都要大。(2) 斯芯藩-波爾茲曼定律,物體溫度越高,它輻射出來(lái)的能

34、量越大??捎孟旅娴墓奖硎荆?式中是某物體在溫度t時(shí)單位面積和單位時(shí)間的紅外輻射總能量;是斯芯藩-波爾茲曼常數(shù)(=5.6697w/);是比輻射率,即物體表面輻射本領(lǐng)與黑體輻射本領(lǐng)之比值,黑體的=1;t是物體的絕對(duì)溫度。物體溫度越高,其表面所輻射的能量就越大。(3) 維恩位移定律,熱輻射發(fā)射的電磁波中包含著各種波長(zhǎng)。實(shí)驗(yàn)證明,物體峰值輻射波長(zhǎng)與物體的自身的絕對(duì)溫度t成反比。即=(),稱為維恩位移定律。它的峰值輻射波長(zhǎng)隨溫度升高向短波方向偏移。當(dāng)溫度不很高時(shí),峰值輻射波長(zhǎng)在紅外區(qū)域。紅外探測(cè)器是紅外檢測(cè)系統(tǒng)中最重要的器件之一,按工作原理可分為“熱探測(cè)器”和“光子探測(cè)器”兩類。(1) 熱探測(cè)器 熱探

35、測(cè)器在吸收紅外輻射能后溫度升高,引起某種物理性質(zhì)的變化,這種變換與吸收的紅外輻射能成一定的關(guān)系。常用的物理現(xiàn)象有溫差熱電現(xiàn)象、金屬或半導(dǎo)體電阻阻值變化現(xiàn)象、熱濕電現(xiàn)象、氣體壓強(qiáng)變化現(xiàn)象、金屬熱膨脹現(xiàn)象、液體薄膜蒸發(fā)現(xiàn)象。因此只要檢測(cè)出上述變化,即可確定被吸收的收紅外輻射能大小,從而得到被測(cè)非電量值。熱電探測(cè)器主要有熱敏電阻型、熱電偶型、高萊氣動(dòng)型和熱濕電型。熱濕電型探測(cè)器:熱濕電型探測(cè)器是一種具有極化現(xiàn)象的熱晶體或稱“鐵電體”。鐵電體的極化強(qiáng)度(單位面積上的電荷)與溫度有關(guān)。當(dāng)紅外輻射照射到已經(jīng)極化的鐵電體薄片表面上時(shí),引起薄片溫度升高,使其極化強(qiáng)度降底,表面電荷減少,這相當(dāng)于釋放一部分電荷,

36、所以叫熱濕電型探測(cè)器。(2) 光子探測(cè)器 光子探測(cè)器是利用某些半導(dǎo)體材料在入射光的照射下,產(chǎn)生光子效應(yīng),使材料電學(xué)性質(zhì)發(fā)生變化。通過(guò)對(duì)電學(xué)性質(zhì)變化的探測(cè),可以了解紅外輻射的強(qiáng)弱。利用光子效應(yīng)所制成的紅外探測(cè)器,統(tǒng)稱光子探測(cè)器。其主要特點(diǎn)是靈敏度高,響應(yīng)速度快,具有較高的響應(yīng)頻率。但它一般需在底溫下工作,探測(cè)波段較窄。按照光子探測(cè)器的工作原理,一般可分為內(nèi)光探測(cè)器和外光探測(cè)器兩種,前者又分為光電導(dǎo)探測(cè)器、光電伏特器和光磁電探測(cè)器三種。3.6 行駛路程計(jì)算為了能準(zhǔn)確的計(jì)算出小車行駛的路程,用霍爾傳感器來(lái)檢測(cè)小車車輪轉(zhuǎn)過(guò)的轉(zhuǎn)數(shù)n,然后測(cè)量出小車車輪的周長(zhǎng)r,而小車所行駛的路程s=n*r?;魻栐褪?/p>

37、一種很好的可用于車輪轉(zhuǎn)數(shù)計(jì)數(shù)的元件。在普通轉(zhuǎn)盤計(jì)數(shù)的儀表中加裝霍爾元件和磁鐵,即可構(gòu)成基于磁電轉(zhuǎn)換技術(shù)的傳感器。霍爾元件固定安裝在計(jì)數(shù)轉(zhuǎn)盤附近,永磁鐵安裝在計(jì)數(shù)盤位上,當(dāng)轉(zhuǎn)盤每轉(zhuǎn)一圈,永磁鐵經(jīng)過(guò)霍爾元件一次即在信號(hào)端產(chǎn)生一個(gè)計(jì)量脈沖。由于霍爾電壓很微弱(mv級(jí)),需用霍爾集成電路進(jìn)行處理,如圖4所示。無(wú)論信號(hào)轉(zhuǎn)子的哪個(gè)葉片通過(guò)空氣間隙時(shí),霍爾信號(hào)發(fā)生器都將產(chǎn)生一個(gè)電位由高到低的脈沖信號(hào)直接送iob3作外部中斷源,信號(hào)轉(zhuǎn)子通過(guò)霍爾元件將產(chǎn)生一個(gè)中斷,此中斷的個(gè)數(shù)即為車輪轉(zhuǎn)過(guò)的轉(zhuǎn)數(shù)。把此轉(zhuǎn)數(shù)送到定義好的顯示函數(shù)中,并與初始化時(shí)測(cè)量到車輪周長(zhǎng)的值相乘,最后把結(jié)果送入lg5641ah進(jìn)行動(dòng)態(tài)顯示。 圖

38、4 霍爾元件接線圖3.7 顯示路程所謂led顯示就是通過(guò)發(fā)光二極管芯片的適當(dāng)連接(包括串聯(lián)和并聯(lián))和適當(dāng)?shù)墓鈱W(xué)結(jié)構(gòu),可構(gòu)成發(fā)光顯示器的發(fā)光段或發(fā)光點(diǎn)。由這些發(fā)光段或發(fā)光點(diǎn)可以組成數(shù)碼管、符號(hào)管、米字管、矩陣管、電平顯示器管等等。通常把數(shù)碼管、符號(hào)管、米字管共稱筆畫顯示器,而把筆畫顯示器和矩陣管統(tǒng)稱為字符顯示器。led顯示器結(jié)構(gòu)基本的半導(dǎo)體數(shù)碼管是由七個(gè)條狀發(fā)光二極管芯片排列而成的,可實(shí)現(xiàn)09的顯示。其具體結(jié)構(gòu)有反射罩式、條形七段式、單片集成式多位數(shù)字式等。 (1) 反射罩式數(shù)碼管一般用白色塑料做成帶反射腔的七段式外殼,將單個(gè)led貼在與反射罩的七個(gè)反射腔互相對(duì)位的印刷電路板上,每個(gè)反射腔底部的

39、中心位置就是led芯片。在裝反射罩前,用壓焊方法在芯片和印刷電路上相應(yīng)金屬條之間連好30m的硅鋁絲或金屬引線,在反射罩內(nèi)滴入環(huán)氧樹脂,再把帶有芯片的印刷電路板與反射罩對(duì)位粘合,然后固化。反射罩式數(shù)碼管的封裝方式有空封和實(shí)封兩種。實(shí)封方式采用散射劑和染料的環(huán)氧樹脂,較多地用于一位或雙位器件??辗夥绞绞窃谏戏缴w上濾波片和勻光膜,為提高器件的可靠性,必須在芯片和底板上涂以透明絕緣膠,這還可以提高光效率。這種方式一般用于四位以上的數(shù)字顯示(或符號(hào)顯示)。 (2) 條形七段式數(shù)碼管屬于混合封裝形式。它是把做好管芯的磷化鎵或磷化鎵圓片,劃成內(nèi)含一只或數(shù)只led發(fā)光條,然后把同樣的七條粘在日字形“可伐”框上

40、,用壓焊工藝連好內(nèi)引線,再用環(huán)氧樹脂包封起來(lái)。 (3) 單片集成式多位數(shù)字顯示器是在發(fā)光材料基片上(大圓片),利用集成電路工藝制作出大量七段數(shù)字顯示圖形,通過(guò)劃片把合格芯片選出,對(duì)位貼在印刷電路板上,用壓焊工藝引出引線,再在上面蓋上“魚眼透鏡”外殼,它們適用于小型數(shù)字儀表中。(4) 符號(hào)管、米字管的制作方式與數(shù)碼管類似。 (5) 矩陣管(發(fā)光二極管點(diǎn)陣)也可采用類似于單片集成式多位數(shù)字顯示器工藝方法制。led顯示器分類: (1) 按字高分,筆畫顯示器字高最小有1mm(單片集成式多位數(shù)碼管字高一般在23mm)。其他類型筆畫顯示器最高可達(dá)12.7mm(0.5英寸)甚至達(dá)數(shù)百mm。 (2) 按顏色分

41、有紅、橙、黃、綠等數(shù)種。 (3) 按結(jié)構(gòu)分有反射罩式、單條七段式及單片集成式。 (4) 從各發(fā)光段電極連接方式分有共陽(yáng)極和共陰極兩種。 所謂共陽(yáng)方式是指筆畫顯示器各段發(fā)光管的陽(yáng)極(即p區(qū))是公共的,而陰極互相隔離。 所謂共陰方式是筆畫顯示器各段發(fā)光管的陰極(即n區(qū))是公共的,而陽(yáng)極是互相隔離的。 圖5 led動(dòng)態(tài)掃描驅(qū)動(dòng)法動(dòng)態(tài)掃描驅(qū)動(dòng)方法 如圖5為動(dòng)態(tài)掃描驅(qū)動(dòng)方法接線圖。圖中的數(shù)碼管的陰極是否接地,由a1、a2控制開(kāi)關(guān)晶體管t1/t2導(dǎo)通或截止來(lái)決定。如果在第(1)個(gè)數(shù)碼管顯示“1”,第(2)個(gè)數(shù)碼管顯示“2”,必須首先a1為高電平,a2為低電平。這樣就選擇了第(1)個(gè)數(shù)碼管,而關(guān)閉了第(2)

42、個(gè)數(shù)碼管。驅(qū)動(dòng)電路在b、c段送高電平,其余段送低電平。這樣第(1)個(gè)數(shù)碼管就顯示了“1”,由于t2截止,第(2)個(gè)數(shù)碼管不可能亮。等待一定時(shí)間后,使a1為低電平,a2為高電平,選擇了第(2)個(gè)數(shù)碼管驅(qū)動(dòng)電路在a、b、d、e、g段送高電平,其余段送低電平。這樣第(2)個(gè)數(shù)碼管就顯示了“2”,同樣,由于t1截止,不可能在第一個(gè)數(shù)碼管上顯示。等待一段時(shí)間后又從新選擇第(1)個(gè)數(shù)碼管并顯示“1”。只要重復(fù)頻率超過(guò)一定的數(shù)值(大于24hz)利用人眼的殘留效應(yīng),就看到了第(1)個(gè)數(shù)碼管顯示的“1”,第(2)個(gè)數(shù)碼管顯示的“2”。用這種驅(qū)動(dòng)方法占用的輸出驅(qū)動(dòng)線少,僅為7加數(shù)碼管個(gè)數(shù),缺點(diǎn)是亮度較低。 圖6

43、led外圍接線圖本系統(tǒng)采用共陰極數(shù)碼管lg564h進(jìn)行動(dòng)態(tài)顯示,lg5641ah具有四位數(shù)碼管,這四個(gè)數(shù)碼管的段選a、b、c、d、e、f、g分別接在一起,每一個(gè)都擁有一個(gè)共陰的位選端,通過(guò)動(dòng)態(tài)顯示可輪流顯示時(shí)間和路程,這有利于節(jié)省i/o口。如圖6所示的精度為1s,顯示路程的精度為0.01m。用iob8iob11口作為位選控制, ioa8ioa11口傳輸要顯示的數(shù)據(jù),數(shù)據(jù)線和位選線直接接凌陽(yáng)spce061a單片機(jī)的i/o口即可,因?yàn)閕/o口輸出電流很小不會(huì)對(duì)led造成損壞,它的電壓值卻足以驅(qū)動(dòng)led,這不像別的單片機(jī)還要外接驅(qū)動(dòng)電路和電阻,采用凌陽(yáng)spce061a單片機(jī)大大減化了設(shè)計(jì)過(guò)程和硬件電

44、路。4 中斷系統(tǒng)4.1 中斷的概述中斷是為處理器對(duì)外界異步事件具有處理能力而設(shè)置的,中斷技術(shù)的引入把計(jì)算機(jī)的發(fā)展和應(yīng)用大大地推進(jìn)一步。因此中斷功能的強(qiáng)弱已成為衡量一臺(tái)計(jì)算機(jī)性能的重要指標(biāo)。(1) 中斷中斷是指計(jì)算機(jī)在執(zhí)行某一程序的過(guò)程中,由于計(jì)算機(jī)系統(tǒng)內(nèi)、外的某種原因,而必須終止原程序的執(zhí)行,轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束之后再回來(lái)繼續(xù)執(zhí)行被終止的原程序過(guò)程。 中斷技術(shù)能實(shí)現(xiàn)cpu與外部設(shè)備的并行工作,提高cpu的利用率以及數(shù)據(jù)的輸入/輸出效率;中斷技術(shù)也能對(duì)計(jì)算機(jī)運(yùn)行過(guò)程中突然發(fā)生的故障做到及時(shí)發(fā)現(xiàn)并進(jìn)行自動(dòng)處理如:硬件故障、運(yùn)算錯(cuò)誤及程序故障等;中斷技術(shù)還能使我們通過(guò)鍵盤向計(jì)算機(jī)發(fā)出請(qǐng)

45、求,隨時(shí)對(duì)運(yùn)行中的計(jì)算機(jī)進(jìn)行干預(yù),而不用先停機(jī),然后再重新開(kāi)機(jī)等等。(2) 中斷源中斷源是指在計(jì)算機(jī)系統(tǒng)中向cpu發(fā)出中斷請(qǐng)求的來(lái)源,中斷源可以人為設(shè)定,也可以 是為響應(yīng)突發(fā)性隨機(jī)事件而設(shè)置。如定時(shí)器中斷,它的中斷源即是定時(shí)器。(3) 中斷優(yōu)先級(jí)由于在實(shí)際的系統(tǒng)中,往往有多個(gè)中斷源,且中斷申請(qǐng)是隨機(jī)的,有時(shí)可能會(huì)有多個(gè)中斷源同時(shí)提出中斷申請(qǐng),但cpu一次只能響應(yīng)一個(gè)中斷源發(fā)出的中斷請(qǐng)求,這時(shí)cpu應(yīng)響應(yīng)那個(gè)中斷請(qǐng)求?這就需要用軟件或硬件按中斷源工作性質(zhì)的輕重緩急,給它們安排一個(gè)優(yōu)先順序,即所謂的優(yōu)先級(jí)排隊(duì)。中斷優(yōu)先級(jí)越高,則響應(yīng)優(yōu)先權(quán)就越高。當(dāng)cpu正執(zhí)行中斷服務(wù)程序時(shí),又有中斷優(yōu)先級(jí)更高的中

46、斷申請(qǐng)產(chǎn)生,如果cpu能夠暫停對(duì)原來(lái)的中斷處理程序,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷請(qǐng)求,處理完畢后,再回到原低級(jí)中斷處理程序,這一過(guò)程稱為中斷嵌套。具有這種功能的中斷系統(tǒng)稱為多級(jí)中斷系統(tǒng);沒(méi)有中斷嵌套功能的則稱為單級(jí)中斷系統(tǒng)。(4) 斷響應(yīng)過(guò)程1) 在每條指令結(jié)束后系統(tǒng)都自動(dòng)檢測(cè)中斷請(qǐng)求信號(hào),如果有中斷請(qǐng)求,相應(yīng)的中斷允許位為真(許中斷),相應(yīng)的總中斷允許位為真(允許中斷),則響應(yīng)中斷。 2) 保護(hù)現(xiàn)場(chǎng),cpu一旦響應(yīng)中斷,中斷系統(tǒng)會(huì)自動(dòng)的保存當(dāng)前的pc和sr寄存器(入棧進(jìn)入中斷服務(wù)程序地址入口,中斷服務(wù)程序中可以通過(guò)入棧保護(hù)原程序中用到的數(shù)據(jù), 保護(hù)現(xiàn)場(chǎng)前,一般要關(guān)中斷以防止現(xiàn)場(chǎng)被破壞。3) 中

47、斷服務(wù),即為相應(yīng)的中斷源服務(wù)。 4) 清相應(yīng)的中斷請(qǐng)求標(biāo)志位,以免cpu總是執(zhí)行該中斷。 5) 恢復(fù)現(xiàn)場(chǎng),用堆棧指令將保護(hù)在堆棧中的數(shù)據(jù)彈出來(lái),在恢復(fù)現(xiàn)場(chǎng)前要關(guān)中斷,以防止現(xiàn)場(chǎng)被破壞,在恢復(fù)現(xiàn)場(chǎng)后應(yīng)及時(shí)開(kāi)中斷。 6) 返回,此時(shí)cpu將pc指針和sr內(nèi)容出?;謴?fù)斷點(diǎn),從而使cpu繼續(xù)執(zhí)行剛才被中斷的程序。 在單片機(jī)中,中斷技術(shù)主要用于實(shí)時(shí)控制。所謂實(shí)時(shí)控制,就是要求單片機(jī)能及時(shí)地響應(yīng)被控對(duì)象提出的分析、計(jì)算和控制等請(qǐng)求,使被控對(duì)象保持在最佳工作狀態(tài),以達(dá)到預(yù)定的控制效果。由于這些控制參量的請(qǐng)求都是隨機(jī)發(fā)出的,而且要求單片機(jī)必須作出快速響應(yīng)并及時(shí)處理,對(duì)此,只有靠中斷技術(shù)才能實(shí)現(xiàn)。4.2 spc

48、e061a的中斷系統(tǒng)spce061a系列單片機(jī)中斷系統(tǒng),是凌陽(yáng)16位單片機(jī)中中斷功能較強(qiáng)的一種,它可以提供14個(gè)中斷源,具有兩個(gè)中斷優(yōu)先級(jí),可實(shí)現(xiàn)兩級(jí)中斷嵌套功能。用戶可以用關(guān)中斷指令(或復(fù)位)屏蔽所有的中斷請(qǐng)求,也可以用開(kāi)中斷指令使cpu接受中斷申請(qǐng)。每一個(gè)中斷源可以用軟件獨(dú)立控制為開(kāi)或關(guān)中斷狀態(tài);但中斷級(jí)別不可用軟件設(shè)置。 spce061a的中斷類型 給出了三種類型的中斷:軟件中斷、異常中斷和事件中斷。 (1) 軟件中斷 軟件中斷是由軟件指令break產(chǎn)生的中斷。軟件中斷的向量地址為fff5h。(2) 異常中斷 異常中斷表示為非常重要的事件,一旦發(fā)生,cpu必須立即進(jìn)行處理。目前spce0

49、61a定義的異常中斷只有復(fù)位一種。通常,spce061a系統(tǒng)復(fù)位可以由以下三種情況引起:上電、看門狗計(jì)數(shù)器溢出以及系統(tǒng)電源低于電壓低限。不論什么情況引起復(fù)位,都會(huì)使復(fù)位引腳的電位變低,進(jìn)而使程序指針pc指向由一個(gè)復(fù)位向量(fff7h)所指的系統(tǒng)復(fù)位程序入口地址。 (3) 事件中斷 事件中斷(可簡(jiǎn)稱“中斷”,以下提到的“中斷”均為事件中斷)一般產(chǎn)生于片內(nèi)設(shè)部件或由外設(shè)中斷輸入引腳引入的某個(gè)事件。這種中斷的開(kāi)通/禁止,由相應(yīng)獨(dú)立使能和相應(yīng)的irq或fiq總使能控制。 spce061a的事件中斷可采用兩種方式:快速中斷請(qǐng)求即fiq中斷和中斷請(qǐng)求即irq中斷。這兩種中斷都有相應(yīng)的總使能。 中斷向量和中

50、斷源: 共有9個(gè)中斷向量即fiq、irq0irq6及uart irq。這9個(gè)中斷向量共可安置14個(gè)中斷源供用戶使用,其中有3個(gè)中斷源可安置在fiq或irq0irq2中,另有10個(gè)中斷源則可安置在irq3irq6中。 表3 中斷控制表中斷源中斷優(yōu)先級(jí)中斷向量保留字fosc/1024溢出信號(hào) fiq/irq0 fff8h/fff6h _fiq/_irq0 timera溢出信號(hào)fiq /irq1 fff9h/fff6h _fiq/_irq1 timerb溢出信號(hào)fiq /irq2 fffah/fff6h _fiq/_irq2 外部時(shí)鐘源輸入信號(hào)irq3 fffbh _irq3 外部時(shí)鐘源輸入 信號(hào)e

51、xt1 4096hz時(shí)基信號(hào)irq4 fffch _irq4 2048hz時(shí)基信號(hào)1024hz時(shí)基信號(hào)4hz時(shí)基信號(hào)irq5 fffdh _irq5 2hz時(shí)基信號(hào)頻選信號(hào)tmb1 irq6 fffeh _irq6 spce061a單片機(jī)的中斷系統(tǒng)有14個(gè)中斷源分為兩個(gè)定時(shí)器溢出中斷、兩個(gè)外部中斷、一個(gè)串行口中斷、一個(gè)觸鍵喚醒中斷、7個(gè)時(shí)基信號(hào)中斷、pwm音頻輸出中斷。從表中可以看到每個(gè)中斷入口地址對(duì)應(yīng)多個(gè)中斷源,因此在中斷服務(wù)程序中需通過(guò)查詢中斷請(qǐng)求位來(lái)判斷是那個(gè)中斷源請(qǐng)求的中斷。如上表3所示。spce061a單片機(jī)有多個(gè)中斷源,為了使每個(gè)中斷源都能獨(dú)立地被開(kāi)放和屏蔽,以便用戶能靈活使用,它

52、在每個(gè)中斷信號(hào)的通道中設(shè)置了一個(gè)中斷屏蔽觸發(fā)器,只有該觸發(fā)器無(wú)效,它所對(duì)應(yīng)的中斷請(qǐng)求信號(hào)才能進(jìn)入cpu,即此類型中斷開(kāi)放。否則即使其對(duì)應(yīng)的中斷請(qǐng)求標(biāo)志位置“1”,cpu也不會(huì)響應(yīng)中斷,即此類型的中斷被屏蔽。同時(shí)cpu內(nèi)還設(shè)置了一個(gè)中斷允許觸發(fā)器,它控制cpu能否響應(yīng)中斷。spce061a對(duì)中斷源的開(kāi)放和屏蔽,以及每個(gè)中斷源是否被允許中斷,都受中斷允許寄存器p_int_ctrl和p_int_clear及p_int_ctrl_new控制和一些中斷控制指令。(1) 中斷控制單元p_int_ctrl(讀/寫)(7010h) 當(dāng)寫中斷控制單元中的某位為“1”時(shí),即允許該位所代表的中斷被開(kāi)放,并關(guān)閉屏蔽中

53、斷觸發(fā)器,此時(shí)當(dāng)有該中斷申請(qǐng)時(shí),cpu會(huì)響應(yīng)。否則如果該位被置0則禁止該位所代表的中斷。即使有中斷申請(qǐng),cpu也不會(huì)響應(yīng)。 當(dāng)讀取中斷控制單元時(shí),其主要作為中斷標(biāo)志,因?yàn)槠涿恳晃痪硪粋€(gè)中斷,當(dāng)cpu響應(yīng)某中斷時(shí),便將該中斷標(biāo)志置“1”,即將p_int_ctrl中的某位置“1”,可以通過(guò)讀取該寄存器來(lái)確定cpu響應(yīng)的中斷。 (2) 清除中斷標(biāo)志控制單元p_int_clear(寫)(7011h) 清除中斷標(biāo)志控制單元主要用于清除中斷控制標(biāo)志位,當(dāng)cpu響應(yīng)中斷后,會(huì)將中斷標(biāo)志置因?yàn)閜_int_clear寄存器的每一位均對(duì)應(yīng)一個(gè)中斷,所以如果想清除某個(gè)中斷狀態(tài)標(biāo)志,只要將該寄存器中對(duì)應(yīng)的中斷位置

54、1即可清除該中斷狀態(tài)標(biāo)志位。該寄存器只有寫的屬性,讀該寄存器是無(wú)任何意義的。 (3) 激活和屏蔽中斷控制單元p_int_ctrl_new(讀/寫)($702dh) 當(dāng)寫該控制單元時(shí),與p_int_ctrl功能相似。讀該控制單元時(shí),只作為了解激活那一中斷的功能使用。4.3 中斷服務(wù)流程(1) 中斷入口所謂中斷的入口即中斷的入口地址,每個(gè)中斷源都有自己的入口地址,當(dāng)cpu響應(yīng)中斷后,就是通過(guò)中斷入口地址進(jìn)入中斷服務(wù)程序。 (2) 關(guān)中斷和開(kāi)中斷 在一個(gè)中斷執(zhí)行過(guò)程中又可能有新的中斷請(qǐng)求,但對(duì)于重要的中斷必須執(zhí)行到底,不允許被其它的中斷所嵌套。如fiq中斷,對(duì)此,可以采用關(guān)閉中斷的方法來(lái)解決,如在irq中斷中不允許fiq中斷嵌套,就可以在irq中斷中關(guān)閉中斷,當(dāng)中斷服務(wù)程序執(zhí)行結(jié)束后,再打開(kāi)中斷

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論