應用實作總複習

Download Report

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