微處理器原理與系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)_第1頁(yè)
微處理器原理與系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)_第2頁(yè)
微處理器原理與系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)_第3頁(yè)
微處理器原理與系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)_第4頁(yè)
微處理器原理與系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、微處理器原理與系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)手冊(cè)1 實(shí)驗(yàn)平臺(tái)概述自從TI推出超低功耗MSP430單片機(jī)以來(lái),MSP430憑借其優(yōu)越的性能,豐富的外設(shè),易于上手的特性備受業(yè)內(nèi)工程師的歡迎。單片機(jī)MSP430G2553集成的片內(nèi)外設(shè)相當(dāng)豐富,包括ADC、Timer、Comparator、Touch Key、SPI、I2C、UART等,MSP-EXP430G2 LaunchPad是TI公司推出的1款MSP430開(kāi)發(fā)板,它提供了具有集成仿真功能14/20引腳DIP插座目標(biāo)板,可通過(guò)Spy Bi-Wire(2線JTAG)協(xié)議對(duì)系統(tǒng)內(nèi)置的MSP430超值系列(G系列)進(jìn)行快速編程和調(diào)試。實(shí)驗(yàn)平臺(tái)包含MSP-EXP430G2

2、中配套的MSP430G2553單片機(jī)片內(nèi)外設(shè)實(shí)驗(yàn)以及2個(gè)綜合性實(shí)驗(yàn)。2 實(shí)驗(yàn)平臺(tái)硬件口袋實(shí)驗(yàn)平臺(tái)硬件原理框圖如圖1所示,主要有以下部分:圖1 口袋實(shí)驗(yàn)平臺(tái)硬件原理框圖 (1)顯示和輸入單元:口袋實(shí)驗(yàn)平臺(tái)利用I2C接口的TCA6416A擴(kuò)展出16個(gè)低速雙向IO(IO00IO07,IO10IO17)。4個(gè)擴(kuò)展IO用于控制LCD驅(qū)動(dòng)器HT1621,4個(gè)用于機(jī)械按鍵輸入,8個(gè)用于LED燈柱。(2)觸摸按鍵單元:兩個(gè)觸摸按鍵占用P2.0和P2.5兩個(gè)GPIO,MSP430G2系列單片機(jī)的P1口和P2口全部具備振蕩功能。(3)模擬輸出單元:外部擴(kuò)展了12位串行數(shù)模轉(zhuǎn)換器DAC7311,使用P1.0/P1.

3、3/P2.2三個(gè)普通GPIO控制。這三個(gè)IO同時(shí)被其他單元復(fù)用,但是由于DAC7311都是高阻輸入口,所以無(wú)需跳線復(fù)用。音頻功放TPA301可以將DAC輸出進(jìn)行電流放大,以便驅(qū)動(dòng)喇叭/蜂鳴器負(fù)載。(4)擴(kuò)展存儲(chǔ)部分:由SPI協(xié)議控制TF卡,使用P1.1/SPI SOMI、P1.2/SPI SIMO、P1.4/SPI CLK三個(gè)USCI功能IO和1個(gè)普通P2.4控制。(5)SLOPE ADC單元:使用撥盤電位器作為待測(cè)電阻。P1.5/Comarator_A+、P1.3、P2.2三個(gè)IO進(jìn)行控制。P1.3、P2.2復(fù)用,但同樣無(wú)需跳線。(6)PWM單元:P2.1/TA1.1負(fù)責(zé)輸出SPWM;軌至軌

4、運(yùn)放TLV2372負(fù)責(zé)將SPWM濾波為雙極性模擬信號(hào);TPS60400提供運(yùn)放所需負(fù)電源;三電阻網(wǎng)絡(luò)負(fù)責(zé)將雙極性信號(hào)轉(zhuǎn)變?yōu)閱螛O性信號(hào);P1.0/ADC10負(fù)責(zé)將單極性信號(hào)采樣,P1.0功能復(fù)用,同樣無(wú)需跳線。表1 口袋實(shí)驗(yàn)平臺(tái)硬件功能單元名稱元件IO功能IO擴(kuò)展TCA6416AP1.6/I2C SDAP1.7/I2C SCL利用I2C協(xié)議控制TCA6416A獲得16個(gè)低速IOIO00IO07IO10IO17顯示HT1621128段LCDIO14/擴(kuò)展IO;IO15/擴(kuò)展IOIO16/擴(kuò)展IO;IO17/擴(kuò)展IO4個(gè)I2C擴(kuò)展IO控制HT1621HT1621控制段式液晶機(jī)械按鍵微動(dòng)開(kāi)關(guān)*4IO1

