Transcript 應用實作總複習
[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.045MHz SMCLK = 1.045MHz ACLK = 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 抑或 是其他功能 一個GPIO Portx擁有一個中斷向量 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= STOP 01= Up mode 10= Continuous 11= Up/Down mode 藉由MC設定,確實掌握TimerA的動 作 MSP430模組 TimerA 做PWM輸出使用時,大抵和做計時 器時雷同,但不需設定中斷。 要先找到輸出PWM訊號的CCR模組, 再針對其作設定 利用CCR模組中的OUTMODE0~7 搭配TimerA的三種計數模式,掌握輸 出波形(頻率、Duty cycle) MSP430模組 RTC Real Time Clock讓我們能夠輕易地配 置一具時鐘日曆 選用HEX mode,並透過CCS寫入10 進位的數值到相對應的暫存器中,即 可設定時間日期 各項時間設定完成後,可以清除 RTCHOLD bit為0,讓RTC開始運作 MSP430模組 RTC RTC 模組擁有一個中斷向量 中斷訊號來源有RTCRDYIFG、 RTCTEVIFG、RTCAIFG RTCRDYIFG來自於模組每秒會可讀 取一次,並發出RDY中斷讓我們更新 時間資訊或產生秒中斷 RTCTEVIFG來自於Interval Time Event,在RTCCTL1中可以選擇 每分鐘、每整點 MSP430模組 RTC RTCTEVIFG來自於Interval Time Event,在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 清除。 應用範例 MIDI Instrument 利用EVM上的蜂鳴器發出聲音 若提供給蜂鳴器的正電是PWM信號, 則能夠有音高變化 利用TimerA產生所需的PWM訊號, 使得蜂鳴器成為能夠演奏的樂器 使用LCD 顯示與Key pad控制 應用範例 MIDI Instrument 首先參考電路圖,找到蜂鳴器的腳位, 以利配置功能選擇與相應的TA模組 由於要以Key pad控制,所以也要配 置Port2的對應設定 設置D1、D2 作為指示燈號,使用 LCD顯示訊息,所以也要設置LCD 設置TA模組作為PWM輸出,但 先不動作 應用範例 MIDI Instrument 由參考資料,我們知道: DO = [524Hz] RE = [587Hz] MI = [662Hz] FA = [701Hz] SOL = [787Hz] LA = [878Hz] SI = [1004Hz] 我們要在Port2 ISR中執行PWM的輸 出,由於只有5個按鍵,我們便 配置C~G在Key1~Key5 應用範例 MIDI Instrument 選用適當的輸出模式,並計算特定 PWM頻率所需要的參數設定 將各個音高的參數設定分別安排在5 個按鍵的ISR中 思考電子琴的動作,安排Port2 ISR要 怎麼寫? 加上LCD顯示與LED燈號,提供 更多裝置反應 應用範例 MIDI Instrument 檢查是否所有相關設定都已安排妥當 編譯並燒錄程式,然後實際操作。 思考是否能夠配置完整的旋律,呈現 音樂盒的功能? 應用範例 MIDI Instrument 本範例中使用到: 系統時脈 GPIO Timer A LCD Module 應用範例 Reference Code MIDI Instrument Exercise 完成後,找到專案裡面的source file,以附 檔形式寄到 [email protected],並在 主旨中註明姓名、系級與學號, source檔名稱請利於辨識。 EX: 主旨: 微處理機實習 LAB3 王大明 電機碩二 7101064123 Appendixes 附件 LCD.h 附件下載 Appendixes 附件 Example Sets