




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、08012131 楊淳元東南大學(xué)自動化學(xué)院實 驗 報 告課程名稱: MCU技術(shù)及綜合課程設(shè)計 第 3 次實驗實驗名稱: 實驗三:定時器輸出PWM波形 院 (系): 自動化學(xué)院 專 業(yè): 自動化 姓 名: 楊淳元 學(xué) 號: 08012131 實 驗 室: 實驗組別: 同組人員: 實驗時間: 2015年 5月 7日評定成績: 審閱教師: 目 錄一、實驗?zāi)康暮鸵?二、實驗原理2三、實驗方案與實驗步驟6四、實驗設(shè)備與器材配置7五、實驗記錄7七、思考題或討論題8八、附上源代碼9一、實驗?zāi)康暮鸵?) 實驗?zāi)康?1) 學(xué)習(xí)MP430單片機(jī)的時鐘原理和定時器使用方法。 (2) 認(rèn)識學(xué)習(xí)PWM波形的作用及原
2、理。 2) 實驗要求編寫程序輸出1s周期的PWM波形,產(chǎn)生兩路PWM波形從引腳P1.2和P1.3分別輸出。CCR0中的值定義了PWM信號的周期,CCR1,CCR2中的值定義了PWM信號的占空比。定時使用32.768KHz的ACLK作為輸入時鐘源,P1.2上的占空比為75%,P1.3上的占空比為25%。二、實驗原理1) Timer_A定時器模塊框圖如圖3-1所示。由圖3-1可知,Timer_A 模塊可以有三種時鐘源輸入。分別是ACLK, SMCLK, TAxCLK。時鐘源的選擇通過 TASSEL 信號來完成。被選擇的時鐘源可以直接送給 TIMER 模塊,或者通過 ID 信號進(jìn)行2,4,8分頻。選
3、擇的時鐘信號還可以通過 TAIDEX 信號進(jìn)一步做 2,3,4,5,6,7 或者 8 分頻。當(dāng) TACLK 信號 被設(shè)置的時候, TIMER 的時鐘分頻邏輯被復(fù)位。圖 3-1 Timer_A 模塊框圖2) Timer A 控制寄存器TA0CTL詳細(xì)定義如圖3-2所示。圖3-2 Timer A 控制寄存器TA0CTL 3) 定時器中斷的中斷向量中包含一個獨立中斷和若干個共源中斷,Timer_A模塊的中斷分類如圖3-3所示。圖 3-3 Timer_A模塊的中斷向量分類圖1) 獨立中斷源的中斷處理TA0CCTL0 = CCIE; /CCR0 中斷使能#pargma vector = TIMER0_A
4、0_VECTOR /中斷向量定義,可查詢頭文件得到_interrupt void TIMER0_A0_ISR(void)/添加中斷處理代碼2) 共源中斷向量寄存器TAxIV圖 3-4共源中斷向量寄存器TAxIV 共源中斷程序switch處理方式:#pragma vector=TIMER0_A0_VECTOR /共源中斷入口_interrupt void TIMER0_A0_ISR(void) switch(_even_in_range(TA0IV,14) /共源中斷處理 case 0: fun_no(); break; / No interrupt case 2: fun_CCR1(); br
5、eak; / CCR1 interrupt case 4: fun_CCR2(); break; / CCR2 interrupt case 6: fun_CCR3(); break; / CCR3 interrupt case 8: fun_CCR4(); break; / CCR4 interrupt case 10: fun_CCR5(); break; / CCR5 interrupt case 12: fun_CCR6(); break; / CCR6 interrupt case 14: fun_overflow(); break; / overflow default: fun_
6、default(); break; / default 3) PWM原理PWM 技術(shù)的三個要素,具體如圖3-5所示, PWM頻率計算見圖3-6。(1) Frequency 時鐘頻率 (2) Duty cycle 占空比 (3) Amplitude 信號幅度圖3-5 PWM計數(shù)三要素示意圖圖3-6 PWM頻率計算示意圖4) 實驗箱I/O硬件電路如圖3-7所示。圖3-7 實驗箱I/O口P1的硬件電路圖三、實驗方案與實驗步驟設(shè)置時鐘初始化捕獲寄存器,設(shè)置周期,占空比,輸出模式設(shè)置輸出輸出端口,時鐘源,計數(shù)器工作模式低功耗模式循環(huán)四、實驗設(shè)備與器材配置MSP430F6638,數(shù)據(jù)線,電腦。五、實驗記錄
7、設(shè)置p1.2和p1.3為輸出,并且把這兩個端口接上示波器觀察現(xiàn)象。P1.2端口輸出的是占空比為75%的PWM波形.P1.3端口輸出的是占空比為25%的PWM波形。六、實驗總結(jié)本次試驗我學(xué)會了利用定時器timerA輸出pwm的波形,主要的工作就是設(shè)置寄存器計數(shù)值。通過更改控制寄存器能夠使用不同的模塊,這對今后的程序設(shè)計是很重要的啟發(fā)七、思考題或討論題(1) 430時鐘系統(tǒng)產(chǎn)生的ACLK、MCLK和SMCLK各自用于什么場合?系統(tǒng)復(fù)位時三種時鐘輸出的默認(rèn)值為多少?ACLK為低速時鐘,主要為片內(nèi)一些低速設(shè)備提供低速時鐘。MCLK一般為CPU提供運行時鐘,但是也可以用于其他高速模塊(如定時器和數(shù)模轉(zhuǎn)換
8、模塊)。SMCLK為高速時鐘,主要為片內(nèi)一些高速外設(shè)提供高速時鐘。(2) MSP430F6638有哪些定時器模塊?其中Timer_A0有多少捕獲/比較器?三個Timer_A,一個Timer_B。Timer_A0有5個捕獲/比較器。(3) 定時器有哪幾種工作模式?各種工作模式的特點和定時周期如何計算?其最大定時周期分別是多少?1)4種,通過設(shè)定MC1,MC2實現(xiàn)。00:停止模式:定時器停止01:增計數(shù)模式:定時器重復(fù)從0計數(shù)到TAxCCR010:連續(xù)計數(shù)模式:定時器重復(fù)從0計數(shù)到0FFFFh11:增減計數(shù)模式:定時器重復(fù)從0計數(shù)到TAxCCR0,再減計算到02)特點如上。定時周期取決于所選擇的時
9、鐘,周期為計數(shù)最大值除以時鐘頻率。最大定時周期:增計數(shù)模式:(TAxCCR0+1)/時鐘源。連續(xù)奇數(shù):10000h/時鐘源增減計數(shù):(2*TAxCCR0+1)/時鐘源(4) PWM 控制技術(shù)主要運用在哪些場合?如何根據(jù)指定的PWM定時周期和占空比來計算計數(shù)周期?電機(jī)驅(qū)動控制轉(zhuǎn)速。定時周期乘以占空比。八、附上源代碼#include <msp430f6638.h>void main(void) WDTCTL = WDTPW + WDTHOLD; /關(guān)閉看門狗 UCSCTL6 &= XCAP_3; /配置內(nèi)接電容值 TA0CCR0 = 512-1; / PWM周期 TA0CCTL
10、1 = OUTMOD_7; / 復(fù)位/置位輸出方式 TA0CCR1 = 384; / 占空比384/512=75% TA0CCTL2 = OUTMOD_7; / 復(fù)位/置位輸出方式 TA0CCR2 = 128; / 占空比128/512=25% P1DIR |= BIT2 + BIT3; / P1.2和P1.3輸出 P1SEL |= BIT2 + BIT3; / P1.2和P1.3設(shè)置為第二功能:TA0.1和TA0.2 TA0CTL |= TASSEL_1 + MC_1; / ACLK, Timer_A增計數(shù)模式 for (;) _BIS_SR(LPM3_bits); / 進(jìn)入 LPM3 _N
11、OP(); 東南大學(xué)自動化學(xué)院實 驗 報 告課程名稱: MCU技術(shù)及綜合課程設(shè)計 第 4 次實驗實驗名稱: 實驗四:LED數(shù)碼管的使用 院 (系): 自動化學(xué)院 專 業(yè): 自動化 姓 名: 楊淳元 學(xué) 號: 08012131 實 驗 室: 實驗組別: 同組人員: 實驗時間: 2015年 5月 7日評定成績: 審閱教師: 目 錄一、實驗?zāi)康暮鸵?3二、實驗原理13三、實驗方案與實驗步驟17四、實驗設(shè)備與器材配置17五、實驗記錄17七、思考題或討論題18八、附上源代碼18一、實驗?zāi)康暮鸵?)實驗?zāi)康?1) 了解 TM1638 芯片工作原理與使用方法;(2) 掌握 LED 數(shù)碼管的動態(tài)顯示控制。
12、2)實驗要求通過 MSP430F6638 端口控制 TM1638芯片以實現(xiàn) LED 數(shù)碼管顯示,例如用數(shù)碼管顯示自己八位學(xué)號。二、實驗原理(1) TM1638控制芯片TM1638 是帶鍵盤掃描接口的 LED驅(qū)動控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、 LED 高壓驅(qū)動、鍵盤掃描等電路。主要應(yīng)用于冰箱、空調(diào) 、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動。TM1638 原理圖如4-1所示,其中 SEG_DIO, SEG_CLK, SEG_STB 與 MSP430 芯片中P3.5, P3.4, P3.2 三個 IO 口相連,僅占用3 個端口即可完成數(shù)據(jù)的輸入輸出,大大節(jié)約單片機(jī)的 IO 口和開
13、發(fā)板的空間,降低了布線的難度。TM1638與MSP 430 實驗箱連接示意圖如圖4-1所示,實驗開發(fā)板LED數(shù)碼管對應(yīng)關(guān)系見圖4-2。圖4-1 MSP430 與TM1638連接示意圖圖4-2 實驗開發(fā)板LED數(shù)碼管對應(yīng)關(guān)系圖TM1638的各引腳定義如圖4-3所示。圖4-3 TM1638各引腳定義(2) TM1638接收數(shù)據(jù)串行數(shù)據(jù)傳輸格式:讀取和接收1個BIT都在時鐘的上升沿操作。數(shù)據(jù)接收(寫數(shù)據(jù))時序如圖4-4所示。圖 4-4 TM1638數(shù)據(jù)接收時序圖以下寫數(shù)據(jù)代碼僅作為參考。(更多關(guān)于TM1638的程序請參考給出的TM1638.h和TM1638.c兩個文件以及芯片說明書)void TM1
14、638_Write(unsigned char DATA) /寫數(shù)據(jù)函數(shù)unsigned char i;DIO_OUT; /將DIO配置為輸出狀態(tài)for(i=0;i<8;i+) CLK_low; if(DATA & 0x01) DIO_high;else DIO_low; CLK_high; DATA>>=1; /數(shù)據(jù)左移一位(3) LED數(shù)碼管顯示圖4-5 共陰極數(shù)碼管連接圖圖4-5給出一個共陰數(shù)碼管的連接示意圖,如果讓該數(shù)碼管顯示“0”,那你需要在 GRID1 為低電平的時候讓 SEG1, SEG2, SEG3, SEG4, SEG5, SEG6 為高電平, SE
15、G7 為低電平,即在 00H 地址單元里面寫數(shù)據(jù)3FH 就可以讓數(shù)碼管顯示“0”。共陰極LED數(shù)碼管編碼如表4-1所示。表4-1共陰極LED數(shù)碼管編碼表0123456789ABCDEF3F065B4F666D7D077F6F777C395E7971(4) 開發(fā)板上LED地址開發(fā)板共有8個LED 數(shù)碼管,從左至右其地址分別為:08h, 0ah,0ch,0eh,00h,02h,04h,06h。例如: const uint8_t Disp8 = 0, 8, 0, 1, 2, 1, 4, 0; /要顯示的學(xué)號const uint8_t Num16 = 0x3F, 0x06, 0x5B, 0x4F, 0
16、x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71; /段碼const uint8_t Addr8 = 08h, 0ah, 0ch, 0eh, 00h, 02h, 04h, 06h; /地址Write DATA(Addr0, NumDisp0); /最左邊的數(shù)碼管顯示第一位學(xué)號(5) ACLK設(shè)置初始化時,需要設(shè)置ACLK引腳輸出,即P1DIR |= BIT0;P1SEL |= BIT0;三、實驗方案與實驗步驟初始化(端口配置、TM1638配置)進(jìn)入循環(huán)檢測按鍵對應(yīng)端口值是否改變判斷是哪個按鍵按下按鍵1:逐
17、位寫學(xué)號,顯示學(xué)號1按鍵2:逐位寫學(xué)號,顯示學(xué)號2LED置0四、實驗設(shè)備與器材配置MSP430F6638,數(shù)據(jù)線,電腦。五、實驗記錄燒錄程序之后,一開始數(shù)碼管所有位全亮,顯示一串8.按下按鍵1,顯示第一個同學(xué)的學(xué)號數(shù)字。按下按鍵2,顯示第二個同學(xué)的學(xué)號數(shù)字。六、實驗總結(jié)由于對于TM1638控制數(shù)碼管操作全部已經(jīng)封裝好了,我們只需要在主函數(shù)中直接調(diào)用相關(guān)的函數(shù)就可以設(shè)置需要數(shù)碼管顯示的數(shù)字了。雖然實驗很簡單,只不過是按下按鍵就可以控制數(shù)碼管的輸出內(nèi)容,但是這對于我們今后的程序設(shè)計還是有很大的啟發(fā)意義的。很多時候我們可以直接用很多封裝好的函數(shù)和庫,但是深入研究函數(shù)背后的的運行機(jī)制我覺得還是有一定的
18、意義的。七、思考題或討論題(1) 閱讀TM1638芯片使用手冊,了解TM1638芯片工作原理與使用方法。 (2) 掌握LED數(shù)碼管的顯示控制,并說明采用TM1638是如何實現(xiàn)段控和位控的。TM1638是逐位進(jìn)行寫操作來對數(shù)碼管進(jìn)行設(shè)置的,串行的方法比較節(jié)約端口。八、附上源代碼主程序:#include msp430.h #include TM1638.h main.c void GPIO_init();const unsigned char Disp18 = 0, 8, 0, 1, 2, 1, 3, 1; 要顯示的學(xué)號const unsigned char Disp28 = 0, 8, 0, 1
19、, 2, 1, 'a', 'a' 要顯示的學(xué)號const unsigned char Num16 = 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71; 段碼const unsigned char Addr8 = 0x08, 0x0a, 0x0c,0x0e, 0x00, 0x02, 0x04, 0x06; 地址int main(void) unsigned char i; unsigned char stu=1; GPIO_
20、init(); while(1) if(P4IN & BIT2)=0) stu=1; if(P4IN & BIT3)=0) stu=2; for( i=0;i8;i+) if(stu=1) Write_DATA(Addri, NumDisp1i); 最左邊的數(shù)碼管顯示第一位學(xué)號 else Write_DATA(Addri, NumDisp2i); 最左邊的數(shù)碼管顯示第一位學(xué)號 return 0; void GPIO_init() WDTCTL = WDTPW WDTHOLD; Stop watchdog timer P3DIR = BIT2+BIT4+BIT5; P4REN =
21、 BIT2+BIT3; P4OUT = BIT2+BIT3; init_TM1638(); 控制數(shù)碼管的相關(guān)函數(shù):TM1638.c:#include "TM1638.h"#include "stdint.h"/* Private functions -*/void TM1638_Write(unsigned char DATA) /寫數(shù)據(jù)函數(shù)unsigned char i;DIO_OUT;for(i=0;i<8;i+) CLK_low; if(DATA & 0x01) DIO_high; else DIO_low; CLK_high; DA
22、TA>>=1;unsigned char TM1638_Read(void) /讀數(shù)據(jù)函數(shù)unsigned char i;unsigned char temp=0;DIO_IN;STB_low;for(i=0;i<8;i+) temp>>=1; CLK_low; _delay_us(100); if(DIO_READ) temp |= 0x80; else temp &= 0x7f; CLK_high;return temp;void Write_COM(unsigned char cmd) /發(fā)送命令字CLK_high;STB_high;STB_low;
23、TM1638_Write(cmd);STB_high;/*向指定地址寫入數(shù)據(jù)*/void Write_DATA(unsigned char add,unsigned char DATA)Write_COM(0x44);STB_low;TM1638_Write(0xc0|add);TM1638_Write(DATA);STB_high;void init_TM1638(void)Write_allLED(0xff);_delay_ms(100);Write_allLED(0);void Write_allLED(unsigned char DATA)unsigned char i;Write_COM(0x8F);/顯示控制Write_COM(0x40); /數(shù)據(jù)命令STB_low;TM1638_Write(0xc0);for(i=0;i<16;i+) TM1638_Write(DATA);STB_high;TM1638.h:#ifndef _TM1638_H#define _TM1638_H#include "msp430f6638.h&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供應(yīng)鏈合同范例
- 農(nóng)場租地露營合同范例
- 太原旅游職業(yè)學(xué)院《翻譯理論與實踐英語》2023-2024學(xué)年第二學(xué)期期末試卷
- 甘南藏族自治州碌曲縣2024-2025學(xué)年四下數(shù)學(xué)期末教學(xué)質(zhì)量檢測模擬試題含解析
- 晉中師范高等??茖W(xué)?!豆こ虃惱砑按靶乱?guī)范》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南省岳陽市2024-2025學(xué)年小升初模擬數(shù)學(xué)測試卷含解析
- 云南工貿(mào)職業(yè)技術(shù)學(xué)院《中學(xué)主題活動設(shè)計與開發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 大同師范高等??茖W(xué)校《設(shè)計策劃與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 初中七年級地理教師下學(xué)期工作計劃
- 海南衛(wèi)生健康職業(yè)學(xué)院《財經(jīng)應(yīng)用文寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 保潔管理服務(wù)定位
- 三年級數(shù)學(xué)下冊蘇教版《解決問題的策略-從問題想起》課件(區(qū)級公開課)
- ad-hoc第二章-ad-hoc網(wǎng)絡(luò)中的MAC協(xié)議
- 建筑工程施工質(zhì)量控制PPT課件
- 心性修煉與教育智慧
- 二手房買賣合同正式版空白
- 西方企業(yè)組織變革理論綜述
- 結(jié)構(gòu)力學(xué)中必須掌握的彎矩圖
- 國家二字碼大全--253個國家
- (完整版)螺旋鉆孔灌注樁施工工藝
- 公務(wù)接待制度公務(wù)接待審批單公務(wù)接待清單
評論
0/150
提交評論