msp430設計數(shù)字秒表_第1頁
msp430設計數(shù)字秒表_第2頁
msp430設計數(shù)字秒表_第3頁
msp430設計數(shù)字秒表_第4頁
msp430設計數(shù)字秒表_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、“最小系統(tǒng)設計實驗答辯”“第七組” “萬事屋” “隊員:范昊洋 周云浩 姚冠” “數(shù)字秒表系統(tǒng)設計”整體簡述1思考過程2作品技術實現(xiàn)展示3作品完整度展示4團隊協(xié)作展示5錄目目整體簡述: 設計設計作品作品 本次試驗制作的是一個數(shù)字秒表。根據(jù)題目要求,設計一個有暫停,清零功能的數(shù)字秒表設備。 如右圖即為硬件系統(tǒng)框圖整體簡述: 設計設計作品作品 采取的技術路線:在主函數(shù)中,對硬件進行初始化操作,然后循環(huán)檢測按鍵輸入和顯示當前計數(shù)值的操作。設置定時器的頻率為1Hz,每次中斷計數(shù)值自加一,以實現(xiàn)要求。程序分析 設計目的:檢測按鍵情況,并進行相應操作。 1.當清零按鍵按下后,延時消抖,數(shù)據(jù)清零,然后清空當

2、前屏幕上的顯示值。 2.當暫停按鍵按下時,改變模式(當其為0時讓它變?yōu)?,是1時讓它變?yōu)?)。按鍵部分程序分析:void keyscan()if(!(P2IN&BIT1)=1) delay(10); num = 0; LCD_CLS(); if(!(P1IN&BIT1)=1) delay(10); if(mode)mode = 0; else mode = 1; 程序分析 設計目的:檢測按鍵情況,顯示當前計數(shù)值,并讓LED燈做出相應反應 大部分語句是為了實現(xiàn)當顯示數(shù)據(jù)長度不同時顯示不同的長度。主程序循環(huán)部分程序分析:while(1) keyscan(); if(num10) L

3、CD_ShowNum(0,0,num,1,16); else if(num9) LCD_ShowNum(0,0,num,2,16); else if(num99) LCD_ShowNum(0,0,num,3,16); else if(num999) LCD_ShowNum(0,0,num,4,16); else LCD_ShowNum(0,0,num,5,16); /控制顯示位數(shù) led(num); 程序分析 設計目的:設置定時器和定時器中斷 設置部分: 1.TACCR0是TA0定時器的重裝載值,當計數(shù)器值達到該值的時候溢出產(chǎn)生中斷。 2.TA0CCTL0寄存器管理中斷使能 3.TA0CTL控

4、制寄存器的掛在時鐘線路,預分頻,計數(shù)模式,自動清除中斷標志等。 定時器中斷部分: 每秒讓計數(shù)值自加一。定時器部分程序分析:void timer_a_ioset(void) TA0CCR0 = 32768; / 定義中斷計數(shù)周期1s,時鐘頻率為32.768MHZ,32768 / 32768 = 1s TA0CCTL0 = CCIE; / TA0CCR0捕獲/比較中斷寄存器中斷使能 TA0CTL|=TASSEL_1+MC_1 +TACLR +ID_0;#pragma vector = TIMER0_A0_VECTOR _interrupt void Timer_A0(void) / 定時器中斷觸發(fā)

5、,P3輸出口異或,電平翻轉 if(mode = 0) num = num +1; 程序分析#define MC_0 (0*0 x10u) /* Timer A mode control: 0 - Stop */#define MC_1 (1*0 x10u) /* Timer A mode control: 1 - Up to CCR0 */#define MC_2 (2*0 x10u) /* Timer A mode control: 2 - Continuous up */#define MC_3 (3*0 x10u) /* Timer A mode control: 3 - Up/Down

6、 */#define ID_0 (0*0 x40u) /* Timer A input divider: 0 - /1 */#define ID_1 (1*0 x40u) /* Timer A input divider: 1 - /2 */#define ID_2 (2*0 x40u) /* Timer A input divider: 2 - /4 */#define ID_3 (3*0 x40u) /* Timer A input divider: 3 - /8 */#define TASSEL_0 (0*0 x100u) /* Timer A clock source select:

7、0 - TACLK */#define TASSEL_1 (1*0 x100u) /* Timer A clock source select: 1 - ACLK */#define TASSEL_2 (2*0 x100u) /* Timer A clock source select: 2 - SMCLK */#define TASSEL_3 (3*0 x100u) /* Timer A clock source select: 3 - INCLK */#define TACLR (0 x0004u) /* Timer A counter clear */#define TAIE (0 x0002u) /* Timer A counter interrupt enable */#define TAIFG (0 x0001u) /* Timer A counter interrupt flag */以下展示部分庫文件中的設置: 從左側可看出,我們選擇的設置TASSEL_1+MC_1 +TACLR +ID_0操作為:時鐘掛載ACLK,定時器計數(shù)器自動清除,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論