5、0/擴(kuò)展IO;IO11/擴(kuò)展IOIO12/擴(kuò)展IO;IO13/擴(kuò)展IO4個(gè)I2C擴(kuò)展IO識(shí)別機(jī)械按鍵LED燈柱0603LED*8IO00/擴(kuò)展IO;IO01/擴(kuò)展IOIO02/擴(kuò)展IO;IO03/擴(kuò)展IOIO04/擴(kuò)展IO;IO05/擴(kuò)展IOIO06/擴(kuò)展IO;IO07/擴(kuò)展IO8個(gè)I2C擴(kuò)展IO控制8個(gè)LED觸摸按鍵覆銅P2.0、P2.5電容觸摸按鍵模擬輸出DAC7311TPA301、蜂鳴器P1.0/復(fù)用、P1.3/復(fù)用、P2.2/復(fù)用12位串行DAC7311、BTL乙類功率放大器擴(kuò)展存儲(chǔ)TF卡槽P1.1/SPI SOMI、P1.2/SPI SIMO、P1.4/SPI CLK、P2.4基于S

6、PI的TF卡讀寫SLOPE ADC撥盤電位器P1.5/Comparator_A+、P1.3/復(fù)用、P2.2復(fù)用利用比較器實(shí)現(xiàn)積分型ADCPWMTLV2372TPS60400三電阻網(wǎng)絡(luò)P2.1/TA1.1、P1.0/ADC10/復(fù)用PWM波形合成雙極性信號(hào)的ADC采樣 實(shí)驗(yàn)首次開(kāi)設(shè)時(shí)間:2015年4月28日3 實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)一 系統(tǒng)時(shí)鐘的使用實(shí)驗(yàn)?zāi)康模簩W(xué)會(huì)MSP430單片機(jī)時(shí)鐘系統(tǒng)的使用。掌握并熟練使用單片機(jī)時(shí)鐘系統(tǒng)。實(shí)驗(yàn)內(nèi)容:設(shè)定DCO頻率并觀察DCO頻率變化。圖2 觀測(cè)DCO頻率變化實(shí)驗(yàn)原理圖實(shí)驗(yàn)儀器:計(jì)算機(jī)、信號(hào)源、示波器等。實(shí)驗(yàn)原理:(1)MSP430G2553單片機(jī)的CPU時(shí)鐘來(lái)源于數(shù)控

7、振蕩器DCO。 (2)CPU通過(guò)長(zhǎng)延時(shí)控制P1.6的LED閃爍亮滅。(3)單片機(jī)識(shí)別P1.3機(jī)械按鍵以后,改變DCO參數(shù),一次設(shè)置為1M,8M,12M和16MHz,可觀察到閃爍頻率增加。注意事項(xiàng):不使用擴(kuò)展板進(jìn)行試驗(yàn),圖2所示跳線帽需插上實(shí)驗(yàn)。工程名:4_KEY_LED_Change_DCO.本例程主要學(xué)習(xí)單片機(jī)時(shí)鐘的配置方法和前后臺(tái)的編程思想:1) 主函數(shù)main()中,只調(diào)用初始化函數(shù)GPIO_Init()和執(zhí)行后臺(tái)程序,本例中后臺(tái)程序就是長(zhǎng)延時(shí)改變LED(P1.6)的亮滅。2)前后臺(tái)程序結(jié)構(gòu)中,前臺(tái)程序就是各種中斷中執(zhí)行的程序。中斷服務(wù)程序子函數(shù)PORT1_ISR()中不要去寫“實(shí)質(zhì)性”

