[畢業(yè)論文]多功能語音控制小車軟件設(shè)_第1頁
[畢業(yè)論文]多功能語音控制小車軟件設(shè)_第2頁
[畢業(yè)論文]多功能語音控制小車軟件設(shè)_第3頁
[畢業(yè)論文]多功能語音控制小車軟件設(shè)_第4頁
[畢業(yè)論文]多功能語音控制小車軟件設(shè)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

5、ce061a概述隨著單片機功能集成化的發(fā)展,其應(yīng)用領(lǐng)域也逐步的由傳統(tǒng)的控制擴(kuò)展為控制處理、數(shù)據(jù)處理以及數(shù)值信號處理(dsp,digital signal processing)等領(lǐng)域。凌陽16位單片機就是為適應(yīng)這種發(fā)展而設(shè)計的。它的cpu內(nèi)核采用凌陽最新推出的(microcontroller and signal processor)16位微處理器芯片。spce061a中只內(nèi)嵌32k字的閃存flash rom。較高的處理速度使能非常容易地、快速地處理復(fù)雜的數(shù)字信號。因此spce061a微控制也特別適合在數(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,僅占一頁存儲空間;32位可編程的多功能i/o端口;兩個16位定時器/計數(shù)器;32768hz實時時鐘;低電壓復(fù)位/低電壓檢測功能,8通道10位模/數(shù)轉(zhuǎn)換輸入并具有內(nèi)置自動增益控制功能的麥克風(fēng)輸入方式;雙通道10位dac方式的音頻輸出功能等。spce061a尤其適合于數(shù)字聲音和音識別領(lǐng)域。1.2 spce061a主要性能(1) 16位nsp微處理器;(2) 工作電壓(cpu) vdd為2.43.6v (i/o) vddh為2.45.5v;(3) cpu時鐘:0.32mhz49.152mh

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

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

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

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

11、屬性向量attribution和方向控制向量direction。3個端口內(nèi)每個對應(yīng)的位組合在一起,形成一個控制字,用來定義相應(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輸入懸浮的輸入口無100輸出經(jīng)數(shù)據(jù)反相器輸出高電平無101輸出經(jīng)數(shù)據(jù)反相器輸出低電平無110輸出經(jīng)

12、數(shù)據(jù)緩存器輸出低電平無111輸出經(jīng)數(shù)據(jù)緩存器輸出高電平無 direction的說明如下:(1) 方向向量_dir位:該位用于設(shè)定i/o口的對應(yīng)位是用做輸入還是用做輸出位,設(shè)置如下:0輸入,1輸出。(2) 屬性向量_attrib位:該位用于定義i/o口的工作方式,在i/o口位作為輸入和輸出時的作用不同。當(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)下被寫入時,與attrib位組合在一起形成輸入方式的控制字,其功能如下:

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

14、以直接通過引線(ioa0ioa6)輸入。另外一個通道只用于語音輸入,即通過內(nèi)置自動增益控制放大器的麥克風(fēng)通道(mic_in)輸入。實際上可以把模/數(shù)轉(zhuǎn)換器看作是一個實現(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采取自動方式工作。硬件adc的最高速率限定為(/32/16)hz,如果速率超過此值,當(dāng)從p_adc(讀)(7014h)單元讀出數(shù)據(jù)時會發(fā)生錯誤。在adc自動方式被啟用后,會產(chǎn)生出一個啟動信號,即rdy=0

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

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

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

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

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

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

21、,包括立即數(shù)到寄存器、寄存器到寄存器、寄存器到存儲器存儲器到寄存器的數(shù)據(jù)傳送操作; (2) 算術(shù)運算,包括加、減、乘運算; (3) 邏輯運算,包括與、或、異或、測試、移位等操作; (4) 轉(zhuǎn)移指令,包括條件轉(zhuǎn)移、無條件轉(zhuǎn)移、中斷返回、子程序調(diào)用等操作; (5) 控制指令,如開中斷、關(guān)中斷、fir濾波器的數(shù)據(jù)的自由移動等操作。 按尋址方式劃分,可分為以下幾類: 立即數(shù)尋址這種尋址方式是操作數(shù)以立即數(shù)的形式出現(xiàn),例如:r1 = 0x1234,是把16進(jìn)制數(shù)0x1234賦給寄存器r1。 存儲器絕對尋址這種尋址方式是通過存儲器地址來訪問存儲器中的數(shù)據(jù),例如:r1 = 0x2222,訪問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ù)傳送操作屬復(fù)制性質(zhì),而不是搬家性質(zhì)。指令執(zhí)行后,源操作數(shù)不變,目的操作數(shù)為源操作數(shù)所代替。通用格式是: = 源操作數(shù)可以是:立即數(shù)、寄存器直接尋址、寄存器間接尋址、直接地址尋址、變址尋址等。

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

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

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

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

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

28、象的某一確定的信息具有感受(或響應(yīng))與檢出功能,并使之按照一定規(guī)律轉(zhuǎn)換成與之對應(yīng)的有用輸出信號的元器件或裝置。 圖2 傳感器組成框圖傳感器一般是利用物理、化學(xué)和生物等學(xué)科的某些效應(yīng)或機理按照一定的工藝和結(jié)構(gòu)研制出來的。因此,傳感器的主成的細(xì)節(jié)有較大差異,但是,總的來說,傳感器應(yīng)由敏感元件、轉(zhuǎn)換元件和其他輔助部件主成,如圖2所示。敏感元件是指傳感器中能直接感受(或響應(yīng))與檢出被測對象的待測信息(非電量)的部分,轉(zhuǎn)換元件是指傳感器中能將敏感元件所感受(或響)出的信息直接轉(zhuǎn)換成電信號的部分。3.2.2 傳感器分類傳感器的品種很多,原理各異,因此可以把傳感器分成大類:(1) 按工作機理分類,這種分類方

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

53、斷觸發(fā)器,此時當(dāng)有該中斷申請時,cpu會響應(yīng)。否則如果該位被置0則禁止該位所代表的中斷。即使有中斷申請,cpu也不會響應(yīng)。 當(dāng)讀取中斷控制單元時,其主要作為中斷標(biāo)志,因為其每一位均代表一個中斷,當(dāng)cpu響應(yīng)某中斷時,便將該中斷標(biāo)志置“1”,即將p_int_ctrl中的某位置“1”,可以通過讀取該寄存器來確定cpu響應(yīng)的中斷。 (2) 清除中斷標(biāo)志控制單元p_int_clear(寫)(7011h) 清除中斷標(biāo)志控制單元主要用于清除中斷控制標(biāo)志位,當(dāng)cpu響應(yīng)中斷后,會將中斷標(biāo)志置因為p_int_clear寄存器的每一位均對應(yīng)一個中斷,所以如果想清除某個中斷狀態(tài)標(biāo)志,只要將該寄存器中對應(yīng)的中斷位置

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論