版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第九章第九章 鍵盤中斷模塊與鍵盤中斷模塊與A/D轉(zhuǎn)換模塊轉(zhuǎn)換模塊 主要內(nèi)容 鍵盤根本問題與GP32的鍵盤中斷口 匯編言語鍵盤中斷模塊編程實(shí)例 08C言語鍵盤中斷模塊編程實(shí)例 MC68HC908GP32 MCU內(nèi)部的A/D轉(zhuǎn)換模塊 MC68HC908GP32 MCU A/D轉(zhuǎn)換編程實(shí)例 9.1 鍵盤根本問題與鍵盤根本問題與GP32的鍵盤中斷口的鍵盤中斷口9.1.1 鍵盤的根本問題鍵盤的根本問題 1鍵的識別鍵的識別 如何知道鍵盤上哪個鍵被按下就是鍵盤識別如何知道鍵盤上哪個鍵被按下就是鍵盤識別問題。鍵盤識別主要有行掃描法與行反轉(zhuǎn)法。問題。鍵盤識別主要有行掃描法與行反轉(zhuǎn)法。2抖動問題抖動問題 當(dāng)按下一
2、個鍵時(shí),會出現(xiàn)所按的鍵在閉合位當(dāng)按下一個鍵時(shí),會出現(xiàn)所按的鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合形狀的情置和斷開位置之間跳幾下才穩(wěn)定到閉合形狀的情況,當(dāng)釋放一個按鍵時(shí)也會出現(xiàn)類似的情況,這況,當(dāng)釋放一個按鍵時(shí)也會出現(xiàn)類似的情況,這就是抖動問題。處理抖動的方法通常是延遲等待就是抖動問題。處理抖動的方法通常是延遲等待抖動的消逝或多次識別斷定。抖動的消逝或多次識別斷定。3重鍵問題重鍵問題 有兩個或兩個以上按鍵同時(shí)處于閉合形狀的有兩個或兩個以上按鍵同時(shí)處于閉合形狀的處置問題。在軟件上,處置重鍵問題通常有連鎖處置問題。在軟件上,處置重鍵問題通常有連鎖法與巡回法。法與巡回法。 +5V 5K4行線行線
3、m1 m2 m3 m4 列線列線 n1 n2 n3 n4 44鍵盤構(gòu)造鍵盤構(gòu)造9.1.2 MC68HC908GP32單片機(jī)的鍵盤中斷模塊單片機(jī)的鍵盤中斷模塊1鍵盤形狀和控制存放器鍵盤形狀和控制存放器Keyboard Status and Control Register ,INTKBSCR INTKBSCR包含了鍵盤中斷懇求標(biāo)志、屏蔽鍵盤中斷包含了鍵盤中斷懇求標(biāo)志、屏蔽鍵盤中斷懇求、定義鍵盤中斷的觸發(fā)方式、去除鍵盤中斷標(biāo)志等功懇求、定義鍵盤中斷的觸發(fā)方式、去除鍵盤中斷標(biāo)志等功能。其地址是能。其地址是$001A。數(shù)據(jù)位數(shù)據(jù)位 D7 D6 D5 D4 D3 D2 D1 D0定義定義 KEY ACK
4、K IMASKK MODEK復(fù)位復(fù)位 0 0 0 0 0 0 0 0鍵盤中斷鍵盤中斷屏蔽位屏蔽位 鍵盤中斷鍵盤中斷引腳觸發(fā)引腳觸發(fā)方式位方式位 鍵盤鍵盤(中斷中斷)應(yīng)對位應(yīng)對位鍵盤鍵盤(中斷中斷)標(biāo)志位標(biāo)志位 未用未用2鍵盤中斷允許存放器鍵盤中斷允許存放器Keyboard Interrupt Enable Register,INTBIER INTBIER的各位決議所對應(yīng)的引腳能否允許中斷進(jìn)入。地址為:的各位決議所對應(yīng)的引腳能否允許中斷進(jìn)入。地址為:$001B。 數(shù)據(jù)位數(shù)據(jù)位 D7 D6 D5 D4 D3 D2 D1 D0定義定義KBIE7 KBIE6 KBIE5 KBIE4 KBIE3 KBI
5、E2 KBIE1 KBIE0復(fù)位復(fù)位 0 0 0 0 0 0 0 0 D7D0,分別記為,分別記為KBIE7KBIE0,可讀寫。假設(shè),可讀寫。假設(shè)KBIEx=1,表示相應(yīng)引腳表示相應(yīng)引腳KBIEx pin也就是引腳也就是引腳PTAx pin被定義為中斷引入被定義為中斷引入引腳,反之那么不能作為中斷輸入引腳。復(fù)位時(shí),全為引腳,反之那么不能作為中斷輸入引腳。復(fù)位時(shí),全為0。 3鍵盤中斷編程相關(guān)問題鍵盤中斷編程相關(guān)問題 要進(jìn)展鍵盤中斷方面的編程,需了解以下問題:要進(jìn)展鍵盤中斷方面的編程,需了解以下問題: 1鍵盤中斷矢量地址:鍵盤中斷矢量地址:$FFE0$FFE1。 2鍵盤中斷初始化順序:先設(shè)置鍵盤形
6、狀和控制存鍵盤中斷初始化順序:先設(shè)置鍵盤形狀和控制存放器放器INTKBSCR,后設(shè)置鍵盤中斷允許存放器,后設(shè)置鍵盤中斷允許存放器INTKBIER。 3為防止鍵盤誤中斷,在鍵盤初始化時(shí),建議按以為防止鍵盤誤中斷,在鍵盤初始化時(shí),建議按以下順序:下順序: 令令I(lǐng)MASKK=1(屏蔽鍵盤中斷屏蔽鍵盤中斷)、設(shè)置、設(shè)置KBIEx1(定義定義中斷引腳中斷引腳)、寫、寫ACKK=1(去除鍵盤中斷懇求去除鍵盤中斷懇求)、令、令I(lǐng)MASKK=0(開放鍵盤中斷開放鍵盤中斷)。 也可以用下述方法:也可以用下述方法: 經(jīng)過經(jīng)過DDRA定義定義PTAx pin為輸出、寫為輸出、寫1到到PTAx使得使得PTAx pin
7、為高電平、設(shè)置為高電平、設(shè)置KBIEx1(定義中斷引腳定義中斷引腳)。 4留意在中斷子程序中的入口和出口參數(shù)。留意在中斷子程序中的入口和出口參數(shù)。 5在在Wait和和Stop方式下,鍵盤中斷仍可發(fā)生。方式下,鍵盤中斷仍可發(fā)生。前往前往9.2 匯編言語鍵盤中斷模塊編程實(shí)例匯編言語鍵盤中斷模塊編程實(shí)例44鍵盤與單片機(jī)接法例如鍵盤與單片機(jī)接法例如 VDD 單片機(jī) 內(nèi)部上拉電阻 1 2 3 A 單片機(jī)PTA口引腳行線m1 PTA0 4 5 6 B m2 PTA1 7 8 9 C m3 PTA2 * 0 # D m4 PTA3 列線 n1 n2 n3 n4 PTA7 PTA6 PTA5 PTA41鍵值計(jì)
8、算方法鍵值計(jì)算方法按上圖的接法可以按上圖的接法可以得出鍵值表,如以得出鍵值表,如以下圖。鍵值可以經(jīng)下圖。鍵值可以經(jīng)過掃描法獲得,由過掃描法獲得,由鍵值經(jīng)過查表法編鍵值經(jīng)過查表法編程得到定義值。程得到定義值。9.2.1 按鍵識別與鍵盤定義子程序按鍵識別與鍵盤定義子程序 1 EE 2 DE 3 BE A 7E 4 ED 5 DD 6 DD B 7D 7 EB 8 DB 9 BB C 7B * E7 0 D7 # B7 D 77定義符定義符鍵值鍵值鍵盤定義鍵盤定義2鍵盤編程匯編言語子程序鍵盤編程匯編言語子程序1鍵盤中斷編程匯編主程序鍵盤中斷編程匯編主程序2鍵盤中斷編程的鍵盤中斷編程的PC機(jī)方的機(jī)方的
9、VB界面與程序界面與程序9.3 08C言語鍵盤中斷模塊編程實(shí)例言語鍵盤中斷模塊編程實(shí)例 9.3.1 按鍵識別與鍵盤定義函數(shù)按鍵識別與鍵盤定義函數(shù) 9.3.2 鍵盤中斷編程鍵盤中斷編程08C言語舉例言語舉例1鍵盤中斷編程實(shí)例的鍵盤中斷編程實(shí)例的08C主函數(shù)主函數(shù)2鍵盤中斷編程實(shí)例的鍵盤中斷編程實(shí)例的08C中斷矢量表文件中斷矢量表文件9.2.2 鍵盤中斷編程舉例鍵盤中斷編程舉例前往前往9.4 MC68HC908GP32 MCU內(nèi)部的內(nèi)部的A/D轉(zhuǎn)換模塊轉(zhuǎn)換模塊9.4.1 A/D轉(zhuǎn)換相關(guān)根底知識轉(zhuǎn)換相關(guān)根底知識 A/D轉(zhuǎn)換模塊轉(zhuǎn)換模塊Analog To Digital Convert Module即
10、模數(shù)轉(zhuǎn)換模塊的功能是將電壓信號轉(zhuǎn)即模數(shù)轉(zhuǎn)換模塊的功能是將電壓信號轉(zhuǎn)換為對應(yīng)的數(shù)字信號。實(shí)踐運(yùn)用中,這個電壓信換為對應(yīng)的數(shù)字信號。實(shí)踐運(yùn)用中,這個電壓信號能夠由溫度、濕度、壓力等實(shí)踐物理量經(jīng)過傳號能夠由溫度、濕度、壓力等實(shí)踐物理量經(jīng)過傳感器和相應(yīng)的變換電路轉(zhuǎn)化而來。經(jīng)過感器和相應(yīng)的變換電路轉(zhuǎn)化而來。經(jīng)過A/D轉(zhuǎn)換,轉(zhuǎn)換,MCU就可以處置這些物理量。就可以處置這些物理量。1采樣精度:數(shù)字量變化一個最小量時(shí)模擬信采樣精度:數(shù)字量變化一個最小量時(shí)模擬信號的變化量。號的變化量。 2采樣速率:完成一次采樣速率:完成一次A/D采樣所要破費(fèi)的時(shí)采樣所要破費(fèi)的時(shí)間。間。 3濾波:對采樣的數(shù)據(jù)進(jìn)展挑選去掉誤差較大
11、濾波:對采樣的數(shù)據(jù)進(jìn)展挑選去掉誤差較大的毛刺。的毛刺。 4物理量回歸:把物理量回歸:把A/D采樣值與實(shí)踐物理量對采樣值與實(shí)踐物理量對應(yīng)起來。應(yīng)起來。 9.4.2 MC68HC908GP32 A/D轉(zhuǎn)換模塊的存放器轉(zhuǎn)換模塊的存放器1A/D轉(zhuǎn)換形狀和控制存放器轉(zhuǎn)換形狀和控制存放器Analog-to-Digital Status and Control RegisterADSCR ADSCR主要功能是:選取要轉(zhuǎn)換的通道、決議轉(zhuǎn)換終主要功能是:選取要轉(zhuǎn)換的通道、決議轉(zhuǎn)換終了數(shù)據(jù)獲取的方式、設(shè)置是延續(xù)轉(zhuǎn)換還是一次轉(zhuǎn)換。其地了數(shù)據(jù)獲取的方式、設(shè)置是延續(xù)轉(zhuǎn)換還是一次轉(zhuǎn)換。其地址是址是$003C。數(shù)據(jù)位 D7
12、 D6 D5 D4 D3 D2 D1 D0定義COCO AIEN ADCO ADCH4 ADCH3 ADCH2 ADCH1 ADCH0復(fù)位 0 0 0 1 1 1 1 1轉(zhuǎn)換完成轉(zhuǎn)換完成標(biāo)志位標(biāo)志位A/D轉(zhuǎn)換轉(zhuǎn)換中斷允許中斷允許標(biāo)志位標(biāo)志位 延續(xù)轉(zhuǎn)換延續(xù)轉(zhuǎn)換控制位控制位通道選擇通道選擇 2A/D轉(zhuǎn)換數(shù)據(jù)存放器轉(zhuǎn)換數(shù)據(jù)存放器Analog-to-Digital Data RegisterADR ADR存放存放A/D轉(zhuǎn)換的轉(zhuǎn)換的8位結(jié)果,每次位結(jié)果,每次A/D轉(zhuǎn)換終了更新該存放器。轉(zhuǎn)換終了更新該存放器。編程從該存放器讀取編程從該存放器讀取A/D轉(zhuǎn)換結(jié)果。該存放器地址為:轉(zhuǎn)換結(jié)果。該存放器地址為:$0
13、03D,為只讀,為只讀存放器,復(fù)位時(shí)為存放器,復(fù)位時(shí)為$00。 3A/D轉(zhuǎn)換輸入時(shí)鐘存放器轉(zhuǎn)換輸入時(shí)鐘存放器Analog-to-Digital Input Clock RegisterADCLK ADCLK決議決議A/D轉(zhuǎn)換的時(shí)鐘頻率來源、分頻系數(shù)值,芯片內(nèi)的轉(zhuǎn)換的時(shí)鐘頻率來源、分頻系數(shù)值,芯片內(nèi)的A/D轉(zhuǎn)換器要求轉(zhuǎn)換器要求ADC時(shí)鐘頻率為時(shí)鐘頻率為1MHz左右。左右。ADCLK 的地址是:的地址是:$003E。ADC時(shí)鐘分頻時(shí)鐘分頻系數(shù)選擇位系數(shù)選擇位 ADC輸入時(shí)輸入時(shí)鐘源選擇位鐘源選擇位 未用未用 數(shù)據(jù)位 D7 D6 D5 D4 D3 D2 D1 D0定義 ADIV2 ADIV1 ADI
14、V0 ADICLK - - - -復(fù)位 0 0 0 1 1 1 1 1 ADC時(shí)鐘要求:時(shí)鐘要求: ADC時(shí)鐘頻率時(shí)鐘頻率1MHz。詳細(xì)編程時(shí)根據(jù)。詳細(xì)編程時(shí)根據(jù)A/D轉(zhuǎn)換轉(zhuǎn)換的時(shí)鐘頻率來源確定分頻系數(shù)值,確保芯片內(nèi)的的時(shí)鐘頻率來源確定分頻系數(shù)值,確保芯片內(nèi)的A/D轉(zhuǎn)換器時(shí)鐘頻率為轉(zhuǎn)換器時(shí)鐘頻率為1MHz左右即可。左右即可。9.4.3 A/D轉(zhuǎn)換模塊的根本編程方法轉(zhuǎn)換模塊的根本編程方法1A/D轉(zhuǎn)換初始化轉(zhuǎn)換初始化 LDA #%00110000 ;運(yùn)用內(nèi)部總線時(shí)鐘,運(yùn)用內(nèi)部總線時(shí)鐘,2分頻分頻 STA ADCLK ;送入存放器送入存放器ADCLK2啟動啟動A/D轉(zhuǎn)換轉(zhuǎn)換 LDA #%000000
15、00 ;0通道,轉(zhuǎn)換終了不產(chǎn)生中斷,通道,轉(zhuǎn)換終了不產(chǎn)生中斷,一次一次A/D轉(zhuǎn)換轉(zhuǎn)換 STA ADSCR ;并啟動并啟動0通道轉(zhuǎn)換通道轉(zhuǎn)換3獲獲A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)果 BRCLR 7, ADSCR,* ;COCO位位=0那么等待那么等待COCO位位=1 LDA ADR ;轉(zhuǎn)換終了,轉(zhuǎn)換結(jié)果送入轉(zhuǎn)換終了,轉(zhuǎn)換結(jié)果送入A中中前往前往9.5 MC68HC908GP32 MCU A/D轉(zhuǎn)換編程實(shí)例轉(zhuǎn)換編程實(shí)例9.5.1 A/D轉(zhuǎn)換匯編言語編程實(shí)例轉(zhuǎn)換匯編言語編程實(shí)例1A/D轉(zhuǎn)換有關(guān)子程序轉(zhuǎn)換有關(guān)子程序2A/D轉(zhuǎn)換測試程序匯編主程序轉(zhuǎn)換測試程序匯編主程序9.5.2 A/D轉(zhuǎn)換轉(zhuǎn)換08C言語編程實(shí)例言語編程實(shí)例1A/D轉(zhuǎn)換有關(guān)轉(zhuǎn)換有關(guān)C言語子函數(shù)言語子函數(shù)2A/D轉(zhuǎn)換轉(zhuǎn)換08C測試實(shí)例主函數(shù)測試實(shí)例主函數(shù)前往前往 本章共引見了兩部分內(nèi)容。本章共引見了兩部分內(nèi)容。 鍵盤部分:引見鍵盤中斷模塊的編程方法,并給出規(guī)范的掃描法鍵盤部分:引見鍵盤中斷模塊的編程方法,并給出規(guī)范的掃描法識別鍵值子程序、鍵值轉(zhuǎn)為定義值子程序,及測試
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能電網(wǎng)建設(shè)股東合作協(xié)議3篇
- 電影劇組化妝師聘用合同
- 城市監(jiān)控系統(tǒng)防水涂料施工合同
- 保險(xiǎn)公司租賃合同
- 太陽能電站水電路施工合同
- 2024年跨境投資代持協(xié)議書3篇
- 國有企業(yè)采購項(xiàng)目招標(biāo)
- 臨時(shí)珠寶鑒定師聘用協(xié)議模板
- 跨界合作項(xiàng)目櫥窗施工合同
- 醫(yī)療診所場所租賃合約
- 2023年房車設(shè)計(jì)工程師年度總結(jié)及下一年計(jì)劃
- 南非的地理特點(diǎn)
- 2023年硬件研發(fā)工程師年度總結(jié)及下年工作展望
- 北京版二年級語文上冊期末綜合測試卷含答案
- 教代會提案表格
- 中國聯(lián)通黑龍江分公司提升客戶滿意度的策略研究
- JGJ406T-2017預(yù)應(yīng)力混凝土管樁技術(shù)標(biāo)準(zhǔn)附條文
- 蘇教版科學(xué)四年級上全冊單元達(dá)標(biāo)測試卷(一)附答案
- Unit1CulturalHeritage詞匯講解課件高中英語課堂精美課件(人教版2019)
- 《嚴(yán)以律已+做遵紀(jì)守法的好少年+主題班會教育》
- 簡易精神狀態(tài)評價(jià)量表(MMSE量表)
評論
0/150
提交評論