8、代碼,只調(diào)用事件檢測(cè)函數(shù),這樣能提高程序可讀性。3)事件檢測(cè)函數(shù)P1_IODect(),在GPIO中斷服務(wù)子函數(shù)中調(diào)用,檢測(cè)按鍵是否“一定”被按下,然后調(diào)用事件處理函數(shù)。4)事件處理函數(shù)P13_Onclick(),一旦被調(diào)用,就循環(huán)改寫DCOCTL和BCSCTL1寄存器,從而改變DCO(也就是CPU)頻率。5)前后臺(tái)程序中,前臺(tái)程序的編寫是難點(diǎn)。但只要堅(jiān)持用“事件檢測(cè)”“事件處理”的方法處理,就能變得井井有條。實(shí)驗(yàn)結(jié)果:對(duì)應(yīng)的LED燈閃爍作業(yè): ACLK,SMCLK通過(guò)設(shè)置輸出到I/O口,編程實(shí)現(xiàn)不同頻率(自選3個(gè)頻率點(diǎn))的輸出,并且用示波器觀測(cè)波形是否滿足程序的要求。實(shí)驗(yàn)二 MSP430單片

9、機(jī)定時(shí)器的使用實(shí)驗(yàn)?zāi)康模簩W(xué)會(huì)MSP430單片機(jī)定時(shí)器的使用。實(shí)驗(yàn)內(nèi)容:基于PWM的LED調(diào)光控制,即通過(guò)按鍵控制LED亮度。圖3 LED調(diào)光控制實(shí)驗(yàn)原理圖實(shí)驗(yàn)儀器:計(jì)算機(jī)、信號(hào)源、示波器等。實(shí)驗(yàn)原理:1)TA(Timer_A定時(shí)器)可用于自動(dòng)輸出PWM而無(wú)需CPU干預(yù)。2)編寫PWM初始化、設(shè)定頻率、改寫占空比的庫(kù)函數(shù)文件TA_PWM.c。3)主函數(shù)調(diào)用庫(kù)函數(shù)TA0_PWM_Init()完成TA_PWM初始化,然后休眠。4)P1.3事件處理函數(shù)中,循環(huán)遞增靜態(tài)局部變量Bright的值,并調(diào)用庫(kù)函數(shù)TA0_PWM_SetPeriod()改寫占空比參數(shù)。注意事項(xiàng):不使用擴(kuò)展板進(jìn)行實(shí)驗(yàn),圖3所示跳線

10、帽需插上實(shí)驗(yàn)。工程名:6_PWM_LED.本實(shí)驗(yàn)主要學(xué)習(xí)TA自動(dòng)生成PWM的原理,外部庫(kù)函數(shù)文件的使用,靜態(tài)局部變量的使用。TA生成PWM波形的本質(zhì)就是通過(guò)改寫定時(shí)器的TACCR0寄存器改變PWM頻率,改寫TACCR1/2寄存器改變占空比。編寫庫(kù)函數(shù)文件方便在各種程序中都能調(diào)用。作業(yè):1.在MSP430G2553單片機(jī)中,P1.0口和P1.6口通過(guò)晶體管控制兩只燈泡的亮度。要求從P1.0引腳輸出占空比75%的PWM調(diào)制波形,從P1.6引腳輸出占空比50%的PWM調(diào)制波形。頻率約為100Hz。要求編寫調(diào)試,并在LaunchPad實(shí)驗(yàn)板上調(diào)試通過(guò)。 2.用MSP430G2553單片機(jī)設(shè)計(jì)一個(gè)可編程

11、的分頻器,要求分頻過(guò)程無(wú)需CPU干預(yù),且可通過(guò)軟件隨時(shí)更改分頻比。從P1.0引腳(TACLK引腳)輸入,從P2.0(TA1.0)輸出。要求在LaunchPad實(shí)驗(yàn)板上調(diào)試通過(guò)。 實(shí)驗(yàn)三 定時(shí)掃描非阻塞按鍵實(shí)驗(yàn)?zāi)康模簩W(xué)會(huì)MSP430單片機(jī)定時(shí)器的使用,掌握消除阻塞的編程方法。實(shí)驗(yàn)內(nèi)容:通過(guò)WDT定時(shí)周期性讀取IO狀態(tài),準(zhǔn)確識(shí)別按鍵按下和彈起。圖4 定時(shí)掃描按鍵實(shí)驗(yàn)原理圖實(shí)驗(yàn)儀器:計(jì)算機(jī)等。實(shí)驗(yàn)原理:1)WDT定時(shí)器設(shè)置為16ms中斷。2)在WDT中斷中,記錄下最近兩次的IO狀態(tài)存在KEY_Now和KEY_Past中。根據(jù)前高后低可判斷按鍵按下,前低后高可判斷按鍵松開(kāi)。3)事件處理函數(shù)P13_On

