280 likes | 534 Views
[0109] Lecture 14. MSP430 Review MSP430 功能模組回顧 應用範例練習. MSP430 模組. MSP430 模組 UCS GPIO TimerA RTC, Real Time Clock ADC12. MSP430 模組. MSP430 模組 WDT, Watch Dog Timer MPY 硬體乘法器 USCI-UART USCI-SPI. MSP430 模組. UCS 設定系統的三個主要時脈 : MCLK 、 SMCLK 、 ACLK
E N D
[0109]Lecture 14 • MSP430 Review • MSP430 功能模組回顧 • 應用範例練習
MSP430模組 • MSP430 模組 • UCS • GPIO • TimerA • RTC, Real Time Clock • ADC12
MSP430模組 • MSP430 模組 • WDT, Watch Dog Timer • MPY 硬體乘法器 • USCI-UART • USCI-SPI
MSP430模組 • UCS • 設定系統的三個主要時脈:MCLK、SMCLK、ACLK • 預設時脈數據為:MCLK = 1.045MHzSMCLK = 1.045MHzACLK = 32KHz
MSP430模組 • GPIO • 一般的數位輸入或輸出 • 用作輸出時:PxDIR打開腳位輸出PxOUT控制輸出0或1 • 用作輸入時:PxIN顯示腳位輸入狀態PxREN設定是否接上 上拉/下拉電阻PxOUT在P2REN啟用時,用作設定上拉或是下拉電阻
MSP430模組 • GPIO • 用作輸入時:PxIE設定各個腳位的中斷訊號回應與否PxIES設定各個腳位觸發中斷的相位變化,0 = 0 to 1;1 = 1 to 0.PxSEL設定腳位是用作I/O Port 抑或是其他功能 • 一個GPIOPortx擁有一個中斷向量
MSP430模組 • TimerA • 做計時器使用時,依據選擇與設定的時脈來源,驅動16-bit暫存器TAR的計數 • 根據設定,能夠提供特定時間間隔的中斷事件觸發 • 除了TAR的溢位歸零外,還有若干個CCR暫存器亦提供中斷功能
MSP430模組 • TimerA • 一個TimerA模組配備有兩個中斷向量,CCR0IFG獨佔一個中斷向量TIMER0_A0_VECTOR • TAIFG和其餘的CCRxIFG則分享一個中斷向量TIMER0_A1_VECTOR
MSP430模組 • TimerA • 熟悉TimerA的Mode Control(MC)00=STOP01= Upmode10= Continuous11= Up/Down mode • 藉由MC設定,確實掌握TimerA的動作
MSP430模組 • TimerA • 做PWM輸出使用時,大抵和做計時器時雷同,但不需設定中斷。 • 要先找到輸出PWM訊號的CCR模組,再針對其作設定 • 利用CCR模組中的OUTMODE0~7搭配TimerA的三種計數模式,掌握輸出波形(頻率、Duty cycle)
MSP430模組 • RTC • Real Time Clock讓我們能夠輕易地配置一具時鐘日曆 • 選用HEXmode,並透過CCS寫入10進位的數值到相對應的暫存器中,即可設定時間日期 • 各項時間設定完成後,可以清除RTCHOLD bit為0,讓RTC開始運作
MSP430模組 • RTC • RTC 模組擁有一個中斷向量 • 中斷訊號來源有RTCRDYIFG、RTCTEVIFG、RTCAIFG • RTCRDYIFG來自於模組每秒會可讀取一次,並發出RDY中斷讓我們更新時間資訊或產生秒中斷 • RTCTEVIFG來自於Interval TimeEvent,在RTCCTL1中可以選擇每分鐘、每整點
MSP430模組 • RTC • RTCTEVIFG來自於Interval TimeEvent,在RTCCTL1中可以選擇每分鐘、每整點、每日00:00與每日12:00產生 • RTCAIFG來自於使用者設定的鬧鈴時間
MSP430模組 • ADC12 • ADC12提供一個類比訊號轉12-bit數位訊號的模組 • 模組中總共有12個類比訊號channel可以接收類比訊號 • 總共有16個MEM窗口可以設定抓取類比通道中的轉換結果 • ADC12擁有一個中斷向量可使用
MSP430模組 • ADC12 • ADC12IFG0~ADC12IFG15分別在MEM0~MEM15存入轉換結果後升起,進入ADC12 ISR中存取轉換結果
MSP430模組 • WDT • 看門狗計時器,用來防止系統陷入死結而當機,看門狗計時器啟動時,在一定時間內沒有重置看門狗計時器,則會自動Reset • 看門狗計時器在設定時,需輸入密碼WDTPW,密碼輸入錯誤,也會導致系統重開機
MSP430模組 • WDT • 看門狗計時器亦可設定為32-bit的計時器,可以提供特定時間間格中斷 • WDT在計時器模式時,提供一個WDT_VECTOR中斷向量可以使用 • WDT也支援HOLD暫停模式,以節省功耗 • WDT計數暫存器的值無法直接存取,僅能透過WDTCNTCL設值為1清除。
應用範例 • MIDIInstrument • 利用EVM上的蜂鳴器發出聲音 • 若提供給蜂鳴器的正電是PWM信號,則能夠有音高變化 • 利用TimerA產生所需的PWM訊號,使得蜂鳴器成為能夠演奏的樂器 • 使用LCD 顯示與Key pad控制
應用範例 • MIDIInstrument • 首先參考電路圖,找到蜂鳴器的腳位,以利配置功能選擇與相應的TA模組 • 由於要以Keypad控制,所以也要配置Port2的對應設定 • 設置D1、D2 作為指示燈號,使用LCD顯示訊息,所以也要設置LCD • 設置TA模組作為PWM輸出,但先不動作
應用範例 • MIDIInstrument • 由參考資料,我們知道:DO =[524Hz]RE = [587Hz]MI = [662Hz]FA = [701Hz]SOL = [787Hz]LA =[878Hz]SI = [1004Hz] • 我們要在Port2 ISR中執行PWM的輸出,由於只有5個按鍵,我們便配置C~G在Key1~Key5
應用範例 • MIDIInstrument • 選用適當的輸出模式,並計算特定PWM頻率所需要的參數設定 • 將各個音高的參數設定分別安排在5個按鍵的ISR中 • 思考電子琴的動作,安排Port2ISR要怎麼寫? • 加上LCD顯示與LED燈號,提供更多裝置反應
應用範例 • MIDIInstrument • 檢查是否所有相關設定都已安排妥當 • 編譯並燒錄程式,然後實際操作。 • 思考是否能夠配置完整的旋律,呈現音樂盒的功能?
應用範例 • MIDIInstrument • 本範例中使用到:系統時脈GPIOTimer ALCD Module
應用範例 • Reference Code • MIDI Instrument
Exercise • 完成後,找到專案裡面的source file,以附檔形式寄到 kchu@ares.ee.nchu.edu.tw,並在主旨中註明姓名、系級與學號,source檔名稱請利於辨識。EX: • 主旨: 微處理機實習 LAB3 王大明 電機碩二 7101064123
Appendixes • 附件 • LCD.h • 附件下載
Appendixes • 附件 • Example Sets