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