12、click()根據(jù)按鍵狀態(tài)切換LED亮滅。注意事項(xiàng):不使用擴(kuò)展板進(jìn)行實(shí)驗(yàn),圖4所示跳線帽需插上實(shí)驗(yàn)。工程名:7_2_Timer_Key_LED本實(shí)驗(yàn)主要學(xué)習(xí)定時(shí)掃描在消除CPU阻塞中的作用,以及消抖的原理。CPU“無(wú)遺漏”地查詢時(shí)間發(fā)生是產(chǎn)生阻塞代碼的重要原因。 定時(shí)掃描消抖原理如圖5所示。定時(shí)掃描的精髓在于掃描的間隔足夠短,保證不會(huì)遺漏“事件”。圖5 定時(shí)掃描消抖原理圖作業(yè):編寫一個(gè)按鍵檢測(cè)函數(shù),自行決定P1.3按鍵按下和按鍵松開(kāi)手,兩個(gè)LED做出何反應(yīng)。 實(shí)驗(yàn)四 長(zhǎng)短鍵識(shí)別圖6 長(zhǎng)短按鍵實(shí)驗(yàn)原理圖實(shí)驗(yàn)?zāi)康模赫莆諣顟B(tài)機(jī)建模的設(shè)計(jì)方法。實(shí)驗(yàn)內(nèi)容:通過(guò)WDT定時(shí)周期性讀取IO狀態(tài),識(shí)別按鍵按下和

13、彈起,以及按下的時(shí)間。判斷為短按鍵則切換LED1亮滅,判斷為長(zhǎng)按鍵則切換LED2亮滅。實(shí)驗(yàn)儀器:計(jì)算機(jī)、示波器、萬(wàn)能板、按鍵3只、導(dǎo)線等。實(shí)驗(yàn)原理:1)WDT定時(shí)器設(shè)置為16ms中斷。在WDT中斷中,記錄下最近兩次的IO狀態(tài)存在KEY_Now和KEY_Past中。根據(jù)前高后低可判斷按鍵按下,前低后高可判斷按鍵松開(kāi),存入標(biāo)志位Key_Dect中。2)Key_Dect作為輸入量,利用狀態(tài)機(jī)函數(shù)Key_SM(),判斷出短按鍵事件。分別調(diào)用各自事件處理函數(shù)進(jìn)行處理。注意事項(xiàng):不使用擴(kuò)展板進(jìn)行實(shí)驗(yàn),圖6 所示跳線帽需插上實(shí)驗(yàn)。工程名:7_3_Key_Long_Short_Mealy;7_4_Key_Lo

14、ng_Short_Moore本實(shí)驗(yàn)主要學(xué)習(xí)狀態(tài)機(jī)建模的方法。1)當(dāng)事件檢測(cè)函數(shù)不能僅根據(jù)當(dāng)前發(fā)生的事就做出最終事件判斷,就需要啟用狀態(tài)機(jī)建模的方法了。圖7 長(zhǎng)短按鍵的狀態(tài)機(jī)2)狀態(tài)機(jī)的核心,狀態(tài)轉(zhuǎn)移圖如圖7所示。只有當(dāng)前“狀態(tài)”加上當(dāng)前“事件”(輸入)才能決定下一步要干什么(下一狀態(tài)和當(dāng)前事件處理)。3)任何狀態(tài)機(jī)都有兩種“公式化”無(wú)需動(dòng)腦的代碼描述方法。米利狀態(tài)機(jī)是先switch(狀態(tài)),然后再看發(fā)生了什么事件。摩爾狀態(tài)機(jī)是先if(事件),然后switch(狀態(tài));兩者沒(méi)有本質(zhì)區(qū)別。本實(shí)驗(yàn)的兩個(gè)工程分別用米利狀態(tài)機(jī)和摩爾狀態(tài)機(jī)編寫,它們之間只有Key_SM()函數(shù)不一樣。圖7 所示狀態(tài)轉(zhuǎn)換圖

