![東南大學(xué)MCU第五六次實(shí)驗(yàn)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/5521a6af-e797-4f0c-9990-6fc1b784b74a/5521a6af-e797-4f0c-9990-6fc1b784b74a1.gif)
![東南大學(xué)MCU第五六次實(shí)驗(yàn)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/5521a6af-e797-4f0c-9990-6fc1b784b74a/5521a6af-e797-4f0c-9990-6fc1b784b74a2.gif)
![東南大學(xué)MCU第五六次實(shí)驗(yàn)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/5521a6af-e797-4f0c-9990-6fc1b784b74a/5521a6af-e797-4f0c-9990-6fc1b784b74a3.gif)
![東南大學(xué)MCU第五六次實(shí)驗(yàn)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/5521a6af-e797-4f0c-9990-6fc1b784b74a/5521a6af-e797-4f0c-9990-6fc1b784b74a4.gif)
![東南大學(xué)MCU第五六次實(shí)驗(yàn)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/5521a6af-e797-4f0c-9990-6fc1b784b74a/5521a6af-e797-4f0c-9990-6fc1b784b74a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、東南大學(xué)自動(dòng)化學(xué)院實(shí) 驗(yàn) 報(bào) 告課程名稱: MCU技術(shù)及課程設(shè)計(jì) 第 三 次實(shí)驗(yàn)實(shí)驗(yàn)五:鍵盤掃描實(shí)驗(yàn)實(shí)驗(yàn)六:ADC 模數(shù)轉(zhuǎn)換院 (系): 自動(dòng)化 專 業(yè): 自動(dòng)化 姓 名: 學(xué) 號(hào): 實(shí) 驗(yàn) 室: 實(shí)驗(yàn)組別: 同組人員: 實(shí)驗(yàn)時(shí)間: 2015年 5 月 14日評(píng)定成績(jī): 審閱教師: 實(shí)驗(yàn)五 鍵盤掃描實(shí)驗(yàn)一 實(shí)驗(yàn)?zāi)康暮鸵?. 實(shí)驗(yàn)?zāi)康牟徽撛谌魏螜C(jī)器上,輸入永遠(yuǎn)是一個(gè)永恒的問題,有了輸入才能讓控制器按要求發(fā)出相應(yīng)的控制指令,達(dá)到相應(yīng)的控制效果,本次實(shí)驗(yàn)將會(huì)介紹實(shí)驗(yàn)箱上自帶鍵盤的輸入內(nèi)容。2. 實(shí)驗(yàn)要求 按下目標(biāo)板KeyBoard上的按鍵,最右邊的LED數(shù)碼管顯示對(duì)應(yīng)數(shù)字。二 實(shí)驗(yàn)原理(1) 矩陣
2、鍵盤的讀取如圖 5-1 所示,該鍵盤為 8*3bit。圖 5-1 矩陣鍵盤讀取示意圖一旦有按鍵按下,TM1638 中相關(guān)的寄存器的值就會(huì)改變(按鍵按下時(shí)相應(yīng)字節(jié)由 0 變1),具體對(duì)應(yīng)關(guān)系如圖 5-2 所示。(鍵盤不全,沒有加、減、等于、AC 等幾個(gè)鍵)圖 5-2 按鍵對(duì)應(yīng)關(guān)系圖MSP430f6638 試驗(yàn)箱按鍵對(duì)應(yīng)關(guān)系為圖 5-3 所示。圖 5-3 MSP430f6638 試驗(yàn)箱按鍵對(duì)應(yīng)關(guān)系圖圖 5-3 MSP430f6638 試驗(yàn)箱按鍵對(duì)應(yīng)關(guān)系圖 注意: 1) 鍵盤用坐標(biāo)形式表示,空白位表示本開發(fā)板暫未用到。2) TM1638 最多可以讀 4 個(gè)字節(jié),不允許多讀。讀數(shù)據(jù)字節(jié)只能按順序從BY
3、TE1-BYTE4 讀取,不可跨字節(jié)讀。例如:硬件上的 K2 與 KS8 對(duì)應(yīng)按鍵按下時(shí),此時(shí)想要讀到此按鍵數(shù)據(jù),必須需要讀到第 4 個(gè)字節(jié)的第 5BIT 位,才可讀出數(shù)據(jù)。 3) 當(dāng) K1 與 KS8,K2 與 KS8,K3 與 KS8 三個(gè)按鍵同時(shí)按下時(shí),此時(shí) BYTE4所讀數(shù)據(jù)的 B4,B5,B6 位均為 1。 4) 組合鍵只能是同一個(gè)KS,不同的K引腳才能做組合鍵;同一個(gè)K與不同的KS引腳不可以做成組合鍵使用。5) 例如:如果 Keyboard 的按鍵1按下,根據(jù)圖 5-3,我們可以從讀取按鍵值,程序?qū)崿F(xiàn)參考:unsigned char c4; /對(duì)應(yīng)BYTE1-BYTE4 unsig
4、ned int key_value=0x00; /暫存TM1638讀取的按鍵值 unsigned int i; STB_high; STB_low; TM1638_Write(0x42); /寫地址 _delay_us(1); for(i=0;i4;i+) ci=TM1638_Read(); /讀取按鍵值 STB_high; if(c0&BIT2) /根據(jù)圖5-3判斷讀取的按鍵 key_value |= BIT1; /如果是,則判斷為按鍵1按下 下面給出 TM1638.c 中 read_key 主體函數(shù),編寫自己的 main 函數(shù)調(diào)用read_key 來實(shí)現(xiàn)所需功能。 unsigned cha
5、r Read_key(void) unsigned char c4; unsigned int key_value=0x00; unsigned int i; STB_high; STB_low; TM1638_Write(0x42); _delay_us(1); for(i=0;i4;i+) ci=TM1638_Read(); STB_high; if(c0&BIT2) key_value |= BIT1; else if(c0&BIT6) key_value |= BIT4; else if /此處編寫對(duì)應(yīng)按鍵關(guān)系判斷 for(i=0;i16;i+) if(0x01i)=key_value
6、) break; return i; 三 實(shí)驗(yàn)方案與實(shí)驗(yàn)步驟1. 實(shí)驗(yàn)流程圖2. 實(shí)驗(yàn)步驟(1) 將PC與開發(fā)板相連;(2) 建立CCS工程;(3) 選擇對(duì)該工程進(jìn)行編譯鏈接,生成.out 文件。然后選擇 ,將程序下載到實(shí)驗(yàn)板中。程序下載完畢之后,可以選擇全速運(yùn)行程序,也可以選擇單步調(diào)試程序,選擇 F3 查看具體函數(shù)。也可以程序下載之后,按下,軟件界面恢復(fù)到原編輯程序的畫面。再按下實(shí)驗(yàn)板的復(fù)位鍵,運(yùn)行程序。四 實(shí)驗(yàn)設(shè)備與器材配置德研電科 MSP430F6638 單片機(jī) 上海德研電子科技有限公司 Code Composer Studio (CCStudio)集成開發(fā)環(huán)境 上海德研電子科技有限公司
7、五 實(shí)驗(yàn)記錄顯示數(shù)字: 顯示字母: 按下”AC”+”-”=”時(shí)點(diǎn)亮LED燈:六 實(shí)驗(yàn)總結(jié)實(shí)驗(yàn)最初版代碼并不能保持?jǐn)?shù)字的顯示,即按下鍵盤上的數(shù)字時(shí),數(shù)碼管顯示,手松開時(shí),數(shù)碼管顯示”0”,后在代碼中加入延遲后解決該問題,程序能夠順利運(yùn)行。七 附上源代碼#include #include TM1638.hconst uint8_t Num16=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71;/段碼const uint8_t Addr8=0x08,0X0a,0X0c,0X0e,0X00,0
8、X02,0X04,0X06;/地址const uint8_t Key20=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13;/0-9,a-f,+,-,=,ACint read_key(void);/只顯示一個(gè)數(shù)碼管void main(void) WDTCTL = WDTPW + WDTHOLD;/ Stop watchdog timer P4DIR |= BIT4+BIT5+BIT6;/+,-,=,ac P4OUT &= 0X87; P3DIR
9、|= BIT2+BIT4+BIT5; init_TM1638(); int key_value=0; int key_value_p=0; int i=0; while(1) key_value=read_key(); for(i=0;i20;i+) if(key_value=Keyi) key_value=i; if(key_value=0) Write_DATA(Addr7,Numkey_value); if(key_value=0x20) Write_DATA(Addr7,Numkey_value_p); switch (key_value) case 16:P4OUT &= 0X87;
10、P4OUT |= BIT4;break;/+ case 17:P4OUT &= 0X87;P4OUT |= BIT5;break;/- case 18:P4OUT &= 0X87;P4OUT |= BIT6;break;/= case 19:P4OUT &= 0X87;P4OUT |= BIT6+BIT5+BIT4;break;/AC default:P4OUT &= 0X87;break; if(key_value!=0x20) key_value_p=key_value; 實(shí)驗(yàn)六 ADC 模數(shù)轉(zhuǎn)換一 實(shí)驗(yàn)?zāi)康暮鸵?. 實(shí)驗(yàn)?zāi)康脑?MSP430 的實(shí)時(shí)控制和智能儀表等應(yīng)用系統(tǒng)中,控制或測(cè)量
11、對(duì)象的有關(guān)變量,往往是一些連續(xù)變化的模擬量,如溫度、壓力、流量、速度等物理量。利用傳感器把各種物理信號(hào)測(cè)量出來,轉(zhuǎn)換為電信號(hào),經(jīng)過模數(shù)轉(zhuǎn)換(ADC)變成數(shù)字量,這樣才能被MSP430處理和控制。本實(shí)驗(yàn)通過ADC將電位器的變化實(shí)時(shí)顯示在 LED 上。 (1) 掌握ADC的基本原理和編程方式。 (2) 熟練應(yīng)用MSP430F6638的ADC12模塊及其4種工作模式。 (3) 了解單片機(jī)如何進(jìn)行數(shù)據(jù)采集。2. 實(shí)驗(yàn)要求 (1) 調(diào)節(jié)電位器,觀察實(shí)驗(yàn)板上的 LED 數(shù)碼管顯示。隨著電位器的轉(zhuǎn)動(dòng),LED 數(shù)碼管實(shí)時(shí)顯示電位器電壓的轉(zhuǎn)換值。采用ADC中斷方式實(shí)現(xiàn)。 (2) 輸入模擬電壓的轉(zhuǎn)換結(jié)果滿足公式:
12、 NADC=4095(Vin VR-)/(VR+ - VR-)。 (3) 本實(shí)驗(yàn)推薦使用萬用表,觀察電位計(jì)中間引腳對(duì)地電壓。 (4) 為了增強(qiáng)轉(zhuǎn)換結(jié)果的穩(wěn)定性,采用均值濾波的方法,即某一時(shí)刻的電壓值采用該時(shí)刻位置前推n個(gè)采樣值的均值來表示,而不是直接用當(dāng)前的采樣值。本實(shí)驗(yàn)中推薦n=8.二 實(shí)驗(yàn)原理(1) 實(shí)驗(yàn)板主控芯片MSP430F6638的ADC12模數(shù)轉(zhuǎn)換模塊支持12位精度模數(shù)轉(zhuǎn)換,主要由具有采樣與保持功能的12位轉(zhuǎn)換器內(nèi)核、采樣選擇控制、參考電壓發(fā)生器以及16個(gè)字轉(zhuǎn)換控制緩沖區(qū)組成。(2) ADC12提供4種轉(zhuǎn)換模式,分別是單通道單次轉(zhuǎn)換、序列通道多次轉(zhuǎn)換、單通道多次轉(zhuǎn)換、序列通道多次轉(zhuǎn)
13、換。(3) ADC12轉(zhuǎn)換器使用流程1.設(shè)置轉(zhuǎn)換模式。2.輸入模擬信號(hào)。3.選擇啟動(dòng)信號(hào)。4.關(guān)注轉(zhuǎn)換結(jié)束信號(hào)。5.存放轉(zhuǎn)換數(shù)據(jù)以及采用查詢或者中斷方式讀取數(shù)據(jù)。(4) ADC的中斷向量和中斷機(jī)制ADC12是一個(gè)多源中斷:有18個(gè)中斷標(biāo)志(ADC12IFG0ADC12IFG15與ADC12TOV,ADC12OV),但是只有一個(gè)中斷向量,這18個(gè)中斷標(biāo)志的優(yōu)先級(jí)順序與對(duì)應(yīng)的中斷向量值見表6-1。表 6-1 ADC12 個(gè)中斷標(biāo)志位對(duì)應(yīng)的 ADC12IV 值優(yōu)先級(jí)順序從高到低依次為:數(shù)據(jù)溢出標(biāo)志ADC12OVIFG,時(shí)間溢出中斷標(biāo)志ADC12TOVIFG,轉(zhuǎn)換存儲(chǔ)器的標(biāo)志ADC12IFG0,ADC
14、12IFG1ADC12IFG15。各中斷標(biāo)志將產(chǎn)生一個(gè)036的偶數(shù),0表示沒有中斷或沒有中斷標(biāo)志位置位;其他數(shù)字(236)對(duì)應(yīng)于相應(yīng)中斷標(biāo)志位。其中ADC12OVIFG和ADC12TOIFG會(huì)自動(dòng)復(fù)位,ADC12IFGx需在用戶軟件中復(fù)位,或通過訪問對(duì)應(yīng)轉(zhuǎn)換存儲(chǔ)器ADC12MEMx的標(biāo)志位自動(dòng)復(fù)位。(5) ADC12模塊的硬件電路結(jié)構(gòu)如圖6-1所示,開發(fā)板接口位置如圖6-2所示,其中P6.6為ADC采樣的輸入信號(hào),該接口已經(jīng)連接到電位計(jì)輸出口,我們可以通過開發(fā)板上TP16進(jìn)行觀察測(cè)試。圖 6-1 ADC12模塊硬件電路圖相關(guān)引腳定義:圖6-2 開發(fā)板上ADC模塊接口三 實(shí)驗(yàn)方案與實(shí)驗(yàn)步驟1.
15、實(shí)驗(yàn)流程圖2. 實(shí)驗(yàn)步驟(1) 將PC與開發(fā)板相連;(2) 建立CCS工程;(3) 選擇對(duì)該工程進(jìn)行編譯鏈接,生成.out 文件。然后選擇 ,將程序下載到實(shí)驗(yàn)板中。程序下載完畢之后,可以選擇全速運(yùn)行程序,也可以選擇單步調(diào)試程序,選擇 F3 查看具體函數(shù)。也可以程序下載之后,按下,軟件界面恢復(fù)到原編輯程序的畫面。再按下實(shí)驗(yàn)板的復(fù)位鍵,運(yùn)行程序。四 實(shí)驗(yàn)設(shè)備與器材配置德研電科 MSP430F6638 單片機(jī) 上海德研電子科技有限公司 Code Composer Studio (CCStudio)集成開發(fā)環(huán)境 上海德研電子科技有限公司五 實(shí)驗(yàn)記錄轉(zhuǎn)動(dòng)電位器,數(shù)碼管顯示不同數(shù)值(最小為0,最大為2.4
16、99): 六 實(shí)驗(yàn)總結(jié)程序能夠順利運(yùn)行。七 思考題或討論題(1) ADC的參考電壓如何進(jìn)行選擇?(2) ADC的四種工作狀態(tài)有何異同? (3) ADC的中斷機(jī)制如何實(shí)現(xiàn)? (4) 本文的編程涉及到整數(shù)的顯示問題,如何在 LED 上一位位顯示? 提示:采用除 10 取余數(shù)的方法,例如 2048,則有 Num0 = 2048 % 10 = 8; Num1 = (2048 / 10) % 10 = 4; Num2 = (2048/ 100) % 10 = 0; Num2 = (2048/ 1000) % 10 = 2; 然后顯示 2,0,4,8 四個(gè)數(shù)字即可。 (5) 如何啟動(dòng)轉(zhuǎn)換?如何判斷轉(zhuǎn)換是否
17、結(jié)束? (6) ADC 采樣時(shí),采用此前時(shí)刻多個(gè)采樣值的平均值作為當(dāng)前值,即均值濾波方法的意義何在?八 附上源代碼#include #include TM1638.hunsigned int result;unsigned int Val4;int i;int temp = 0;double tmp;int ind = 0;const uint8_t Num16 = 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71; /段碼const uint8_t Ad
18、dr8 = 0x08, 0x0a, 0x0c, 0x0e, 0x00, 0x02, 0x04, 0x06; /地址void main(void)WDTCTL = WDTPW+WDTHOLD; / Stop WDTP3DIR |= BIT2 + BIT4;init_TM1638();P6SEL |= BIT6;ADC12CTL0 = ADC12ON + ADC12SHT0_2 + REFON + ADC12REF2_5V;ADC12CTL1 = ADC12SHP;ADC12MCTL0 = ADC12SREF_0 + ADC12INCH_6;/ADC12IE = BIT6;for (i = 0;i 0x3600; +i);ADC12CTL0 |= ADC12ENC;ADC12IFG &= BIT6;/_BIS_SR(LPM0_bits + GIE);while (1)ADC12CTL0 |= ADC12SC;while (ADC12IFG) = 0);temp += ADC12MEM0;ind +=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高鐵建設(shè)項(xiàng)目合作開發(fā)協(xié)議
- 農(nóng)業(yè)資源管理實(shí)務(wù)手冊(cè)
- 放射科醫(yī)生雇傭合同
- 養(yǎng)殖場(chǎng)轉(zhuǎn)讓協(xié)議合同
- 汽車融資租賃合同
- 2025年克孜勒蘇州道路客貨運(yùn)輸從業(yè)資格證b2考試題庫
- 小學(xué)二年級(jí)下冊(cè)數(shù)學(xué)除法口算題專項(xiàng)訓(xùn)練
- 2025年吉林貨運(yùn)從業(yè)資格證考試題技巧及答案
- 2025年毫州貨運(yùn)上崗證考試考哪些科目
- 電力系統(tǒng)集成合同(2篇)
- 2025年工貿(mào)企業(yè)春節(jié)復(fù)工復(fù)產(chǎn)方案
- 安防監(jiān)控工程施工方案(3篇)
- 2025年藍(lán)莓種苗行業(yè)深度研究分析報(bào)告
- 《糖尿病診療規(guī)范》課件
- 2025年事業(yè)單位財(cái)務(wù)工作計(jì)劃(三篇)
- Unit 2 Know your body(說課稿)-2024-2025學(xué)年外研版(三起)(2024)英語三年級(jí)下冊(cè)
- 跨學(xué)科主題學(xué)習(xí)2-探索太空逐夢(mèng)航天 說課稿-2024-2025學(xué)年粵人版地理七年級(jí)上冊(cè)
- 《電子技術(shù)應(yīng)用》課程標(biāo)準(zhǔn)(含課程思政)
- 紙尿褲使用管理制度內(nèi)容
- 電力儲(chǔ)能用集裝箱技術(shù)規(guī)范
- 體檢中心員工禮儀培訓(xùn)
評(píng)論
0/150
提交評(píng)論