




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第二章軟件的安裝與應 第四章觸摸按鍵應用實 第五章加速度計應用實 第六章USB通信實 第七章MicroSD卡應用實 USB型SD卡讀寫實 第八章功耗測試實 第九章綜合實 附錄一RF無線接口模塊電路介 附錄二EZ430-RF接口模塊電路介 第一部分:實驗設備軟硬件安裝及說明MSP-EXP430F5529 微控制器特(AM290μA/MHz8MHz,3.0V,F(xiàn)lashProgram1.4μA3.0V(典型--32MHZ--USCI_A0和USCI_A1,每個支持:增強UART、IrDA、同步--USCI_B0和USCI_B1,每個支持:I2C、同步三通道內(nèi)部 引腳圖及結(jié)構框MSP- 開發(fā)板硬件及軟件資源概述MSP- 開發(fā)板硬件資源概述MSP430F5529開發(fā)板(MSP-EXP430F5529)MSP430F5529USBMSP430CC2520EMKTI低功耗射頻無線評估模塊兼容。開發(fā)板能幫助設計者快速使用F5529MCU進行學習和開發(fā),其中F5529MCU為能量收集、無線傳感以及自動抄表基礎設施(AMI)等應用提供了業(yè)界最低工作功耗的集成USB、更大的內(nèi)存和領先的集成技術。MSP430F5529開發(fā)板的結(jié)構組成如圖1.3所示。我們從左上角開始,按順時針方向介1個RF射頻接口、MicroSDCard插槽(1G內(nèi)存卡MSP430F5529引腳接口、5529USB接口、JTAG仿真接口、1個齒輪電位計、5塊電容觸摸按鍵、9LED、4個按鈕(2個1個三坐標軸加速度計以及MSP430F5529。F5529部分引腳接出來,方便用戶進行實驗操作,既適合科研開發(fā),又適是廣大電子者學習、開發(fā)MSP430系列單片機的良好平臺。 MSP- 開發(fā)板實驗程序資源概述1.1包含USB包含USB初始化初始化設VCORE為最初始化顯示TI初始化初始化設置實時使顯示TI初始化初始化設置實時使能全部清除中斷設置背MSP- MSP- 開發(fā)板供電方案實物分析
1.55529USB(開發(fā)板右上角)LDO檔位,JP11短路塊由左邊兩個端口短接變?yōu)橛疫厓蓚€端口短接,其他電源選擇短路塊保持原始方案四:開發(fā)板由兩節(jié)電池供電,將電源撥碼開關打到JTAG/BATT檔位,電源選擇短MSP- 開發(fā)板供電方案電路分析圖中,SW1代表電源選擇撥碼開關;DVCC電源為MSP430F5529微控制器供電,測試MSP430F5529微控制器外其他模塊供電,測試該路電流,即可得到系統(tǒng)的功耗。F5529USB3.3V500mA1.6JP8短路塊可知LDO_SELALT_LDO1.7可見,ALT_LDO5529_VBUSTPS73533芯電壓值為5V。1.8F5529Mini-USB電電源EZ_VCC由EZ_VBUS經(jīng)TPS77301DGK電平轉(zhuǎn)換而來,又由圖1.10可見,EZ_VBUS由左下角Mini-USB傳輸線上電源線所得,其電壓值也為5V。 仿真接口,供電電壓為1.8V~5V之間,供電電流為100mA。由圖1.11可知該方案的供電電源JTAG_PWR來自于JTAG接口電的電源引腳。1.12MSP- Mini-USBMSP-EXP430F5529USB接口連接,并將短路用外置仿真器進行程序仿真。該方案需安裝仿真器驅(qū)動,才可進行程序的調(diào)試。onMSP430?MCUs。1.13MSP- 開發(fā)板短路塊設置及功能介連接齒輪電位計和斷開齒輪電位計和P8.0LED1和LED1和P8.0JP6-430通孔與JP6JP7-SYS僅在5529USB提供電源時有用。與MSP430VCC;INTF5529LDO與僅在JTAG:JAG連接VCCRF接口:J12,J13JP15-USB將USB5V電源供給DVCC:連接MSP430VCC間連接JTAGMSP- 引腳(左引腳(右UCA1RXD/GPIO–UCA1TXD/GPIO–GPIO–UCA1RXD/A9/VREF-/UCA1TXD/CB7/引腳(左引腳(右CB8/UCB1SCL-CB9/CB10/UCA1STE-CB11/UCB1STEUCA1CLK-TB0OUTHSVMOUT-TB0CLK/引腳(左引腳(右MSP- 開發(fā)板資源途 MSP430x5xx/x6xx用戶指導: MSP430F552x: USB
/index.php/Download CCS(CodeComposerStudio)是TI公司研發(fā)的一款具有環(huán)境配置、源文件編輯、程序調(diào)試和數(shù)據(jù)分析等工作。CCSv5.1為CCS軟件的版本,功能更強大、性能更穩(wěn)定、可用性更高,是MSP430軟件開發(fā)的理想工具。2.1單擊Next得到如圖2.2所示的窗口,為了安裝快捷,在此只選擇支持MSP430LowPowerMCUs的選項。單擊Next,保持默認配置,繼續(xù)安裝。2.22.32.4單擊Finish,將運行CCS,彈出如圖2.5所示窗口,打開―我的電腦‖,在某一磁盤下,創(chuàng)建以下文件夾路徑:-\MSP-EXP430F5529\Workspace,單擊Browse,將工作區(qū)間到所建文件夾,不勾選"Usethisasthedefaultanddonotaskagain"。圖 在此,選擇CODESIZELIMITED(MSP430)MSP430,CCS免費開放16KB的程序空間;若您有軟件,可以參考以下進行軟件的認證:/index.php/GSG:CCSv5RunningforthefirsttimeFinish即可進入CCSv5.1軟件開發(fā)集成環(huán)境,如圖2.7所示。利用CCSv5.1導入已有工程在此以實驗一的工程為例進行講解,首先打開CCSv5.1并確定工作區(qū)間:Studio選擇ExistingCCS/CCEEclipseProjects。單擊Next得到圖2.9框2.9單擊Browse選擇需導入的工程所在,在此,我們選擇:F\MSP-EXP430F5529\Workspace\MSP-EXP430F5529LABCODE\LAB1(需在此之前,將實驗代碼到工作區(qū)間下2.10。2.10CCSv5.1新建工圖2.11新建CCS工程在Outputtype中有兩個選項:ExecutableStaticlibrary,前者為構建一個完整的在Device部分選擇器件的型號:在此Family選擇MSP430ariant選擇2.12新建.h文件:在工程名上,選擇New-->HeaderFile得到圖2.13框圖2.13新建.h文件Headerfile中輸入頭文件的名稱,注意必須以.h結(jié)尾,在此輸入myo1.h圖2.14新建.c文件導入已有.h或.c文件:在工程名上右鍵單擊,選擇AddFiles得到如2.15框圖2.15導入已有文件2.16若已用其它編程軟件(IAR,完成了整個工程的開發(fā),該工程無法直接移植入有.h和.c文件,從而完成整個工程的移植。CCSv5.1調(diào)試工創(chuàng)建目標配置文件驗一為例進行講解:首先導入實驗一的工程,導入步驟請參考2.2節(jié),如圖2.17所示,其中MSP430F5529.ccxml目標配置文件已經(jīng)正確創(chuàng)建,即可以進行編譯調(diào)試,無需重新創(chuàng)在此對LAB1的工程再次創(chuàng)建目標配置文件。F5529F5529目標創(chuàng)建目標配置文件步驟如下:右鍵單擊項目名稱,并選擇NEW-->TargetConfigurationFile。2.18置文件,因此,將配置文件命名為MSP-EXP430F5529.ccxml,如圖2.19所示。2.192.20Connection選項保持默認:TIMSP430USB1(Default)BoardorDevice菜式。要查看系統(tǒng)上所有現(xiàn)有目標配置,只需要去View-->TargetConfigurations查看。2.21啟動調(diào)試器LAB1工程進行編譯通過:選擇Project-->BuildProject,調(diào)試目標工程,調(diào)試結(jié)果,如圖2.22所示,表示編譯沒有錯誤產(chǎn)生,可以進行調(diào)試;如果程序有錯誤,將會在Problems窗口顯示,根據(jù)顯示的錯誤修改程序,并重新編譯,直到無錯誤提示。單擊綠色的Debug按鈕進 2.23設置成功后將顯示圖標,可以通過雙擊該圖標來取消該斷點。程序運行的過程中可以通過單步調(diào)試按鈕配合斷點單步的調(diào)試程序,單擊重新開始圖標定位到main()函數(shù),單擊復位按鈕復位??赏ㄟ^中止按鈕返回到編輯界面。CCSV5.1查看變量、寄存器、匯編程序或者是序。單擊菜單View→Variables,可以查看到變量的值,如圖2.24所示。2.242.25點擊菜單View→Expressions,可以得到觀察窗口,如圖2.26所示??梢酝ㄟ^2.262.272.282.29 資源管理器介紹及應用CCSv5.1具有很強大的功能,并且其內(nèi)部的資源也非常豐富,利用其內(nèi)部資源進行MSP430單片機開發(fā),將會非常方便?,F(xiàn)在演示CCSv5.1資源管理器的應用。如圖2.30所示,通過Help-- etoCCS打開CCSv5.1的歡迎界面2.30具體TI歡迎界面如圖2.31所示,利用NewProject可以新建CCS工程,具體新建步驟可以參考2.3節(jié):利用CCSv5.1新建工程;利用Examples可以搜索到示例程序資源;利用ImportProject可以導入已有CCS工程文件,具體導入步驟可以參考2.2節(jié):利用CCSv5.1導入已有工程;利用Support可以獲得技術支持;利用WebResources可以進入CCSv5.1網(wǎng)絡,學習CCSv5.1有關知識。在PcaesALLCCSv5.12.32所示。MSP430Ware。MSP430WareMSP430MCU器件的代MSP430MCU專家所需要的一切。2.33MSP430ware,其包含三個方面內(nèi)容:MSP430單片機資源、開發(fā)裝置資源以及MSP430。2.33MSP430ware展開MSP4302.34MSP430F5XX/6XX,其中包含F(xiàn)5xx/6xx系列的用戶指導、、單片機選型表以及示例代碼。2.34CodeExamplesMSP430F552x,在右面窗口中,將得到MSP430F552x2.35ADC模塊的MSP430ADC的工程,作為講解,在此選擇第二個在此選擇MSP430F5529,單擊OK。之后您將在工程瀏覽器中,看到導入的工程:2.35MSP430F552x2.36單擊UserExperienceProject(CodeLimited),在右面窗口中將得到如圖2.37所示窗MSP-EXP430F5529UserExperience_16KB,并且第一步和第三步后面藍色的對號變亮。單 展開Libraries,得到如圖2.38所示的界面,其中包含MSP430驅(qū)動程序庫SP0使用戶更容易地對MSP430硬件進行開發(fā)。就目前而言,MSP430驅(qū)動程序庫可支持MSP430F5xx和6xx器件。MSP430USB開發(fā)資源含了開發(fā)一個基于USB的MSP430項目所需的所有源代碼和示例應用程序,該開發(fā)資源包只支持MSP430USB設備。圖2.38管理第二部分:實驗例程介紹學習利用定時器產(chǎn)生波形的方法學習ADC12實驗所需硬件電路模塊介LCD液晶顯示模塊、按鍵輸入模塊、齒輪電位計點陣LCD液晶顯示模塊電路.1264LDSILD_(74片選信號、LDC(6)為命令數(shù)據(jù)切換信號、SK(43MU1K)為數(shù)據(jù)SM(4.1M_U1SMOLDST示模塊電路引腳設置如下(在Board_init()函數(shù)中:P5OUT&=~(BIT6+BIT7);P5DIR|=BIT6+BIT7;P7OUT&=~(BIT4+BIT6);P7DIR|=BIT4+BIT6;P4OUT&=~(BIT1+BIT3);P4DIR&=~BIT2;P4DIR|=BIT1+
SIMOSCKSOMILEDLCD_BL_EN(P7.6)上輸出信號進行調(diào)節(jié)背光亮度。具體資料可以參考3.3按鍵輸入模塊電路S2(P2.2在該電路中按鍵無上拉電阻,應在程序中,利用PxREN使上拉電阻使能。另外還有兩個具按鍵輸入模塊電路引腳定義如下(Board_init()函數(shù)中PADIRPADIR& 3.4齒輪電位計采樣模塊電路連接。齒輪電位計采樣模塊電路引腳定義如下(在Board_init()函數(shù)中P6DIRP6DIR&=~BIT5;P8OUT&=P8DIR|=A5ADC3.5程序資源介紹在MSP-EXP430F5529開發(fā)板實驗一程序代碼文件夾(MSP-EXP430F5529LABHAL_.h/.c:用戶菜單界面功能管理程序#define#defineLED1#defineLED2#defineLED3#defineLED4#defineLED5#defineLED6#defineLED7#define#defineLEDexternexternvoidexternvoidexternvoidBoard_ledOn(uint8_tledMask);externvoidBoard_ledOff(uint8_tledMask);externvoidBoard_ledToggle(uint8_tledMask);externexternvoidHAL_.h/.c程序介7externextern _active(char Text,uint8_tstaticstaticconstchar*const{"1.Contrast"2.Backlight"3.DigitalClockText[] ogClock"5.SetTime然后利用下面的程序進行菜單的顯示和執(zhí)行代碼的選擇,_active((charselectionselection_active((char Text,if(buttonsPressed&switch{case1:ContrastSetting();break;case2:BacklightSetting();break;case3:case4:yDigitalClock();yogClock();case5:SetTime();default:}利用P1.7口和P2.2#define#define#define#definevolatilevolatileexternuint16_tvolatileexternuint8_texternexternvoidButtons_init(uint16_t#pragma#pragmainterruptvoid#pragmainterruptvoidwhilewhile{}while(!(buttonsPressed&{}while(!(buttonsPressed&{}HAL_Dogs102x6.h/.c程序externexternvoidexternexternvoidexternexternvoidexternextern mand(uint8_t*sCmd,uint8_tSPILCD。其中參數(shù)*sData--指向externexternvoidDogs102x6_writeData(uint8_t*sData,uint8_texternvoidDogs102x6_setAddress(uint8_tpa,uint8_t下面函數(shù)的功能為設置LCD內(nèi)存的地址。其中參數(shù)pa(0~7)--要寫入LCD內(nèi)存中的行地址;ca(externvoidDogs102x6_setAddress(uint8_tpa,uint8_texternexternuint8_texternexternuint8_tLCD對比度,其中參數(shù):newContrast--所需設置對比度的級別,其取值范圍為0~31,31為對比度最大的設置。externexternvoidDogs102x6_setContrast(uint8_texternvoidDogs102x6_setBacklight(uint8_texternvoidDogs102x6_setBacklight(uint8_texternexternvoid externexternvoid externvoidDogs102x6_scrollLine(uint8_texternvoidDogs102x6_scrollLine(uint8_texternexternvoidexternexternvoidexternexternvoid下面函數(shù)的功能為將一個字符寫入確定行列的LCD液晶顯示屏上,其中參數(shù):row--寫入字符的行地址(其取值范圍為0~7col--寫入字符的列地址(其取值范圍為0~102uint8_tstyle);externvoidDogs102x6_charDrawXY(uint8_tx,uint8_ty,uint16_tf,uint8_tstyle);0~102,y--externvoidDogs102x6_charDrawXY(uint8_tx,uint8_ty,uint16_tf,uint8_tstyle);0~7col--0~102*worduint8_tstyle);0~102,y0~63;*word寫入字符串word[]的指針;style--文本的樣式選擇(0表示白底黑字,1表示黑底白字。externexternvoidDogs102x6_stringDrawXY(uint8_tx,uint8_ty,char*word,uint8_tstyle);externvoidDogs102x6_clearRow(uint8_tLCDexternvoidDogs102x6_clearRow(uint8_texternvoidDogs102x6_pixelDraw(uint8_tx,uint8_ty,uint8_t0~63;y0~10externvoidDogs102x6_pixelDraw(uint8_tx,uint8_ty,uint8_t(0~101x2(0~101ystyle--文本的樣式選擇(0表示白底黑字,1表示黑底白字。externexternvoidDogs102x6_horizontalLineDraw(uint8_tx1,uint8_tx2,uint8_ty,uint8_tstyle);x,uint8_tstyle);0~3—(0~63x,uint8_tstyle);為所繪直線的起始坐標;(x2,y2)為所繪直線的終止坐標;style--文本的樣式選擇(0表示白底黑字,1表示黑底白字。externexternvoidDogs102x6_lineDraw(uint8_tx1,uint8_ty1,uint8_tx2,uint8_ty2,uint8_tstyle);uint8_tstyle);uint8_tstyle);externexternvoidDogs102x6_imageDraw(constuint8_tIMAGE[],uint8_trow,uint8_tcol);width--需清除圖案的列數(shù)(heigh*width;row--清除圖案的起始行數(shù);externvoidexternvoidDogs102x6_clearImage(uint8_theight,uint8_twidth,uint8_trow,uint8_tcol);HAL_Wheel.h/.cexternexternvoid范圍為0~7。externexternuint8_texternuint16_texternuint16_texternexternvoidexternexternvoid按鍵外部中斷voidButtons_init(uint16_t{BUTTON_PORT_OUT|=buttonsMask; voidButtons_init(uint16_t{BUTTON_PORT_OUT|=buttonsMask; BUTTON_PORT_REN|=buttonsMask; BUTTON_PORT_SEL&=~buttonsMask; }{BUTTON_PORT_IES&=~buttonsMask; BUTTON_PORT_IFG&=~buttonsMask; BUTTON_PORT_IE|=buttonsMask; }定時器 對所有TBvoidCS_BACKLT_DIR|=BACKLT;CS_BACKLT_OUT|=BACKLT;CS_BACKLT_SEL|=BACKLT;TB0CCTL4=OUTMOD_7;TB0CCR4=TB0CCR0>>1;TB0CCR0=TB0CTLTBSSEL_1MC_1//ACLKvoidCS_BACKLT_DIR|=BACKLT;CS_BACKLT_OUT|=BACKLT;CS_BACKLT_SEL|=BACKLT;TB0CCTL4=OUTMOD_7;TB0CCR4=TB0CCR0>>1;TB0CCR0=TB0CTLTBSSEL_1MC_1//ACLK復位/置位,的周期為50個ACLK周期時間。由圖3.7可知,在定時器輸出模式7下,輸可調(diào)節(jié)輸出的占空比,進而調(diào)節(jié)LCD背光的亮度。輸出模式7輸出模式70123450123456789{unsignedintdutyCycle=0,i,if(brightness>{TB0CCTL4=OUTMOD_7;// dummy(TB0CCR04);//dummy取值為3dutyCycle=12;for(i=0;i<brightness;i++)dutyCycle+=dummy;TB0CCR4=if(!backlight)TB0CTL|=MC0;}{TB0CCTL4=0;TB0CTL&=~MC0;}backlight=}RTC(實時時鐘圖3.8 voidvoid{RTCCTL01RTCMODERTCBCDRTCHOLDRTCTEV_1;//BCD格式實時時鐘停止時鐘變換(調(diào)整小時RTCHOUR=0x04;RTCMIN=0x30;RTCSEC=0x00;RTCDAY=0x01;RTCMON=0x01;RTCYEAR=0x2011;//初始時間RTCCTL01&~RTCHOLD;//日歷正在運作RTCPS1CTL //中斷頻率RTCPS0CTL RTCCTL0|RTCRDYIE //}ADC12(12位模數(shù)轉(zhuǎn)換器voidWHEEL_PORT_DIR|=WHEEL_ENABLE;WHEEL_PORT_OUT|=WHEEL_ENABLE;ADC12CTL0=ADC12SHT02+ADC12ON;ADC12CTL1=ADC12SHP;ADC12MCTL0=ADC12INCH_5;ADC12CTL0|=ADC12ENC;ADC_PORT_SEL|=ADC_INPUT_A5;
P6.5選擇ADC后進入采樣中斷服務程序,采樣轉(zhuǎn)換值。uint16_tuint16_tADC12IE=ADC12CTL0|=bis_SR_register(LPM0_bitsGIE)進低功耗模式0ADC12IE=0x00;if(positionData>if((positionData-positionDataOld)>positionDataOld=positionData=if((positionDataOld-positionData)>positionDataOld=positionData=return#pragmavector=interruptvoid{switch(even_in_range(ADC12IV,{casepositionData=}}當采#pragmavector=interruptvoid{switch(even_in_range(ADC12IV,{casepositionData=}}對比度調(diào)節(jié)實程序代voidvoid{}程序流清清按鍵按鍵按下N3.10實驗步S5.―SEX430559oksaceA12.S5.1 實驗結(jié)背光調(diào)節(jié)實驗程序代voidvoid{}3.7.23.7.2程序流始清N保存設保存設鍵束束屏3.12實驗步S5.―SEX430559oksaceA12.S5.1圖3.13 實驗結(jié)數(shù)字時鐘實驗程序代voidvoid {}3.8.23.8.2程序流程清圖3.14清實驗步S5.―SEX430559oksaceA12.S5.1運行程序,在主菜單下,通過齒輪電位計選擇:3.DigitalClock,然后按下S1鍵,圖3.15 實驗結(jié)模擬時鐘實驗程序代voidvoid{}y程序流開開模擬時鐘初始使能中Y鍵N鍵鍵鍵模擬時鐘顯示更返清圖3.16實驗步S5.―SEX430559oksaceA12.S5.1 圖3.17 實驗結(jié)時鐘設置實驗程序代voidvoid{}軟件流序流程圖如圖3.20所示。始始屏3.18應設分鐘值=當前電位計采樣值應設分鐘值=當前電位計采樣值YNNN設置選項值加圖3.19小時設置程序流程圖 圖3.20分鐘設置程序流程圖 實驗步S5.―SEX430559oksaceA12.S5.1圖3.21LCD上將顯示當前的數(shù)字時間,并進行實時更新。首先進行小時的設置,通過滾動齒輪電位計更改當前小時數(shù),按下S1鍵進行確認,并進入分鐘的 實驗結(jié)學習MSP430F5529LCD液晶顯示模塊、按鍵輸入模塊、齒輪電位計電容觸摸按鍵模塊電路4.15LED指示P1.1~P1.5LEDCB0~CB4連接到比較器COMPB的輸入端,同時,CBOUT連接到比較器的輸出端。電容觸摸資料可以參考以下/tool/capsenselibrary。4.1P1OUTP1OUT&=~0x7E;P1DIR|=0x7E;P6OUT=0x00;P6DIR=0x00;LED5LED外,MSP-EXP430F55291LED用于3LED4.2所示,注意:通過短路塊JP3可以斷開LED1與P1.0口的連接。4.2LEDLED引腳定義如下(在Board_init()函數(shù)中LED145678_PORT_OUTLED145678_PORT_OUT&=~(BIT0+BIT1+BIT2+BIT3+BIT4+BIT5);LED145678_PORT_DIR|=BIT0+BIT1+BIT2+BIT3+BIT4+BIT5;LED23_PORT_OUT&=~(BIT1+BIT2);LED23_PORT_DIR|=BIT1+程序資源介紹LED電容觸摸程序介紹在MSP-EXP430F5529開發(fā)板實驗二程序代碼文件夾(MSP-EXP430F5529LABMSP4301KB的程序存以下介紹電容觸摸程序中的一些重要程序的功能。voidTI_CAPT_Init_Baseline(voidTI_CAPT_Init_Baseline(conststructSensor*下面函數(shù)的功能為平均多次測量結(jié)果,--voidvoidTI_CAPT_Update_Baseline(conststructSensor*groupOfElements,uint8_tnumberOfAverages);voidvoid下面函數(shù)的功能為檢測電容傳感器的電容值。其中參數(shù):groupOfElements被測voidvoidTI_CAPT_Raw(conststructSensor*groupOfElements,uint16_t*voidTI_CAPT_Custom(conststructSensor*groupOfElements,uint16_t*下面函數(shù)的功能為測voidTI_CAPT_Custom(conststructSensor*groupOfElements,uint16_t*10。uint8_tuint8_tTI_CAPT_Button(conststructSensor* uint16_tuint16_tTI_CAPT_Slider(conststructSensor*uint8_tDominant_Element(conststructSensor*groupOfElements,uint8_tDominant_Element(conststructSensor*groupOfElements, 1(2比較器比較器B是一個實現(xiàn)模擬電壓比較的模塊,廣泛應用于工業(yè)儀表、手持式儀表等包含多達16個通道的比較功能,其具有以下特性:4.4比較器B{PB_TA1_SW_HAL(conststructSensorCBCTL2=CBREF14+CBREF13+CBCTL1=CBON+{PB_TA1_SW_HAL(conststructSensorCBCTL2=CBREF14+CBREF13+CBCTL1=CBON+CBCTL3|=(group->cbpdBits);CBCTL2|=CBRS_1;開啟比較器B,比較器輸出經(jīng)過//禁用CBPD//打開參考電壓CBCTL0=CBIMEN+(group->arrayPtr[i])->inputBits;//啟用模擬輸入通}電容觸摸按鍵原理首先,是具有一定電容的。當我們把PCB上的銅畫成如圖4.5形式的時候,就完4.5圖4.5中左邊的圖,是一個基本的觸摸按鍵,中間圓形綠色的為銅(我們可以稱之為―按連的。在―按鍵‖和的銅之間是空隙(我們可以稱為空隙d。圖4.5中右邊的圖是左圖的截電容Cf。由于兩個電容是并聯(lián)的,所以手指接觸―按鍵‖前后,總電容的變化率為C%=((Cp+Cf)-Cp)/Cp=Cf/Cp。4.64.7所示,MSP-EXP430F5529開發(fā)板利用基于張弛振蕩器的檢測方案實現(xiàn)電容觸Rc與感應電容之間,CBOUT與TACLK4.7如圖4.8所示,當手指觸摸到電容觸摸按鍵以后,電容會由C1變化至C2,張弛震蕩器的輸出頻率會發(fā)生變化,因此只需在固定時間內(nèi),利用定時器A作為頻率計計算張弛振蕩即按鍵被 ―按下‖了。電容觸摸按鍵的資料可以通過以下獲得:利用定時器A實現(xiàn)頻率計的方對所有TA 內(nèi)1469行實現(xiàn)定時器A作為頻率計,計算張弛振蕩器的輸出頻率,進而測量電容傳感{PB_TA1_SW_HAL(conststructSensor{CBCTL0=CBIMEN+(group->arrayPtr[i])- TA1CTL& //while(!(TA1CTL&{}counts[i //將j}}進行。j值可體現(xiàn)TA1CLK的頻率,也可體現(xiàn)出電容充放電的時間,最終可反映出觸摸觸摸滑塊演示實程序代voidvoid{}程序流4.9實驗步雙擊打開lab2.c文件,在105行找到該觸摸滑塊演示實驗程序代碼CapLED(),并在點擊運行按鈕,會在LCD上觀察到:SlideFingeronTouchPads字符,將手指在觸LED會由左向右依次點亮;再將手指在觸摸滑塊上由右向左LED會由右向左依次熄滅。將手指觸摸任意觸摸按鍵,將會點亮其內(nèi)部及其左側(cè)的藍色LED,并將其右側(cè)藍色LED熄滅。實驗結(jié)程序代voidvoid{}程序流NN實驗步點擊運行按鈕,會在LCD上觀察到:TouchDemo字符,將手指在觸摸滑塊上由次觸摸,相應最高柱形圖的列數(shù)為1、3、5、7、9列。實驗結(jié)程序代voidvoid{}4.8.2程序流4.8.2程序流初始化電容觸摸按編排隨機數(shù)發(fā)生顯示“my隨機陣列中數(shù)隨機陣列中數(shù)據(jù)加顯顯示“your實驗步S5.―SEX430559oksaceA22.S5.1雙擊打開lab2.c文件,在第243行找到該simon游戲?qū)嶒灣绦虼asimon(),并在其中LED會按照一定序列顯示,之后實驗者須按照同實驗結(jié)1.0x.0x0953在兩個不同的測量范圍下:±2G或±8G,并具有8位分辨率。加速度計 /get/Public/cma3000d01datasheet 腳進行實現(xiàn):ACCEL_SOMI(P3.4/UCA0SOMIACCEL_SIMO(P3.3/UCA0SIMO),ACCEL_SCK(P2.3/UCA0CLK)和ACCEL_CS(P3.5)。由該電路圖中可知,該加速度計由ACCEL_PWR(P3.6)進行供電,所以單片機能夠控制該加速度計的活動狀態(tài)。根據(jù)ACCEL_INT(P2.5)引腳能夠獲得以下中斷: /get/Public/cma3000-d0xproductfamilyspecification a.04%5B1%5D.pdf?w=d1ad9c1b。5.1P2DIR&=~BIT5;P2OUT&=~BIT7;P2DIR|=BIT7;
P3DIR& 程序資源介紹HAL_Cma3000.h/.c程序介在MSP-EXP430F5529開發(fā)板實驗三程序代碼文件夾(MSP-EXP430F5529LABexternexternint8_tCma3000_xAccel;externint8_tCma3000_yAccel;externint8_tCma3000_zAccel;externexternvoidexternexternvoidexternexternvoid下面函數(shù)的功能為獲取加速度值偏移量,并將各軸偏移量進行,用于加速度externexternvoidCma3000_setAccel_offset(int8_txAccel_offset,int8_tyAccel_offset,int8_tzAccel_offset); externexternvoidexternint8_tCma3000_readRegister(uint8_texternint8_tCma3000_readRegister(uint8_texternexternint8_tCma3000_writeRegister(uint8_tAddress,int8_t液晶手動刷新程序介紹{drawmode=DOGS102x6_DRAW_IMMEDIATE;Dogs102x6_imageDraw(dogs102x6Memory,0,0);drawmode=mode;}與其他章HAL_Dogs102x6.c文件相比,本章該文件改動了兩個函數(shù):(1)增加了手動Dogs102x6_refresh()(HAL_Dogs102x6.c1438{drawmode=DOGS102x6_DRAW_IMMEDIATE;Dogs102x6_imageDraw(dogs102x6Memory,0,0);drawmode=mode;}Dogs102x6_reDaa)voidvoidDogs102x6_writeData(uint8_t*sData,uint8_t{if(drawmode=={}{}}((((1)SPI模串行設備接口SPI總線技術是一種高速的、全雙工、同步的通訊總線。當MSP430F5529USCI控制寄存器UCSYNCUCMODEx位選擇SPI模式時,串行模43根也可以(單向傳輸時SPI的設備共有的,,8次時鐘信號的改變(上升沿和下降沿為一次8位數(shù)據(jù)的傳輸。要注意的是,SCLK信號線只由主設備控制,從設備不能控制信號線。5.3SPI模式下的USCI5.3USCI框圖--SPIvoid{UCA0CTL1void{UCA0CTL1| //使UCSWRST控制位置位UCA0CTL0UCMSTUCSYNCUCCKPHUCMSB;//時鐘極性為高、MSBUCA0CTL1UCSWRSTUCSSEL_2;//使用SMCLKUCA0BR0=0x30;UCA0BR1=UCA0MCTL0;//}UCxTXBUF中后,USCI立即開始數(shù)據(jù)發(fā)送。如果發(fā)送移位寄存器為空,UCxTXBUF中的數(shù)據(jù)被傳送到發(fā)送移位寄存器中,其中以最高有效位或最低有效位先發(fā)送,這取決于UCMSB的設置。在相反的時鐘邊沿,UCxSOMI傳輸線上的數(shù)據(jù)被移入到接收移位寄存器中。若收到數(shù)據(jù),接收到的數(shù)據(jù)會從接UCxRXBUFUCRxIFG,發(fā)送標志位置位表明數(shù)據(jù)已經(jīng)從UCxTXBUF中移到發(fā)送移位寄存器中,并且UCxTXBUF準備發(fā)送新的數(shù)據(jù),并不表示接收/發(fā)送操作完成。用戶程序可以使用接收中斷標志和發(fā)送中斷標志完成協(xié)議的控制。在主機模式下,USCI在接收數(shù)據(jù)的同時,發(fā)送的數(shù)據(jù)必須寫入UCxTXBUF,因為接收和發(fā)送操作是同時進行的。USCI模塊串行時鐘UCxCLK的極性和相位由UCCKPLUCCKPH位控制,最高有效位先發(fā)送時的時序如圖5.5所示。5.5SPI時序加速度計校準實程序代voidvoid{}程序流5.6實驗步S5.―SEX430559oksaceA32.S5.1運行程序,在主菜單下,通過齒輪電位計選擇:1.CalibrteAccel,然后按下S1鍵,實驗結(jié)動態(tài)立方體演示實程序代該實驗的程序代碼包含在UserExperienceDemo→Cube.c文件內(nèi)voidvoid{}程序流鍵鍵值并清NNNN實驗步S5.―SEX430559oksaceA32.S5.1S1S1鍵,則開始動態(tài)立方體演示。該動態(tài)立方體演示實驗,有三種模式,每次按下S1鍵,將使演示模式加一,首先進入的是演0LCD上將會顯示一個旋轉(zhuǎn)的透明動態(tài)立方體,該動態(tài)立方體的旋轉(zhuǎn)速度5.6所校準的平面上的話,動態(tài)立方體的旋轉(zhuǎn)速度會很慢,緩慢傾斜開發(fā)板,會觀察到,動態(tài)立方體的旋轉(zhuǎn)速度隨著傾斜角度的增大而迅速變快,再次按下S1鍵,將會進入模式0。在實驗的過程中,按下S2鍵,將會退出本實驗。實驗結(jié)數(shù)字拼圖游戲?qū)嵆绦虼搶嶒灥某绦虼a包含在UserExperienceDemo→Puzzle→puzzle.c文件內(nèi)voidvoid{}程序流退退出N初始化定時S2鍵按下Y初始化加速度清初始化游關定時鍵實驗步S5.―SEX430559oksaceA32.S5.1第39行找到該數(shù)字拼圖游戲?qū)嶒灣绦虼aStartPuzzle(),并在其中設置斷點,斷點位置如圖運行程序,在主菜單下,通過齒輪電位計選擇:3.TiltPuzzle,然后按下S1鍵,由圖5.115.6節(jié)實驗,在標準平面上對加速度計進行校準;然后將開發(fā)板放置在該標準平面上,進行實驗結(jié)USB學習MSP430F5529USB學習USB學習MSP430F5529USB學習USB模塊。現(xiàn)將Mini-USB接口模塊電路介紹如下:Mini-USBMSP430F5529PC6.1所示,5529_VBUS(VBUS;PU.1/DM(PU.1/DM;PU.0/DP(PU.0/DP;PUR(PUR;5529_LDO(VUS能夠識別當前設備為全速USB設備;在②部分電路中,利用TPD2E001DRLR提供電程序資源介紹在MSP-EXP430F5529開發(fā)板實驗四程序代碼文件夾(MSP-EXP430F5529LAB 人機接口設備類(HID應用程序開發(fā)之前,用戶必須通過MSP430USB描述符工具配置堆棧和USB描述符。此外在這個過程中,用戶沒有必要修改API原代碼。類USB設備(CDC/HID/MSC)共用一個USB分層,協(xié)議??臻g分為API空間和應用程序空間。協(xié)議棧組織結(jié)構圖如圖6.2所示:USBUSBMSP4306.2MSP430USBAPI所有USBDescriptors.cUSB描述符的數(shù)據(jù)USB描述符工具進行自定義設置。descriptors.h包含了設置常數(shù)和附加描述符信APIMSP430的兩個功能:USB模塊(及其相關引腳)和一個DMA通道。當USB模塊啟用時,應用程序必須避免這些資源被。不同的API配置所需的內(nèi)存要求如表6.2所示:268260698294284293BYTEBYTEUSB_connectionState下面為USB#define#defineST_USB_DISCONNECTED #defineST_USB_CONNECTED_NO_ENUM #defineST_ENUM_IN_PROGRESS #defineST_ENUM_ACTIVE #define #define #define 下面函數(shù)的功能為USBvoidvoid下面函數(shù)的功能為USBBYTEBYTEBYTEBYTEUSB_setEnabledEvents(WORDBYTEBYTEUSB_enable下面函數(shù)的功能為禁用PLLUSBBYTEBYTEBYTEBYTEUSB_reset下面函數(shù)的功能為通過拉高PUR位,使USBBYTEBYTEUSB_connectBYTEBYTEUSB_disconnectBYTEBYTEUSB_setEnabledEvents(WORDWORDWORDUSB_getEnabledEvents下面函數(shù)的功能為手動進行USBBYTEBYTEBYTEBYTEBYTEUSBxxx_sendData(constBYTE*data,WORDsize,BYTEBYTEUSBxxx_receiveData(BYTE*data,WORDsize,BYTEBYTEBYTEUSBxxx_intfStatus(BYTEintfNum,WORD*bytesSent,WORD*BYTEBYTEUSBxxx_bytesInUSBBuffer(BYTEBYTEBYTEUSBxxx_rejectData(BYTEWORDWORDBYTEBYTExxxSendDataWaitTilDone(BYTE*dataBuf,WORDsize,BYTEintfNum,ULONGulTimeout);ULONGulTimeout);WORDWORDBYTEBYTEBYTEBYTEMSP430F5529單片機的USB擁有獨立于PMM驅(qū)動整個MSP430工作—1.8V低功耗線性穩(wěn)壓器為PHY和PLL當USB模塊時頻晶振XT1是否可用;如果不存在XT2,那么PLL的參考時鐘頻率就為XT1CLK。MSP-EXP430F5529開發(fā)板存在可用高頻晶振XT2,因此本實驗的PLL參考時鐘頻率為XT2CLK(4MHZDIVQUPQB的設置,本實驗中,UPQB001,DIVQ2(具體可參考MSP430F552xP897--Table38-1);(具體可參考MSP430F552xP897--Table38-2因此,本實驗中PLL鎖相環(huán)模塊輸出頻率 VMSP430從VBUS供電。作為可選,USB模塊電源系統(tǒng)可以只為USB模塊供電,可以為整個系統(tǒng)供電,也可以在一個自供電設備中完全不被使用。USB模塊為整個系統(tǒng)供電時的結(jié)構框圖,如圖6.5所示: 外+5VMSP430F5529USB模塊支持控制、批量和中斷數(shù)據(jù)傳輸。按照USB傳輸規(guī)范,端控制。注意控制端點必須在USB設備連接到USB主機之前進行初始化。主機采用控制USB設備??刂茖懭雮鬏敯O置階段事務、數(shù)據(jù)輸出階段事務USBCDCAPI協(xié)議棧在下列情況下可以達到788KB/sec的速度:8MHZ的CPU主機發(fā)送數(shù)據(jù)到USB高時鐘頻率或使用DMA移動數(shù)據(jù),來增加傳輸速度。CDCUSB的通信,MSP430F5529COM端口與主收到的數(shù)據(jù)在LCD液晶上進行顯示。終端顯示實驗程序代voidvoid{if(USB_connectionInfo()&{if(USB_enable()=={}}while(!(buttonsPressed&{switch{casecasecase}}}軟件流YY禁用USB禁用USBYY6.7實驗步圖6.8終端顯示實驗USBS5.―SEX430559oksaceA42.S5.1雙擊打開lab4.c文件,在第70行找到該終端顯示實驗程序代碼lab4(),并在其中設圖6.9圖6.10圖6.11圖6.12 圖6.13圖6.14圖6.15圖6.16圖6.17超級終端窗 圖6.18液晶LCD顯示收到的字實驗結(jié)MicroSD本實驗中需用到以下電路模塊:按鍵輸入模塊、齒輪電位計模塊、LED指示模塊、點LCD液晶顯示模塊、Mini-USB接口模塊、SDSD卡插槽模塊電路介7.1SDSPISD卡與單片機之間的數(shù)據(jù)通信,其引腳連接如下:SD_CS(P3.7),SIMO(P4.1/PM_UCB1SIMO),SCLKPUKSOP2PUBS7.1SD程序資源介紹在MSP-EXP430F5529開發(fā)板實驗五程序代碼文件夾(MSP-EXP430F5529LABexternexternvoidexternexternvoidexternvoidSDCard_readFrame(uint8_t*pBuffer,uint16_t下面函數(shù)的功能為通過externvoidSDCard_readFrame(uint8_t*pBuffer,uint16_tSPI方式發(fā)送一個字節(jié)的數(shù)據(jù),其中參數(shù):*pBuffer--externexternvoidSDCard_sendFrame(uint8_t*pBuffer,uint16_texternexternvoidexternexternvoid(實驗5主函數(shù)lab5()的整體程序流程圖如圖7.3所示:開開鍵 并清S2S2按下菜單選項執(zhí)行SD 顯示程菜單選項返執(zhí)行USB型SD卡讀寫程顯示菜單并返回菜單選USBSD程序代該實驗的程序代碼包含在UserExperienceDemo→Massstorage.c文件內(nèi)voidvoid{}程序流YY禁用USB禁用USBN實驗步S5.―SEX430559oksaceA52.S5.1運行程序,在主菜單下,通過齒輪電位計選擇:1.USBmiscroSD,然后按下S1鍵,圖7.78.71.txt中任意鍵入英文字符,在2.txt中任意鍵入中文文字,將以上兩個文件到3文件夾內(nèi),供7.6實7.8 實驗結(jié) 卡內(nèi)存顯示實程序代該實驗的程序代碼包含在UserExperienceDemo→SDcard.c文件內(nèi)voidvoid{}7.6.2程序流程實驗步S5.―SEX430559oksaceA52.S5.1 實驗結(jié)實驗所需硬件電路模塊介LCD液晶模塊、按鍵輸入模塊、齒輪電位計模CPU工作時,任何一個模塊都可以通過中斷喚醒CPU,從而使8.1MSP430CPUCPU活動MCLK活動DCOFLLCPUMCLKDCOFLLCPUMCLKDCOFLLCPUMCLKSMCLKDCOFLLCPUMCLKDCOFLL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)項目首付分期付款合同
- 文化藝術經(jīng)紀代理服務企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 圖片新聞采編服務企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 文藝類錄音制品制作服務行業(yè)跨境出海戰(zhàn)略研究報告
- 口琴行業(yè)直播電商戰(zhàn)略研究報告
- Module 5 Museums Unit 1 教學設計-2024-2025學年外研版英語九年級上冊
- 二年級上冊科學教學設計 - 第6課《做一輛小車》粵教版
- 二年級道德與法治上冊 我上二年級了 第1課《二年級小學生能做更多的事情》教學設計 北師大版
- 2025吉林建筑安全員《B證》考試題庫
- 七年級物理期末復習計劃
- 基于單片機的環(huán)境監(jiān)測系統(tǒng)
- 個人簡歷電子版表格下載
- 供電所春季安全大檢查方案
- 2024年度醫(yī)院內(nèi)鏡室檢查內(nèi)容分析報告課件
- 毛澤東思想的形成與發(fā)展
- 文化集市體驗活動策劃
- 細菌性痢疾教學演示課件
- 連鑄機扇形段對弧測量方法及保證措施
- 村級巡察培訓課件
- 七年級歷史下冊期中復習資料
- 景觀生態(tài)規(guī)劃與設計景觀生態(tài)學與景觀生態(tài)原理
評論
0/150
提交評論