15、適用于任何類型的長(zhǎng)短鍵識(shí)別,只要“告訴”狀態(tài)機(jī)按鍵按下和按鍵松開(kāi)兩個(gè)事件就可以。作業(yè):1. 編寫一個(gè)長(zhǎng)短按鍵檢測(cè)函數(shù),自行決定長(zhǎng)短按鍵后,兩個(gè)LED做出何反應(yīng)。2.通過(guò)萬(wàn)能板擴(kuò)展3個(gè)按鍵(S1、S2、S3),按下為低電平。編寫一個(gè)鍵盤程序。要求能夠識(shí)別長(zhǎng)、短按鍵并返回不同鍵值,而且通過(guò)LED發(fā)光二極管以及蜂鳴器來(lái)反應(yīng)出不同的按鍵。當(dāng)按鍵時(shí)間小于2s時(shí),認(rèn)為是一次短按鍵,按鍵時(shí)間大于2s時(shí),認(rèn)為是一次短按鍵,按鍵時(shí)間大于2s后返回一次長(zhǎng)鍵(0Xc0+鍵值),之后每隔0.25s返回一次連續(xù)長(zhǎng)按鍵(0x80+鍵值),發(fā)光二極管LED和蜂鳴器的動(dòng)作自行決定。且要求鍵盤程序不阻塞CPU運(yùn)行。3.某電子表

16、具有兩個(gè)按鍵A和B用于操作和設(shè)置,按鍵功能和操作方法如下。為該電子表的按鍵操作程序畫出狀態(tài)轉(zhuǎn)移圖,并寫出代碼進(jìn)行調(diào)試。在顯示時(shí)間時(shí)按A鍵,屏幕顯示編程日期在顯示日期時(shí)按A鍵,屏幕顯示變成秒鐘在顯示秒鐘時(shí)按A鍵,屏幕顯示變成時(shí)間在顯示秒鐘時(shí)按B鍵,秒鐘歸0在時(shí)間或日期顯示時(shí)按B鍵,屏幕“時(shí)”閃爍在“時(shí)”閃爍時(shí)按A鍵,屏幕“時(shí)”加1,超過(guò)23回0在“時(shí)”閃爍時(shí)按B鍵,屏幕“分”閃爍在“分”閃爍時(shí)按A鍵,屏幕“分”加1,超過(guò)59回0在“分”閃爍是按B鍵,屏幕“月”閃爍在“月”閃爍時(shí)按A鍵,屏幕“月”加1,超過(guò)12回0在“月”閃爍時(shí)按B鍵,屏幕“日”閃爍在“日”閃爍時(shí)按A鍵,屏幕“日”加1,超過(guò)31回

17、0在“日”閃爍時(shí)按B鍵,屏幕回到時(shí)間顯示實(shí)驗(yàn)五 電容觸摸按鍵圖8 電容觸摸按鍵實(shí)驗(yàn)原理圖實(shí)驗(yàn)?zāi)康模赫莆针娙萦|摸按鍵的工作原理、設(shè)計(jì)方法和使用。實(shí)驗(yàn)內(nèi)容:振蕩測(cè)頻法識(shí)別觸摸按鍵,根據(jù)鍵值改寫P1.0口LED亮滅。實(shí)驗(yàn)儀器:計(jì)算機(jī)、示波器等。實(shí)驗(yàn)原理: 1)初始化GPIO的振蕩功能,并將振蕩信號(hào)作為TA的時(shí)鐘源。2)設(shè)置WDT中斷16ms,16ms中TA定時(shí)器的TAR計(jì)數(shù)值即是電容觸摸振蕩的“頻率”,這就是測(cè)頻原理。頻率高于門限,則判斷手指接近,記為1;低于門限,手指離開(kāi),記為0。3)測(cè)頻結(jié)果存入二維數(shù)組Key_BufferKey_Num0/1/2/3中。Key_Num用于區(qū)分多個(gè)觸摸按鍵的序號(hào),

