




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、院 系: 計(jì)算機(jī)科學(xué)學(xué)院 專 業(yè): 智能科學(xué)與技術(shù) 年 級(jí): 2012 學(xué) 號(hào): 2012213865 姓 名: 冉 靖 指導(dǎo)教師: 王文濤 2014年 6月1日年級(jí)2012班級(jí)智科1202班學(xué)號(hào)2012213865專業(yè)智能科學(xué)與技術(shù)姓名冉靖題目名稱Lab1 按鍵對(duì)LED 燈的控制實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?掌握對(duì) IO 口的查詢操作和IO 基本操作的流程。2.對(duì)部分引腳功能有初步了解。3學(xué)習(xí)結(jié)構(gòu)體定義各個(gè)指針變量的方法4.掌握循環(huán)調(diào)用各個(gè)結(jié)構(gòu)體內(nèi)變量的方法實(shí)驗(yàn)內(nèi)容一. 以下是端口的各個(gè)寄存器的使用方式:1方向寄存器:PxDIR:Bit=1,輸出模式;Bit=0,輸入模式。2輸入寄存器:PxIN,Bit=1
2、,輸入高電平;Bit=0,輸入低電平。3輸出寄存器:PxOUT,Bit=1,輸出高電平;Bit=0,輸出低電平。4上下拉電阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。5功能選擇寄存器:PxSEL,Bit=0,選擇為I/O端口;Bit=1,選擇為外設(shè)功能。6驅(qū)動(dòng)強(qiáng)度寄存器:PxDS,Bit=0,低驅(qū)動(dòng)強(qiáng)度;Bit=1,高驅(qū)動(dòng)強(qiáng)度。7中斷使能寄存器:PxIE,Bit=1,允許中斷;Bit=0,禁止中斷。8中斷觸發(fā)沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。9中斷標(biāo)志寄存器:PxIFG,Bit=0:沒有中斷請(qǐng)求;Bit=1:有中斷請(qǐng)求。二實(shí)驗(yàn)相關(guān)電路圖:1
3、 MSP430F6638 P4 口功能框圖:主板上右下角S1S5按鍵與MSP430F6638 P4.0P4.4口連接:2按鍵模塊原理圖:我們需要設(shè)置兩個(gè)相關(guān)的寄存器:P4OUT和P4DIR。其中P4DIR為方向寄存器,P4OUT為數(shù)據(jù)輸出寄存器。主板上右下角LED1LED5指示燈與MSP430F6638 P4.5P4.7、P5.7、P8.0連接:3 LED指示燈模塊原理圖:P4IN和P4OUT分別是輸入數(shù)據(jù)和輸出數(shù)據(jù)寄存器,PDIR為方向寄存器,P4REN為使能寄存器:#define P4IN (PBIN_H) /* Port 4 Input */#define P4OUT (PBOUT_H)
4、 /* Port 4 Output */#define P4DIR(PBDIR_H) /* Port 4 Direction */#define P4REN (PBREN_H) /* Port 4 Resistor Enable */三 實(shí)驗(yàn)分析 1 編程思路:關(guān)閉看門狗定時(shí)器后,對(duì)P4.0 的輸出方式、輸出模式和使能方式初始化,然后進(jìn)行查詢判斷,最后對(duì)P4.0 的電平高低分別作處理來控制LED 燈。程序流程圖:2 關(guān)鍵代碼分析:#include void main(void) WDTCTL = WDTPW + WDTHOLD; / 關(guān)閉看門狗 P4DIR |= BIT5; / 設(shè)置4.5口為
5、輸出模式 P4OUT |= BIT0;/ 選中P4.0為輸出方式 P4REN |= BIT0;/ P4.0使能 while (1) / Test P1.4 if (P4IN & BIT0)/如果P4.0為1則執(zhí)行,這是查詢方式按下去后是低,否則為高實(shí)驗(yàn)步驟與結(jié)果分析 P4OUT |= BIT5; /使P4.5置高 else P4OUT &= BIT5; / else reset 四 實(shí)驗(yàn)步驟與現(xiàn)象實(shí)驗(yàn)步驟:1. 將 PC 和板載仿真器通過USB 線相連;2. 打開IAR 5.30集成開發(fā)工具,選擇IAR Debug-Add-Add Files,導(dǎo)入所建文件夾中相應(yīng)的工程文件;3.選擇對(duì)該工程進(jìn)
6、行編譯鏈接,生成編譯文件。然后選擇將程序序下載到實(shí)驗(yàn)板中。程序下載完畢之后,可以選擇運(yùn)行程序,也可以選擇單步調(diào)試程序。也可以程序下載之后,按下終止調(diào)試,軟件界面恢復(fù)到原編輯程序的畫面。再按下實(shí)驗(yàn)板的復(fù)位鍵,運(yùn)行程序。實(shí)驗(yàn)現(xiàn)象按下S7 后,LED5 熄滅,松開后恢復(fù)點(diǎn)亮。未按下S7時(shí): 按下S7時(shí): 松開手后,LED5又亮了。Lab1-2 多個(gè)按鍵對(duì)LED燈的控制實(shí)驗(yàn)實(shí)驗(yàn)原理按鍵與 LED 模塊的電路連接在上一個(gè)實(shí)驗(yàn)中做過介紹,這里不再贅述,請(qǐng)閱讀3.1.1.3章節(jié)。由于 LED 燈不在同一個(gè)端口上,為了可以直接使用int 進(jìn)行索引操作,程序中將IO 口的相關(guān)寄存器的地址聲明為結(jié)構(gòu)體并保存在數(shù)組
7、中。即首先聲明了保存寄存器地址的結(jié)構(gòu):typedef struct const volatile uint8_t* PxIN;volatile uint8_t* PxOUT;volatile uint8_t* PxDIR;volatile uint8_t* PxREN;volatile uint8_t* PxSEL; GPIO_TypeDef;之后聲明所需操作的IO 端口的結(jié)構(gòu)體GPIO4、GPIO5、GPIO8,如:const GPIO_TypeDef GPIO4 = &P4IN, &P4OUT, &P4DIR, &P4REN, &P4SEL ;const GPIO_TypeDef GPIO
8、5 = &P5IN, &P5OUT, &P5DIR, &P5REN, &P5SEL ;const GPIO_TypeDef GPIO8 = &P8IN, &P8OUT, &P8DIR, &P8REN, &P8SEL ;程序分析 編程思路設(shè)置各個(gè)引腳變量并且初始化,開啟定時(shí)器 XT1,然后循環(huán)檢查按鍵是否按下,如果按下,就把IO 電平取反,并且延時(shí)100ms(此處用延時(shí)來確定了掃描頻率)。程序流程圖:關(guān)鍵代碼分析:宏定義和參數(shù)定義:typedefstruct/以指針形式定義P8口的各個(gè)寄存器constvolatile uint8_t* PxIN; /定義一個(gè)不會(huì)被編譯的無(wú)符號(hào)字符型變量volat
9、ile uint8_t* PxOUT;volatile uint8_t* PxDIR;volatile uint8_t* PxREN;volatile uint8_t* PxSEL; GPIO_TypeDef;constGPIO_TypeDef GPIO4 = &P4IN, &P4OUT, &P4DIR, &P4REN, &P4SEL;constGPIO_TypeDef GPIO5 =&P5IN, &P5OUT, &P5DIR, &P5REN, &P5SEL;constGPIO_TypeDef GPIO8 =&P8IN, &P8OUT, &P8DIR, &P8REN, &P8SEL;const
10、GPIO_TypeDef* LED_GPIO5 = &GPIO4, &GPIO4, &GPIO4, &GPIO5, GPIO8;const uint8_t LED_PORT5 = BIT5, BIT6, BIT7, BIT7, BIT0;主函數(shù):while(BAKCTL & LOCKIO) / Unlock XT1 pins for operationBAKCTL &= (LOCKIO);UCSCTL6 &= XT1OFF;/啟動(dòng)XT1while (UCSCTL7 & XT1LFOFFG) /等待XT1穩(wěn)定UCSCTL7 &= (XT1LFOFFG);UCSCTL4 = SELA_XT1CLK
11、 + SELS_REFOCLK + SELM_REFOCLK;/時(shí)鐘設(shè)為XT1,頻率較低,方便軟件延時(shí)int i;for(i=0;iPxDIR |= LED_PORTi; /設(shè)置各LED燈所在端口為輸出方向P4REN |= 0 x1F; /使能按鍵端口上的上下拉電阻P4OUT |= 0 x1F; /上拉狀態(tài)uint8_t last_btn = 0 x1F, cur_btn, temp;while(1)cur_btn = P4IN & 0 x1F;temp = (cur_btn last_btn) &last_btn; /找出剛向下跳變的按鍵last_btn = cur_btn;int i;fo
12、r(i=0;i5;+i)if(temp & (1 PxOUT = LED_PORTi; /翻轉(zhuǎn)對(duì)應(yīng)的LED_delay_cycles(3276); /延時(shí)大約100ms實(shí)驗(yàn)步驟與實(shí)驗(yàn)現(xiàn)象實(shí)驗(yàn)步驟按照上次實(shí)驗(yàn)內(nèi)容將生成的相應(yīng)文件燒入板子內(nèi),依次按下各個(gè)鍵S3、S4、S5、S6、S7觀察LED燈的變化。實(shí)驗(yàn)現(xiàn)象依次按下 S3、S4、S5、S6、S7 按鍵后,LED1、LED2、LED3、LED4、LED5 依次點(diǎn)亮,再一次按順序按下時(shí),依次熄滅。心得體會(huì)成績(jī)?cè)u(píng)定教師簽名: 年 月 日年級(jí)2012班級(jí)智科1202班學(xué)號(hào)2012213865專業(yè)智能科學(xué)與技術(shù)姓名冉靖題目名稱Lab2 段式液晶實(shí)驗(yàn)實(shí)驗(yàn)?zāi)?/p>
13、的1了解 MSP430F6638 的LCD 驅(qū)動(dòng)模塊2了解段式液晶顯示的原理實(shí)驗(yàn)內(nèi)容一實(shí)驗(yàn)原理段式液晶的驅(qū)動(dòng)信號(hào)由兩個(gè)部分組成,第一部分是公共端偏壓信號(hào)(COM),主板上的段式液晶模塊是1/3 偏壓( bias) 的, 也就是加在液晶模塊每一位上的電壓分為VCC2/3VCC1/3VCCGND 四個(gè)等級(jí),這個(gè)偏壓信號(hào)可以通過軟件設(shè)置讓MSP430f6638內(nèi)部的LCD 驅(qū)動(dòng)模塊自動(dòng)生成,其引腳COM0COM3 就是這些電壓的輸出引腳,直接與段式液晶屏的COM0COM3 相連即可。第二部分信號(hào)是驅(qū)動(dòng)信號(hào)(S0S11),與液晶屏上的S0S11 連接。從下圖中可以看出,S9S12 具有復(fù)用關(guān)系,當(dāng)不使
14、用段式液晶時(shí)可以將P10 處相應(yīng)的跳線拔掉,以免屏幕上出現(xiàn)干擾。段式液晶模塊電路原理圖:主板上的段式液晶顯示采用4MUX 模式,其段式液晶顯示參數(shù)對(duì)應(yīng)關(guān)系如下圖所示,即4 個(gè)公共端(COM0COM3)及12 個(gè)驅(qū)動(dòng)端(S0S11),為了顯示出我們想要的數(shù)字,當(dāng)分別給公共端與驅(qū)動(dòng)端合適液晶信號(hào)時(shí),就會(huì)顯示對(duì)應(yīng)的數(shù)碼(其中X1、X2、X3 是三個(gè)電池符號(hào),4P、5P、6P 是后面三位字符的三個(gè)小數(shù)點(diǎn))。實(shí)驗(yàn)步驟與結(jié)果分析段式液晶顯示參數(shù)對(duì)應(yīng)關(guān)系:二 實(shí)驗(yàn)分析1編程思路在寫程序操作段式液晶之前首先就是要先配置好系統(tǒng)時(shí)鐘,即選為系統(tǒng)時(shí)鐘配置合適的晶振,然后就是要配置好與段式液晶相連的IO 口,即確定相
15、應(yīng)IO 口的工作模式,再通過操作IO 口對(duì)段式液晶進(jìn)行初始化,最后再通過控制IO 口使段式液晶顯示出需要的信息來。配置操作可直接讀寫MSP430f6638 內(nèi)部LCD 驅(qū)動(dòng)器相關(guān)寄存器來完成需設(shè)置P5.3,P5.4,P5.5 作為L(zhǎng)CD 的COM 口,S0S11 為L(zhǎng)CD 的段選,清空LCD 寄存器,啟動(dòng)LCD 模塊,配置相關(guān)的寄存器包括P5SEL、LCDBPCTL0、LCDBCTL0、LCDBMEMCTL、LCDBCTL0,寄存器詳解可看文檔介紹;顯示過程首先確定位及其相應(yīng)位的斷碼數(shù)據(jù),即確定LCDMEMx的值,x 表示相應(yīng)的位,可直接調(diào)用已有的液晶驅(qū)動(dòng)函數(shù)來完成。2程序流程圖:3代碼分析首
16、先需要了解幾個(gè)驅(qū)動(dòng)函數(shù)的用法a) voidLCDSEG_SetDigit(intpos, int value);該函數(shù)的作用為在段式液晶的第pos位上顯示數(shù)字value,其中1=pos=6,0=value=F,當(dāng)value為-1時(shí)表示清除該位上數(shù)字的顯示。b) voidLCDSEG_DisplayNumber(int32_t num, intdppos);該函數(shù)的作用為在段式液晶上顯示一個(gè)num的整數(shù),dppos為小數(shù)點(diǎn)要顯示的位置,0=num=999999,0=dppos=3,當(dāng)dppos=0表示不顯示小數(shù)點(diǎn)。main.c#include #include #include #include
17、 #include dr_lcdseg.h /調(diào)用段式液晶驅(qū)動(dòng)頭文件#define XT2_FREQ 4000000#define MCLK_FREQ 16000000#define SMCLK_FREQ 4000000void initClock() while(BAKCTL & LOCKIO) /解鎖XT1引腳操作BAKCTL &= (LOCKIO);UCSCTL6 &= XT1OFF; /啟動(dòng)XT1,選擇內(nèi)部時(shí)鐘源 P7SEL |= BIT2 + BIT3; /XT2引腳功能選擇UCSCTL6 &= XT2OFF; /啟動(dòng)XT2while (SFRIFG1 & OFIFG) /等待XT1
18、、XT2與DCO穩(wěn)定 UCSCTL7 &= (DCOFFG+XT1LFOFFG+XT2OFFG); SFRIFG1 &= OFIFG; UCSCTL4 = SELA_XT1CLK + SELS_XT2CLK + SELM_XT2CLK; /避免DCO調(diào)整中跑飛 UCSCTL1 = DCORSEL_5; /6000kHz23.7MHz UCSCTL2 = MCLK_FREQ / (XT2_FREQ / 16); /XT2頻率較高,分頻后作為基準(zhǔn)可獲得更高的精度 UCSCTL3 = SELREF_XT2CLK + FLLREFDIV_16; /XT2進(jìn)行16分頻后作為基準(zhǔn) while (SFRIF
19、G1 & OFIFG) /等待XT1、XT2與DCO穩(wěn)定 UCSCTL7 &= (DCOFFG+XT1LFOFFG+XT2OFFG); SFRIFG1 &= OFIFG; UCSCTL5 = DIVA_1 + DIVS_1 + DIVM_1; /設(shè)定幾個(gè)CLK的分頻 UCSCTL4 = SELA_XT1CLK + SELS_XT2CLK + SELM_DCOCLK; /設(shè)定幾個(gè)CLK的時(shí)鐘源void main(void)unsigned char i,num1;int32_t num2; WDTCTL = WDTPW | WDTHOLD;/ 停止看門狗 initClock(); /配置系統(tǒng)時(shí)鐘
20、 initLcdSeg(); /初始化段式液晶 while(1) /進(jìn)入程序主循環(huán) for(i=0;i6;i+) for(num1=0;num110;num1+) LCDSEG_SetDigit(i,num1); /在段式液晶的第i位上顯示數(shù)字num1 _delay_cycles(MCLK_FREQ/5); /延時(shí)200ms LCDSEG_SetDigit(i,-1); /清除在段式液晶上顯示的第i位數(shù)字 for(num2=111111;num21000000;num2=num2+111111) LCDSEG_DisplayNumber(num2,0); /顯示六位數(shù),從111111-9999
21、99 _delay_cycles(MCLK_FREQ/2);/延時(shí)500ms for(i=0;i6;i+) LCDSEG_SetDigit(i,-1); /段式液晶清屏 _delay_cycles(MCLK_FREQ); /延時(shí)1000ms 三 實(shí)驗(yàn)步驟與現(xiàn)象實(shí)驗(yàn)步驟1. 將跳線帽接到 MSP430f6638 試驗(yàn)箱P10 處引腳S9、S10、S11 上2. 打開 IAR 5.30開發(fā)軟件,創(chuàng)建MSP430F6638 的一個(gè)空工程3. 將段式液晶驅(qū)動(dòng)文件 dr_lcdseg.c 及dr_lcdseg.h 添加到工程下4. 在主函數(shù)中編寫以上的代碼,鏈接開發(fā)板與計(jì)算機(jī),編譯運(yùn)行將程序下載到實(shí)驗(yàn)板
22、多個(gè)字符與單個(gè)字符顯示 心得體會(huì)成績(jī)?cè)u(píng)定教師簽名: 年 月 日年級(jí)2012班級(jí)智科1202班學(xué)號(hào)2012213865專業(yè)智能科學(xué)與技術(shù)姓名冉靖題目名稱Lab3按鍵對(duì)LED燈的控制實(shí)驗(yàn)(中斷方式)實(shí)驗(yàn)?zāi)康?了解 MSP430f6638 得中斷系統(tǒng)2掌握 IO 口中斷的使用和編程實(shí)驗(yàn)內(nèi)容一 實(shí)驗(yàn)原理本實(shí)驗(yàn)應(yīng)用的是 MSP430F6638 的IO 口中斷,主板S7 上按鍵連接到P4.0 口,當(dāng)S7 按鍵被按下時(shí),P4.0 口電平由高變成低觸發(fā)一個(gè)中斷事件,然后在P4 口的中斷函數(shù)中填寫代碼改變LED5 燈的狀態(tài)。按鍵模塊原理圖:LED指示燈模塊原理圖:二 實(shí)驗(yàn)分析1編程思路需要設(shè)置P4.5 口為輸出
23、狀態(tài)以控制LED5 燈狀態(tài),還需要使能P4.0 口的上拉電阻,選擇P4.0 口中斷沿,使能中斷,清中斷標(biāo)志位,然后進(jìn)入等待狀態(tài),最后再寫一個(gè)P4 口的中斷服務(wù)函數(shù),在函數(shù)中改變LED5燈的點(diǎn)亮狀態(tài)。當(dāng)有按鍵被按下既產(chǎn)生了中斷事件,程序轉(zhuǎn)向中斷服務(wù)函數(shù)并改變LED5燈的狀態(tài)。用到的寄存器有P4DIR、P4REN、P4OUT、P4IES、P4IFG、P4IE。 2程序流程圖:3代碼分析:* main.c */#include void main(void) WDTCTL = WDTPW + WDTHOLD; /關(guān)閉看門狗 P4DIR |= BIT5; /設(shè)置P4.5口方向?yàn)檩敵?P1DIR &=
24、BIT0; P1REN |= BIT0; /使能P1.0上拉電阻 P1OUT |= BIT0; /P1.0口置高電平 P1IES |= BIT0; /中斷沿設(shè)置(下降沿觸發(fā)) P1IFG &= BIT0; /清P1.0中斷標(biāo)志 P1IE |= BIT0; /使能P1.0口中斷 _bis_SR_register(LPM4_bits + GIE); /進(jìn)入低功耗模式4 開中斷 _no_operation(); /空操作/ P4中斷函數(shù)#pragma vector=PORT1_VECTOR_interrupt void Port_1(void) P4OUT = BIT5; /改變LED5燈狀態(tài) P1
25、IFG &= BIT0; /清P1.0中斷標(biāo)志位三 實(shí)驗(yàn)步驟與現(xiàn)象實(shí)驗(yàn)步驟:1打開開發(fā)軟件 IAR,創(chuàng)建一個(gè)MSP430f6638 的空工程;2完成以上代碼的編寫;3將代碼編譯下載到開發(fā)板中運(yùn)行,將開發(fā)板上P17的1.0和4.5的兩個(gè)接頭分別用兩根線連接,再將兩根導(dǎo)線的另一端接觸,觀察LED5 燈滅狀態(tài)。 實(shí)驗(yàn)現(xiàn)象: 心得體會(huì)成績(jī)?cè)u(píng)定教師簽名: 年 月 日年級(jí)2012班級(jí)智科1202班學(xué)號(hào)2012213865專業(yè)智能科學(xué)與技術(shù)姓名冉靖題目名稱Lab4 ADC與DAC 實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?了解 ADC 和DAC轉(zhuǎn)換原理2學(xué)習(xí) MSP430F6638 中ADC12 和DAC12的配置使用方法3掌握 LE
26、D 燈的控制方法4結(jié)合電位器與 ADC12 模塊實(shí)現(xiàn)對(duì)LED 燈的控制5能夠用 DAC12 輸出0-3.3V 之間的固定模擬電壓實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)一 ADC轉(zhuǎn)換實(shí)驗(yàn)一 實(shí)驗(yàn)原理模數(shù)轉(zhuǎn)換器(ADC)是指將連續(xù)的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的器件。真實(shí)世界的模擬信號(hào),例如溫度、壓力、聲音或者圖像等,需要轉(zhuǎn)換成更容易儲(chǔ)存、處理和發(fā)射的數(shù)字形式。在A/D 轉(zhuǎn)換中,因?yàn)檩斎氲哪M信號(hào)在時(shí)間上是連續(xù)的,而輸出的數(shù)字信號(hào)是離散量,所以進(jìn)行轉(zhuǎn)換時(shí)只能按一定的時(shí)間間隔對(duì)輸入的模擬信號(hào)進(jìn)行采樣,然后再把采樣值轉(zhuǎn)換為輸出的數(shù)字量。 實(shí)驗(yàn)中通過旋轉(zhuǎn)撥盤電位器(R13)改變ADC 端輸入電壓,然后依據(jù)電壓高低分為幾檔通過LE
27、D1LED5 顯示出來。 撥盤電位器模塊電路原理圖:二 程序分析 1編程思路 熟悉了MSP430F6638 中的ADC12 模塊原理之后便可對(duì)其控制寄存器進(jìn)行配置,設(shè)計(jì)采樣模式,時(shí)刻得到電位器的輸出端電壓值。并通過其大小,設(shè)定范圍從而來控制LED 燈的亮滅。 2程序流程圖3.關(guān)鍵代碼分析#includevoid main(void)WDTCTL = WDTPW + WDTHOLD;/關(guān)閉看門狗P4DIR |= BIT5 + BIT6 + BIT7;/配置GPIO引腳P5DIR |= BIT7;P8DIR |= BIT0;ADC12CTL0 |= ADC12MSC;/自動(dòng)循環(huán)采樣轉(zhuǎn)換ADC12C
28、TL0 |= ADC12ON;/啟動(dòng)ADC12模塊ADC12CTL1 |= ADC12CONSEQ1 ;/選擇單通道循環(huán)采樣轉(zhuǎn)換ADC12CTL1 |= ADC12SHP;/采樣保持模式ADC12MCTL0 |= ADC12INCH_15; /選擇通道15,連接撥碼電位器ADC12CTL0 |= ADC12ENC;volatile unsigned int value = 0;/設(shè)置判斷變量while(1)ADC12CTL0 |= ADC12SC;/開始采樣轉(zhuǎn)換value = ADC12MEM0;/把結(jié)果賦給變量if(value 5)/判斷結(jié)果范圍P4OUT |= BIT5;elseP4OUT
29、 &= BIT5;if(value = 800)P4OUT |= BIT6;elseP4OUT &= BIT6;if(value = 1600)P4OUT |= BIT7;elseP4OUT &= BIT7;if(value = 2400)P5OUT |= BIT7;elseP5OUT &= BIT7;if(value = 3200)P8OUT |= BIT0;elseP8OUT &= BIT0;4.實(shí)驗(yàn)步驟與現(xiàn)象實(shí)驗(yàn)步驟1. 根據(jù)編程思路設(shè)計(jì)結(jié)構(gòu)與實(shí)現(xiàn)方法。2. 按照流程圖實(shí)現(xiàn)代碼編寫,并在編譯器上進(jìn)行編譯改錯(cuò)。3. 將程序燒入開發(fā)板中進(jìn)行調(diào)試與檢測(cè)。4. 通過調(diào)節(jié)電位器查看 LED 燈的變
30、化是否符合設(shè)計(jì)要求。實(shí)驗(yàn)現(xiàn)象實(shí)驗(yàn)二 DAC 實(shí)驗(yàn)一 實(shí)驗(yàn)原理數(shù)模轉(zhuǎn)換模塊(DAC)數(shù)模轉(zhuǎn)換是將數(shù)字量轉(zhuǎn)換為模擬電量(電流或電壓),使輸出的模擬電量與輸入的數(shù)字量成正比。實(shí)現(xiàn)這種轉(zhuǎn)換功能的電路叫數(shù)模轉(zhuǎn)換器(DAC)。D/A 轉(zhuǎn)換器基本上由4 個(gè)部分組成,即權(quán)電阻網(wǎng)絡(luò)、運(yùn)算放大器、基準(zhǔn)電源和模擬開關(guān)。數(shù)字量以串行或并行方式輸入、存儲(chǔ)于數(shù)字寄存器中,數(shù)字寄存器輸出的各位數(shù)碼,分別控制對(duì)應(yīng)位的模擬電子開關(guān),使數(shù)碼為1 的位在位權(quán)網(wǎng)絡(luò)上產(chǎn)生與其權(quán)值成正比的電流值,再由求和電路將各種權(quán)值相加,即得到數(shù)字量對(duì)應(yīng)的模擬量。DAC 模塊電路原理圖:T2為DAC的外接輸出端口,對(duì)應(yīng)于P7.6,輸出電壓最大值為VC
31、C,最小值為GND。參考電壓可有五種選擇,分別是:2.5V、2.0V、1.5V、外部電壓,AVCC。DAC12_0DAT中保存的是需要轉(zhuǎn)換的數(shù)字電壓值,它與0 x0FFF 的的比值應(yīng)該等于實(shí)際輸出的模擬電壓值與參考電壓的比值。另外配置DAC 轉(zhuǎn)換器的關(guān)鍵寄存器DAC12_xCTL0 Register。主要的控制位有:DAC12OPS:選擇輸出通道DAC12SREFx:選擇參考電壓DAC12ENC:轉(zhuǎn)換使能DAC12CALON:?jiǎn)?dòng)校驗(yàn)功能DAC12 模塊結(jié)構(gòu)框圖:二 程序分析編程思路首先通過配置基礎(chǔ)的控制寄存器,并按照DAC 原理,有順序的對(duì)各個(gè)位進(jìn)行賦值,然后再啟動(dòng)DAC12 轉(zhuǎn)換,并賦予數(shù)
32、字電壓值。最后讓芯片處于低功耗狀態(tài)。程序流程圖 關(guān)鍵代碼分析#includevoid main(void) WDTCTL = WDTPW + WDTHOLD; /關(guān)閉看門狗 P7DIR |= BIT6;/設(shè)置P7.6口為輸出口 P7SEL |= BIT6;/使能P7.6口第二功能位 DAC12_0CTL0 |= DAC12IR; /設(shè)置參考電壓滿刻度值,使Vout = Vref(DAC12_xDAT/4096) DAC12_0CTL0 |= DAC12SREF_1; /設(shè)置參考電壓為AVCC DAC12_0CTL0 |= DAC12AMP_5;/設(shè)置運(yùn)算放大器輸入輸出緩沖器為中速中電流 DAC
33、12_0CTL0 |= DAC12CALON; /啟動(dòng)校驗(yàn)功能 DAC12_0CTL0 |= DAC12OPS;/選擇第二通道P7.6 DAC12_0CTL0 |= DAC12ENC; /轉(zhuǎn)化使能 DAC12_0DAT = 0 xFFF; /輸入數(shù)據(jù)_bis_SR_register(LPM4_bits); /進(jìn)入低功耗狀態(tài)三 實(shí)驗(yàn)步驟與現(xiàn)象實(shí)驗(yàn)步驟1. 構(gòu)思好編程思路后,畫出流程圖。2. 根據(jù)流程圖在工程的主函數(shù)中完成代碼編寫。3. 調(diào)試編譯程序,完善代碼,解決問題。4. 將程序燒入開發(fā)板中測(cè)試效果,用萬(wàn)用表測(cè)量輸出管腳 P7.6 或圖一中的T2 端口實(shí)驗(yàn)現(xiàn)象 實(shí)驗(yàn)結(jié)果(DAT=0 x7FF,
34、左;DAT=0 xFFF,右)心得體會(huì)成績(jī)?cè)u(píng)定教師簽名: 年 月 日年級(jí)2012班級(jí)智科1202班學(xué)號(hào)2012213865專業(yè)智能科學(xué)與技術(shù)姓名冉靖題目名稱Lab-5步進(jìn)電機(jī)(step-motor)簡(jiǎn)單控制實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?.熟練使用 GPIO2.了解什么是步進(jìn)電機(jī)3.學(xué)習(xí)步進(jìn)電機(jī)控制實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)原理 步進(jìn)電機(jī)介紹步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理是利用電子電路,將直流電變成分時(shí)供電的、多相時(shí)序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常工作。雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不能像普通的直流電機(jī)、交流電機(jī)在常規(guī)下使用。它必須由雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)方可使用。因此用好步進(jìn)電機(jī)卻非易事,它涉及到機(jī)械、電機(jī)、電子及計(jì)算機(jī)等許多專業(yè)知識(shí)。步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年開封運(yùn)輸從業(yè)資格證考試技巧
- 農(nóng)業(yè)設(shè)備供貨合同范本
- 勞動(dòng)合同范本大全
- 2025年運(yùn)城貨運(yùn)上崗證模擬考試試題
- 專利侵權(quán)檢索合同范本
- 買賣廢鋼材合同范本
- 勞務(wù)合同范本無(wú)社保
- 臨泉教師合同范本
- 三人合作協(xié)議合同范本
- 交電產(chǎn)品銷售合同范例
- (74)-17.3手性高效液相色譜法
- 淺談新生兒肺透明膜病的影像學(xué)診斷
- SMT失效模式分析PFMEA
- 國(guó)際貿(mào)易地理全套課件
- 家校共育-助孩子成長(zhǎng)-家長(zhǎng)會(huì)課件
- 叉形件工藝及車床夾具設(shè)計(jì)說明書
- GB/T 5916-2008產(chǎn)蛋后備雞、產(chǎn)蛋雞、肉用仔雞配合飼料
- 《中小學(xué)教育懲戒規(guī)則》(試用)試題及答案
- GB/T 23723.1-2009起重機(jī)安全使用第1部分:總則
- 安全測(cè)試工具、蹭網(wǎng)利器wifiphisher新增漢化版
- 中學(xué)教育-中學(xué)生心理健康量表參考范本
評(píng)論
0/150
提交評(píng)論