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