18、0-3則是最近4次的測(cè)量結(jié)果(FIFO思想)。4)調(diào)用判據(jù)函數(shù)Key_Judge(),只有連續(xù)4次測(cè)頻結(jié)果為1,才算“電容觸摸”按鍵真按下,只有連續(xù)4次測(cè)頻結(jié)果均為0,才算按鍵松開(kāi)。5)將最終按鍵的判斷結(jié)果存入全局變量TouchIN中。6)按需查詢TouchIN,即可作相應(yīng)事件處理。注意事項(xiàng):測(cè)頻的“家伙”只有一套,所以多個(gè)觸摸按鍵需要輪流測(cè)頻,通過(guò)靜態(tài)局部變量Key_Num區(qū)分觸摸按鍵編號(hào)。中間的“home”按鍵相當(dāng)于手指同時(shí)觸摸到兩塊銅皮,TouchIN中2位為1的情況。工程名:8_1_TouchPad_LED.本實(shí)驗(yàn)主要學(xué)習(xí)振蕩IO的測(cè)頻方法,F(xiàn)IFO原理,全局變量的作用。對(duì)于帶振蕩功能

19、的IO,電容觸摸按鍵識(shí)別本質(zhì)就是測(cè)頻。測(cè)頻的方法也很簡(jiǎn)單,就是在16ms的WDT中斷中數(shù)TA的計(jì)數(shù)值。難點(diǎn)在于多個(gè)觸摸按鍵怎么處理,觸摸判別的可靠性,以及如何“方便”地使用觸摸按鍵,不能總是把它當(dāng)特別麻煩的特殊案件來(lái)看待。1)所有的工作都在16ms的WDT中斷中進(jìn)行,用TouchIN_Dect()函數(shù)完成觸摸按鍵的識(shí)別,并將結(jié)果更新在局部變量TouchIN中。也就是說(shuō),只要每16ms調(diào)用一次TouchIN_Dect(),就能保證全局變量TouchIN中存的是按鍵鍵值。 2)無(wú)論多少個(gè)觸摸按鍵,輪流測(cè)頻,并記錄數(shù)據(jù)。 3)引入FIFO的概念,依靠最近4次的測(cè)頻結(jié)果,判斷按鍵是否按下。4) Tou

20、chIN這個(gè)全局變量的地位等同于單片機(jī)IO狀態(tài)寄存器PxIN。作業(yè):寫一個(gè)按鍵檢測(cè)函數(shù),自行決定觸摸按鍵按下和松開(kāi)后,兩個(gè)LED做出何反應(yīng)。實(shí)驗(yàn)六 電容觸摸長(zhǎng)短鍵圖9 電容觸摸長(zhǎng)短按鍵實(shí)驗(yàn)原理圖實(shí)驗(yàn)?zāi)康模赫莆针娙萦|摸按鍵的工作原理、設(shè)計(jì)方法和使用。實(shí)驗(yàn)內(nèi)容:調(diào)用電容觸摸庫(kù)函數(shù),使用狀態(tài)機(jī)識(shí)別出長(zhǎng)短觸摸按鍵,短按鍵控制P1.0口LED亮滅,長(zhǎng)按鍵控制P1.6口LED亮滅。實(shí)驗(yàn)儀器:計(jì)算機(jī)、示波器等。實(shí)驗(yàn)原理:1)在16ms的WDT中斷中,調(diào)用TouchIN_Dect()庫(kù)函數(shù),即時(shí)保持TouchIN數(shù)據(jù)準(zhǔn)確。2)把TouchIN當(dāng)作機(jī)械按鍵消抖后的按鍵結(jié)果“Key_Dect”來(lái)使用,套入Key_

21、SM()狀態(tài)機(jī)函數(shù),實(shí)現(xiàn)長(zhǎng)短按鍵識(shí)別。3)根據(jù)長(zhǎng)短按鍵,調(diào)用事件處理函數(shù)。注意事項(xiàng):按鍵按下和按鍵松開(kāi)的判據(jù)為TouchIN前0后1和前1后0,這與機(jī)械按鍵的電平正好是相反的。工程名:8_2_TouchPad_Long_Short_Mealy本實(shí)驗(yàn)主要學(xué)習(xí)狀態(tài)機(jī)代碼的移植,和硬件無(wú)關(guān)的編程思想。WDT定時(shí)調(diào)用TouchIN.c中的外部函數(shù)TouchIN_Dect()庫(kù)函數(shù)就可以保證全局變量TouchIN存的就是最新的觸摸按鍵鍵值,該鍵值是無(wú)需再消抖處理的。機(jī)械按鍵的長(zhǎng)短鍵狀態(tài)與觸摸按鍵的狀態(tài)機(jī)沒(méi)有任何區(qū)別。參考前面的圖8 ,狀態(tài)都是3個(gè),按鍵按下和按鍵松開(kāi)的判據(jù)替換成判斷TouchIN前0后1

