《蘇州大學(xué)嵌入式復(fù)習(xí)和習(xí)題.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《蘇州大學(xué)嵌入式復(fù)習(xí)和習(xí)題.ppt(35頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
單片機(jī)原理與嵌入式應(yīng)用,習(xí)題及復(fù)習(xí),考試題型,一.選擇題(每題2分,共30分)二、名詞解釋題(每題4分,共16分)三、簡(jiǎn)答題(每題6分,共24分)四、編程填空題.(10分)五、設(shè)計(jì)題.(10分)六、編程題.(10分),一、名詞解釋題,MCUCOP中斷中斷向量中斷服務(wù)程序SCI通用I/O鍵盤(pán)波特率,一、名詞解釋題,行掃描法行線定義為輸出,列線定義為輸入并接上拉電阻,每次一根行線輸出為0,其它為1,檢測(cè)列線的輸入的電平中是否有低電平,即邏輯值0,從而判斷鍵盤(pán)的按鍵是否被按下。LED位選線掃描法SPI是一種同步串行通信接口,發(fā)送數(shù)據(jù)不需要開(kāi)始位和結(jié)束位,嚴(yán)格地在主機(jī)的時(shí)鐘頻率下以相同的時(shí)序模式在單線上按照先高位后低位或者先低位后高位的一位一位地傳送。用于微處理器和外圍擴(kuò)展芯片之間的串行連接。A/D濾波物理量回歸PWM定時(shí)器:在確定時(shí)鐘頻率下,不斷加1,得到規(guī)定的計(jì)數(shù)大小,所經(jīng)歷的時(shí)間,用于MCU編程控制的模塊。上拉電阻:若MCU的某個(gè)輸入引腳通過(guò)一個(gè)電阻接到電源上(VCC)上,則這個(gè)電阻稱(chēng)為“上拉電阻”。,二、總體知識(shí),計(jì)算機(jī)是因科學(xué)家需要一個(gè)高速的計(jì)算工具而產(chǎn)生的,進(jìn)而寄予更多的要求,比如通信、測(cè)控等,出現(xiàn)微控制器(單片機(jī))。單片機(jī)(MCU)的基本含義在一片芯片上集成了中央處理單元(CPU)、存儲(chǔ)器(RAM/ROM/EPROM/FLASH等)、定時(shí)器/計(jì)數(shù)器及多種輸入輸出(I/O)接口的比較完整的數(shù)字處理系統(tǒng)嵌入式系統(tǒng)概念面向測(cè)控對(duì)象,嵌入到實(shí)際應(yīng)用系統(tǒng)中,實(shí)現(xiàn)嵌入式應(yīng)用的計(jì)算機(jī)稱(chēng)為嵌入式計(jì)算機(jī)系統(tǒng),簡(jiǎn)稱(chēng)嵌入式系統(tǒng)。,一個(gè)典型的MCU內(nèi)部框圖,與嵌入式軟件相關(guān)的術(shù)語(yǔ)工作方式:主循環(huán)、中斷、事件觸發(fā)等中斷(軟件中斷、硬件中斷、中斷源、中斷向量、中斷服務(wù)程序):指中央處理器CPU正在處理某件事情的時(shí)候,外部發(fā)生了某一事件,請(qǐng)求CPU迅速去處理,CPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)入處理所發(fā)生的事件,處理完后,再回到原來(lái)中斷的地方,繼續(xù)原來(lái)的工作,這樣的過(guò)程稱(chēng)為中斷。實(shí)現(xiàn)這種功能的部件稱(chēng)為中斷系統(tǒng),產(chǎn)生中斷的請(qǐng)求源稱(chēng)為中斷源。由軟件指令引起的一個(gè)程序的中斷則稱(chēng)為軟件中斷;而由某一特定功能引腳或基于芯片設(shè)備產(chǎn)生的中斷則稱(chēng)為硬件中斷。中斷向量:響應(yīng)特定中斷而運(yùn)行的一段程序所在的首地址RTOS,uCOS-II(一種操作系統(tǒng),運(yùn)行于嵌入式系統(tǒng)上,在可預(yù)測(cè)的時(shí)間間隔內(nèi),能對(duì)特定的事件做出反應(yīng))用MCU設(shè)計(jì)系統(tǒng)時(shí),選MCU要考慮的因素有哪些。選擇MCU時(shí)要考慮的因素有:處理性能、功耗、價(jià)格、封裝形式、軟硬件開(kāi)發(fā)工具、設(shè)計(jì)者的熟悉程度等。,AW60基本知識(shí),命名規(guī)則хххххххххххх①②③④⑤⑥⑦如:MC9S08AW60、MC9S08GB60、MC9RS08KA2①M(fèi)C、PC②是否有FLASH③核是HC08、HCS08、RS08等⑤存儲(chǔ)器的大小,存儲(chǔ)器(RAM/FLASH,512B/32KB)RAM:0 x0070~0 x086F(2K)FLASH:0 x0870~17FF(3984),0 x1860~FFFF(59296)地址大小的計(jì)算,如8位:$00~$FF大小為256B16位:$0000~$FFFF大小為64KBIO的種類(lèi):PTA、PTB、PTC、PTD、PTE、PTF、PTG(7種)大部分的口有引腳復(fù)用功能C、G都是7個(gè)引腳,其余都為8個(gè)引腳??刂祁?lèi)RST(復(fù)位)和IRQ(唯一只接收中斷的引腳),,,通用IO接口,通用I/O:是基本的輸入/輸出,有時(shí)也稱(chēng)并行I/O。作為通用輸入引腳時(shí),MCU內(nèi)部程序可以讀取該引腳,知道該引腳是“1”(高電平)或“0”(低電平),即開(kāi)關(guān)量輸入。作為通用輸出引腳時(shí),MCU內(nèi)部程序向該引腳輸出“1”(高電平)或“0”(低電平),即開(kāi)關(guān)量輸出。方向寄存器PTADD、PTBDD、…數(shù)據(jù)方向寄存器的一位:0—定義輸入,1—定義輸出數(shù)據(jù)寄存器PTAD、PTBD、…輸出時(shí):數(shù)據(jù)寄存器的一位:0—輸出低電平1—輸出高電平輸入時(shí):數(shù)據(jù)寄存器的一位:0—代表外部輸入低電平1—代表外部輸入高電平上拉電阻允許寄存器PTAPE、…在引腳被定義成輸入時(shí),可通過(guò)上拉電阻允許寄存器定義有無(wú)內(nèi)部上拉電阻:0—沒(méi)有內(nèi)部上拉電阻1—有內(nèi)部上拉電阻,*測(cè)試或賦值某一位時(shí),用1、2方法,多位時(shí)用3、4方法,IO舉例一用于輸入線路中的上拉或下拉電阻不會(huì)因開(kāi)關(guān)斷開(kāi)而懸空的電阻。判斷設(shè)備類(lèi)型(I/O,基本的是信息流向)?I:上拉/O:初始值1:PTX|=(1<
8波特率寄存器L字節(jié)=波特率寄存器的值,舉例的編程,1、前面不同波特率的計(jì)算。2、修改程序。3、利用現(xiàn)有的函數(shù)編寫(xiě)主函數(shù)main()或者中斷服務(wù)程序。比如:用SCIre1接收,用SCIsend1發(fā)送。書(shū)本中用的是SCIreN、SCIsendN,將其修改。用函數(shù),首先了解函數(shù)的功能,其次要注意其參數(shù)的含義和返回值。4、在設(shè)計(jì)中,SCI常常用于調(diào)試,將數(shù)據(jù)發(fā)送至計(jì)算機(jī)顯示,方便的、簡(jiǎn)單。,鍵盤(pán),鍵盤(pán)是若干個(gè)按鍵組成的開(kāi)關(guān)矩陣,接收用戶的按鍵信息,是實(shí)現(xiàn)人-機(jī)交互的輸入設(shè)備。是一個(gè)常用的輸入設(shè)備。讀入鍵值有:直讀方式和掃描方式;響應(yīng)方式分為查詢(xún)法、中斷法查詢(xún):可以用PTA或者其他端口用于和鍵盤(pán)引腳相連(如圖,見(jiàn)下一頁(yè))中斷:用D(7,3,2)、G(4~0)端口,,,,,,,,,,,,,,,,,,VDDMCU內(nèi)部上拉電阻,,PTA0PTA1PTA2PTA3,PTA7PTA6PTA5PTA4,列線n1n2n3n4,行線m1m2m3m4,123A,456B,,789C,*0#D,44鍵盤(pán)的掃描方法,將PTA口的8根數(shù)據(jù)線和鍵盤(pán)8根引腳相連,PTA的4根定義為輸出,4根定義為輸入。最初4根輸出線和輸入線的電平都為高。掃描時(shí),其中一根輸出線為低電平,接著檢測(cè)4根輸入線的電平是否有為低的。沒(méi)有,則換一根輸出線為低電平,重新檢測(cè)4根輸入線的電平是否有為低的。有,則將PTA的數(shù)據(jù)寄存器的值作為該按下鍵的鍵值。若4根輸出線分別為低電平,都沒(méi)有檢測(cè)出輸入線電平為低,則說(shuō)明沒(méi)有按鍵被按下。,LED和LCD,都是輸出設(shè)備,用于顯示數(shù)據(jù)。因幾個(gè)8段數(shù)碼管共用數(shù)據(jù)線,采用位選線掃描法讓每個(gè)數(shù)碼管有字符顯示。其原理:要讓各個(gè)數(shù)據(jù)管(共陰極的)均顯示需要的數(shù)字,則必須逐個(gè)使相應(yīng)位選信號(hào)為0,其他位選信號(hào)為1,并將該位要顯示的一位數(shù)字送到數(shù)據(jù)線上。這種方法叫“位選線掃描法”。雖然每個(gè)時(shí)刻只有一個(gè)數(shù)碼管有效,但只要延時(shí)適當(dāng),由于人眼的“視覺(jué)暫留效應(yīng)”(約100ms左右),看起來(lái)則是同時(shí)顯示的。,4連排8段數(shù)碼管和MCU的連接線8位數(shù)據(jù)線有12根4位位選線LCD和MCU的連接線8位數(shù)據(jù)線有11根3位控制線注意LCD顯示的數(shù)據(jù)是字符型數(shù)據(jù),所以如果給的數(shù)據(jù)是數(shù)值型的,則要轉(zhuǎn)換,要進(jìn)行轉(zhuǎn)換。方法:‘x’=x+’0’注意LED顯示的數(shù)據(jù)是編碼數(shù)據(jù)(數(shù)值型),所以如果給的數(shù)據(jù)是字符型的,則要轉(zhuǎn)換,要進(jìn)行轉(zhuǎn)換。方法:x=‘x’-’0’,,,LED和LCD,4連排共陰極8段數(shù)碼管內(nèi)部結(jié)構(gòu)圖,AW60與LCD的連接,SPI,SPI(串行外設(shè)接口)是Freescale公司推出的一種同步串行通訊接口,在主機(jī)的同步時(shí)鐘頻率控制下以相同的時(shí)序模式在單線上按照先高位后低位或先低位后高位一位一位地傳送,沒(méi)有“開(kāi)始位”和“停止位”,主要用于MCU和外圍擴(kuò)展芯片之間的串行連接,現(xiàn)已發(fā)展成為一種工業(yè)標(biāo)準(zhǔn)。全雙工(或設(shè)置為半雙工)。主、從工作方式。4鐘工作時(shí)序可選4種中斷標(biāo)志,A/D轉(zhuǎn)換模塊的功能是將電壓之類(lèi)的模擬信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的數(shù)字信號(hào)。實(shí)際應(yīng)用中,這個(gè)電壓信號(hào)可能由溫度、濕度、壓力等實(shí)際物理量經(jīng)過(guò)傳感器和相應(yīng)的變換電路轉(zhuǎn)化而來(lái)。經(jīng)過(guò)A/D轉(zhuǎn)換,MCU就可以處理這些物理量。B、D口引腳作為A/D轉(zhuǎn)換引腳時(shí),也叫作AD15pin~AD0pinAW60內(nèi)部有16路8位/10位A/D轉(zhuǎn)換,沒(méi)有D/A轉(zhuǎn)換。采樣精度(指數(shù)字量變化一個(gè)最小量時(shí)模擬信號(hào)的變化量,即我們通常所說(shuō)的采樣位數(shù))采樣速率完成一次A/D采樣所要花費(fèi)的時(shí)間濾波(為了使采樣的數(shù)據(jù)更準(zhǔn)確,必須對(duì)采樣的數(shù)據(jù)進(jìn)行篩選去掉誤差較大的毛刺,有:中值濾波和均值濾波)物理量回歸(得到穩(wěn)定的A/D采樣值以后,還需要把A/D采樣值與實(shí)際物理量對(duì)應(yīng)起來(lái),知道采樣數(shù)字所代表的實(shí)際物理值,才有實(shí)際意義.),模擬量轉(zhuǎn)換,定時(shí)接口,HCS08系列的單片機(jī)定時(shí)器的核心是一個(gè)工作時(shí)處于不斷加1的16位計(jì)數(shù)寄存器,在確定計(jì)數(shù)頻率下,不斷加1,得到規(guī)定的計(jì)數(shù)大小,所經(jīng)歷的時(shí)間,用于MCU編程控制的模塊,稱(chēng)為定時(shí)器/計(jì)數(shù)器。功能有:定時(shí)器溢出中斷每路通道的輸入捕捉(捕捉輸入脈沖的沿跳變,記錄沿跳變的時(shí)刻)每路通道的輸出比較(在規(guī)定的時(shí)刻輸出所需電平)脈寬調(diào)制波PWM(用于控制電機(jī)的轉(zhuǎn)速),定時(shí)器舉例,設(shè)fBUS=2MHz=2000000Hz,希望產(chǎn)生t=500ms的定時(shí)間隔,設(shè)T1MOD=n,分頻因子為p,則它們的關(guān)系為:t=n/(fBUS/p),另n=0 xFFFF=65535,p=0.52000000/65535=15.26,即p最小>15,所以p最小選擇p=16,比如取p=24=16,則n=0.5(2000000/16)=62500=$F424,裝入預(yù)置寄存器,滿足要求,若p取更大值也行,p=25=32,n=0.5(2000000/32)=31250=$7A12,或p=26=64,則n=0.5(2000000/64)=15625=$3D09。或p=27=128,則n=0.5(2000000/128)=7812.5。(有小數(shù),計(jì)數(shù)不準(zhǔn)確,則不采用),Flash存儲(chǔ)器,特點(diǎn)電可擦除、無(wú)需后備電源來(lái)保護(hù)數(shù)據(jù)可在線編程存儲(chǔ)密度高、低功耗、成本較低單一電源電壓供電AW60的FLASH區(qū):??(見(jiàn)前面)大小約60KB兩種編程模式:通過(guò)編程器來(lái)完成,F(xiàn)lash存儲(chǔ)器工作于這種情況,叫監(jiān)控模式或?qū)懭肫髂J?;在程序運(yùn)行過(guò)程中,有可能對(duì)Flash存儲(chǔ)區(qū)的數(shù)據(jù)或程序進(jìn)行更新,F(xiàn)lash存儲(chǔ)器工作于這種情況,叫用戶模式或在線編程模式可以通過(guò)寄存器設(shè)置區(qū)域保護(hù)。,Flash存儲(chǔ)器,基本概念基本操作:擦除和寫(xiě)入Flash存儲(chǔ)器組織單位擦除的最小單位是頁(yè)擦除(1頁(yè)=512B),擦除是將0改寫(xiě)為1,即0?1寫(xiě)入的基礎(chǔ)是行寫(xiě)入(1行=64B),可以一個(gè)字節(jié)一個(gè)字節(jié)寫(xiě)入。寫(xiě)入是將1改寫(xiě)為0,即1?0,其他功能模塊,PLL鎖相環(huán):可以產(chǎn)生各種頻率,將一個(gè)較低的頻率源,提升而得到一序列穩(wěn)定度高的精度高的頻率。低功耗模式(1)STOP指令STOP模式又分為STOP1、STOP2、STOP3模式。MCU處于STOP1功耗模式(功耗最小)。但AW60芯片不具有STOP1模式功能。AW60具有功耗比STOP1模式稍高的STOP2和STOP3模式。STOP1模式下只有IRQ引腳、RESET引腳可以喚醒。STOP2模式喚醒條件:引腳IRQ、RESET、RTI中斷。STOP3模式喚醒條件:IRQ引腳、RESET引腳、RTI中斷、KBI中斷、LVD中斷、ADC中斷。在后兩種停止模式下,所有內(nèi)部時(shí)鐘都被關(guān)閉。工作電流在A級(jí)。,(2)WAIT指令,在程序中運(yùn)行WAIT指令,使MCU處于WAIT低功耗模式。WAIT模式的功耗比STOP模式大。工作電流在mA級(jí)。進(jìn)入WAIT模式后,CPU內(nèi)部條件碼寄存器CCR中的I位被清零(允許總中斷),一旦有中斷請(qǐng)求發(fā)生,CPU被喚醒,退出WAIT模式,進(jìn)入RUN模式,執(zhí)行WAIT后面的第一個(gè)語(yǔ)句。,系統(tǒng)正常操作監(jiān)視模塊COP,系統(tǒng)正常操作監(jiān)視模塊(ComputerOperatingProperly,COP)俗稱(chēng)看門(mén)狗(Watchdog)。該模塊有一個(gè)自由運(yùn)行的計(jì)數(shù)器,若在SOPT中設(shè)定COP允許后,用戶程序必須周期地向系統(tǒng)復(fù)位狀態(tài)寄存器(SRS)的地址寫(xiě)任何值被COP計(jì)數(shù)器重置(使用指令STASRS,叫做給看門(mén)狗喂食),以清除COP計(jì)數(shù)器。若系統(tǒng)由于某種原因使軟件工作不正常時(shí),COP計(jì)數(shù)器就得不到周期地清零,那么當(dāng)它溢出時(shí)便產(chǎn)生COP復(fù)位,以防止程序進(jìn)入不可預(yù)料的操作。,LED顯示,溫度,壓力,光,濕度,SCI通信,PC機(jī),SPI通信,1路AD線,利用MC9S08AW60MCU設(shè)計(jì)一個(gè)數(shù)據(jù)采集系統(tǒng),功能是:采集一路光,將數(shù)據(jù)顯示在4連排共陰極8段LED數(shù)碼管,并送入PC機(jī)顯示。在給定的框圖模塊中選擇能滿足功能要求的框圖組合一個(gè)硬件系統(tǒng)的結(jié)構(gòu)圖,并簡(jiǎn)要說(shuō)明數(shù)據(jù)從采集到顯示的過(guò)程。(供給的對(duì)象框圖、模塊框圖、PC機(jī)框圖、MCU框圖等,圖形中引腳數(shù)量根據(jù)需要而改寫(xiě)),LCD顯示,利用MC9S08AW60MCU設(shè)計(jì)一個(gè)實(shí)驗(yàn),功能是:采集33鍵盤(pán)的按鍵,將數(shù)據(jù)顯示在LCD液晶屏,并送入PC機(jī)顯示。分析至少占用MCU幾個(gè)口,各自需多少個(gè)IO引腳,所用引腳中用于數(shù)據(jù)輸入、輸出的引腳各有幾個(gè)。需要先按普通IO口定義的鍵盤(pán)和LCD,用c語(yǔ)言表達(dá)其普通IO口定義。并簡(jiǎn)要說(shuō)明數(shù)據(jù)從鍵盤(pán)到LCD顯示的流程。(注:畫(huà)出系統(tǒng)框圖,圖中標(biāo)注數(shù)據(jù)流向、端口名和IO引腳數(shù)),鍵盤(pán)的IO口初始化:PTADD|=0b00000111;PTADD數(shù)據(jù)從鍵盤(pán)到LCD顯示的流程:MCU通過(guò)A2~A0打出數(shù)據(jù)對(duì)鍵盤(pán)掃描,A5~A3返回鍵盤(pán)按鍵信息,MCU運(yùn)算得到對(duì)應(yīng)按鍵的定義值,將該定義值發(fā)給接在B7~B0和C2~C0的LCD液晶顯示,并由E0(Tx)經(jīng)MAX232將TTL電平轉(zhuǎn)換232電平送給PC機(jī)顯示。,其他鍵盤(pán)222344呢?串口一用,兩個(gè)引腳就一起用。,程序填空題:他人給你編寫(xiě)好的程序文件,即要求會(huì)增加功能模塊,會(huì)加入相應(yīng)的代碼文件和編寫(xiě)相應(yīng)的語(yǔ)句一.主程序、中斷文件Includes.h(舉例),編寫(xiě)小驅(qū)動(dòng)程序:要求會(huì)簡(jiǎn)單編寫(xiě)功能模塊函數(shù)鍵盤(pán):P147KBDef(鍵個(gè)數(shù))若掃描線接口變了或者23鍵盤(pán)呢?掃描線?SCI:P126SCIsend1和SCIrelLED:P154LEDshowLEDshow1(位數(shù))。LED課本是4個(gè)字,若3個(gè)字呢?ADC:ADCValue(P272),
鏈接地址:http://m.kudomayuko.com/p-3557827.html