22、和前1后0即可。作業(yè):通過(guò)觸摸按鍵來(lái)控制發(fā)光二極管的亮滅以及發(fā)光的亮度。實(shí)驗(yàn)七 超級(jí)終端人機(jī)交互圖10 超級(jí)終端實(shí)驗(yàn)原理圖實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)使用UART串口通信。實(shí)驗(yàn)內(nèi)容:利用計(jì)算機(jī)超級(jí)終端控制G2板上的兩個(gè)LED亮滅。實(shí)驗(yàn)儀器:計(jì)算機(jī)、信號(hào)源、示波器等。實(shí)驗(yàn)原理:1)G2 LaunchPad支持直接通過(guò)USB下載口以UART方式連接計(jì)算機(jī)。2)UART設(shè)為波特率9600,8位數(shù)據(jù),無(wú)校驗(yàn),1位停止位,可使用Grace配置后再移植。3)引入軟件FIFO,分別實(shí)現(xiàn)Tx和Rx數(shù)據(jù)無(wú)阻塞收發(fā)。4)CPU對(duì)Rx數(shù)據(jù)進(jìn)行各種判別,控制相應(yīng)LED亮滅,并Tx數(shù)據(jù)回計(jì)算機(jī)以實(shí)現(xiàn)回顯和提示。注意事項(xiàng):要實(shí)現(xiàn)UAR

23、T連接,必須將圖10中的RXD/TXD兩個(gè)跳線橫著插。工程名:10_UART_KeyBoard.本實(shí)驗(yàn)主要學(xué)習(xí)UART的配置軟件FIFO的使用,文件管理。 1)UART的初始化較為復(fù)雜,可以使用Grace幫助配置寄存器,并單獨(dú)建一個(gè)初始化文件。 2)由于CPU讀寫UART緩存的速度極快,而UART與計(jì)算機(jī)通信的速度極慢,所以CPU等待過(guò)程中容易發(fā)生阻塞。 3)FIFO專為解決高低速設(shè)備兼容而生。后臺(tái)程序中CPU讀寫FIFO,而不是直接讀寫UART緩存。UART收發(fā)中斷中,再完成FIFO與UART緩存間的數(shù)據(jù)交換。4)特別注意只要緩存中有數(shù)據(jù),UART是可以“自動(dòng)連發(fā)”的,但是一旦緩存中無(wú)數(shù)據(jù),

24、下次再要發(fā)送是需要手動(dòng)觸發(fā)的。圖11 UART工程的文件系統(tǒng)作業(yè):設(shè)計(jì)上位機(jī)和單片機(jī)的通信協(xié)議,完成單片機(jī)和上位機(jī)的交互式通信,結(jié)合實(shí)驗(yàn)4,通過(guò)按鍵控制單片機(jī)向上位機(jī)發(fā)送控制命令,接收上位機(jī)的控制命令,同時(shí)作出相應(yīng)的動(dòng)作。實(shí)驗(yàn)八 I2C擴(kuò)展I/O口圖12 I2C擴(kuò)展IO實(shí)驗(yàn)原理圖實(shí)驗(yàn)?zāi)康模赫莆諏W(xué)習(xí)I2C總線,掌握擴(kuò)展的IO口的使用。實(shí)驗(yàn)內(nèi)容:通過(guò)I2C協(xié)議擴(kuò)展出的I/O口識(shí)別機(jī)械按鍵和控制LED。實(shí)驗(yàn)儀器:計(jì)算機(jī)、信號(hào)源、示波器等。實(shí)驗(yàn)原理:1)配置DCO頻率調(diào)用庫(kù)函數(shù)TCA6416A_Init()實(shí)現(xiàn)TCA6416A初始化,在TCA6416A_Init()中包含了調(diào)用I2C的初始化函數(shù)I2C

25、_Init()。2)調(diào)用控制I2C_IO輸出的函數(shù)PinOUT(),將8個(gè)LED設(shè)置為間隔亮滅。3)看門狗定時(shí)器設(shè)為16ms喚醒CPU一次,然后執(zhí)行1次PinIN(),在事件檢測(cè)函數(shù)中,包含有按鍵事件處理函數(shù)。4)事件處理函數(shù)的最終效果是1個(gè)按鍵切換2個(gè)LED的亮滅。注意事項(xiàng):G2單片機(jī)的I2C口是P1.6和P1.7,一定要把G2板上P1.6的LED跳線拔掉,否則I2C將無(wú)法通信。兩個(gè)工程的區(qū)別在于有無(wú)軟件I2C條件編譯。工程名:10_UART_KeyBoard.本實(shí)驗(yàn)主要學(xué)習(xí)USCI_I2C通信模塊的配置和使用、軟件I2C原理、TCA6416A操作時(shí)序。1)IC協(xié)議收發(fā)有關(guān)的庫(kù)函數(shù)位于I2C

26、.c中,如果是初次學(xué)習(xí)I2C協(xié)議,建議在I2C中條件編譯,實(shí)用軟件I2C,這樣比較清楚的知道協(xié)議內(nèi)容。2)TCA6416A有關(guān)的操作函數(shù)位于TCA6416A.c文件中,最核心的內(nèi)容可以看TCA6416A.h中所列出的3個(gè)庫(kù)函數(shù)PinIN()、PinOUT()、TCA6416A_Init()和一個(gè)全局變量TCA6316A_InputBuffer。3)調(diào)用一次PinIN()函數(shù),就意味著將TCA6416A的輸入IO值寫入全局變量TCA6416_InputBuffer中。4)調(diào)用負(fù)責(zé)PinOUT()函數(shù)則可控制任意擴(kuò)展IO的輸出。作業(yè): 通過(guò)擴(kuò)展的IO口控制發(fā)光二極管LED和蜂鳴器的鳴響,具體格式自

27、定。實(shí)驗(yàn)九 LCD顯示自檢圖13 LCD自檢實(shí)驗(yàn)原理圖圖14 HT1621驅(qū)動(dòng)器芯片實(shí)驗(yàn)?zāi)康模赫莆諏W(xué)習(xí)USCI_I2C的工作原理和應(yīng)用,掌握學(xué)習(xí)LCD的工作原理。實(shí)驗(yàn)內(nèi)容:通過(guò)I2C協(xié)議擴(kuò)展出的IO控制HT1621驅(qū)動(dòng)LCD做自檢顯示。實(shí)驗(yàn)儀器:計(jì)算機(jī)、信號(hào)源、示波器等。實(shí)驗(yàn)原理:1)配置DCO頻率調(diào)用庫(kù)函數(shù)TCA6416A_Init()實(shí)現(xiàn)TCA6416A初始化,在TCA6416A_Init()中包含了調(diào)用I2C的初始化函數(shù)I2C_Init()。2)分別調(diào)用LCD_DisplaySeg()、LCD_DisplayDigit()、LCD_DisplayNum()三種改寫LCD顯示緩存LCD_B

28、uffer的程序,改寫想要實(shí)現(xiàn)的顯示效果。3)調(diào)用HT1621_Reflash()函數(shù)更新顯存至HT1621中,LCD顯示做相應(yīng)變化。4)LCD先逐段顯示,再逐段消隱,然后8字段顯示0-9數(shù)字,最后顯示PASS。圖15為L(zhǎng)CD顯示自檢的效果圖。注意事項(xiàng):G2單片機(jī)的I2C口是P1.6和P1.7,一定要把G2板上P1.6的LED跳線拔掉,否則I2C將無(wú)法通信。圖15 LCD自檢實(shí)驗(yàn)效果圖工程名:14_LCD_SelfScan_Hard_or_Soft_I2C.本實(shí)驗(yàn)主要學(xué)習(xí)HT1621驅(qū)動(dòng)器的控制方法、顯存隔離以及利用宏定義進(jìn)行硬件隔離的編程思想。(1)要想使用MSP-EXP430G2擴(kuò)展板上這塊128段式液晶很難。如圖 所示,單片機(jī)必須用I2C協(xié)議去控制TCA6416A輸出4個(gè)控制信號(hào)CS、WR、RD、DATA,哪怕只是改變一次CS的電平,實(shí)際工作

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論