南郵MSP單片機自動滾動廣告牌設計_第1頁
南郵MSP單片機自動滾動廣告牌設計_第2頁
南郵MSP單片機自動滾動廣告牌設計_第3頁
南郵MSP單片機自動滾動廣告牌設計_第4頁
南郵MSP單片機自動滾動廣告牌設計_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、通信與信息工程學院20 /20 學年 第 學期課程設計報告模 塊 名 稱 MSP430單片機應用 專 業(yè) 學 生 班 級 學 生 學 號 學 生 姓 名 指 導 教 師 設計題目自動滾動廣告牌的設計任務要求事先存儲多串字符串(5組)用LCD顯示器定時滾動顯示;每串應在停留3秒,再滾動輸出下一串。按鍵控制播放效果(播放、暫停、停止、下一個、上一個、滾動加速、滾動減速)。增加字符串運動方式: 左移輸出 右移輸出 由上向下 由下向上 閃動 左右同時移入 淡入(由暗變亮) 淡出(由亮變暗) 其它發(fā)揮部分:自動編成實現(xiàn)順序、循環(huán)、隨機播放功能,調換內容順序等。設備及軟件硬件:微機一臺(Windows 8

2、) MSP430單片機實驗板 串口線一根軟件: 單片機程序編譯軟件:CCS目 錄一 設計任務及要求 -11.1目的與任務-11.2 報告要求-11.3 任務要求-1二 相關原理簡介-12.1 CCS6.0軟件介紹-12.2 MSP430F6638硬件介紹-22.3 應用模塊介紹-2 2.3.1 TFT LCD液晶顯示模塊-22.3.2 矩陣鍵盤模塊-2三 設計方案與實現(xiàn)-33.1 設計分析與方案-33.2 具體功能實現(xiàn)-63.3 拓展顯示-10四 調試過程及結果分析-104.1問題一:燒入代碼后顯示屏不-114.2問題二:軟件編程問題-11五 體會與建議-12參考文獻 -13MSP430單片機

3、應用課程設計報告一、設計任務及要求1.1目的與任務目的:了解MSP430單片機的的特點,學會應用相關的開發(fā)軟件,把理論學習的知識應用于實際,解決實際的工程問題,培養(yǎng)學生的科研動手能力。任務:通過實驗加深對理論課的理解,掌握理論應用于實際的方法;學習撰寫規(guī)范的設計文檔;提交實驗報告。1.2 報告要求(1)驗收后提交設計報告,電子檔及紙質設計報告各一份。(2)課程設計報告內容包括:班級、學號、姓名、實驗時間;所選課題名稱;對 選課題的理解:課題內容、目的、任務;設計描述:設計方案、設計要點及 關鍵代碼;調試過程:遇到的問題及解決辦法、課題結果分析、難點和特色; 體會和建議;參考文獻。1.3 任務要

4、求(1) 基本要求: a.事先存儲多串字符串(5組) b.用LCD顯示器定時滾動顯示;每串應在停留3秒,再滾動輸出下一串。 c.按鍵控制播放效果(播放、暫停、停止、下一個、上一個、滾動加速、 滾動減速)。 d.增加字符串運動方式:左移輸出、右移輸出、由上向下、由下向上、閃 動、 左右同時移入、淡入淡出等(2)發(fā)揮部分: 自動編成實現(xiàn)順序、循環(huán)、隨機播放功能,調換內容順序等。二、相關原理簡介2.1 CCS6.0軟件介紹CCS是一種針對TMS320系列DSP的集成開發(fā)環(huán)境,在Windows操作系統(tǒng)下,采用圖形接口界面,提供有環(huán)境配置、源文件編輯、程序調試、跟蹤和分析等工具。CCS有兩種工作模式,即

5、軟件仿真器模式:可以脫離DSP芯片,在PC機上模擬DSP的指令集和工作機制,主要用于前期算法實現(xiàn)和調試。硬件在線編程模式:可以實時運行在DSP芯片上,與硬件開發(fā)板相結合在線編程和調試應用程序。CCS的功能十分強大,它集成了代碼的編輯、編譯、鏈接和調試等諸多功能,而且支持C/C+和匯編的混合編程。本課題中,CCS6.0被用來設計供MSP430F6638使用的滿足題設要求的相關程序。2.2 MSP430F6638硬件介紹MSP430F663x 是微控制器系列產(chǎn)品,配置有一個高性能12位模數(shù) (A/D )轉換器,比較器,2個通用串行通信接口 (USCI),USB 2.0,硬件乘法器,DMA,4個16

6、位定時器,具有報警功能的實時時鐘模塊,LCD驅動器和多達74 I/O引腳。 這款設備的典型應用包括模擬和數(shù)字傳感器系統(tǒng),數(shù)字電機控制,遙控,恒溫器,數(shù)字時鐘,手持儀表等。在了解MSP430F6638的功能設備之后,我們才能清晰思路,巧妙運用老師提供的demo完成我們最終的設計課題。2.3 應用模塊介紹我們小組的自動滾動廣告牌的設計實驗,主要運用的是TFT LCD液晶顯示模塊以及矩陣鍵盤。2.3.1 TFT LCD液晶顯示模塊本次編寫的程序所用的主要模塊為LCD模塊。硬件電路設計如下所示。其中 U21 (TPS75105DSKR)是 LCD 屏背光控制芯片,由 LCD_BL_EN 引腳控制使能端

7、。圖1 MSP430F6638LCD硬件設計電路2.3.2 矩陣鍵盤模塊在我們設計的內容中,可以完全利用矩陣鍵盤的16個按鍵來控制廣告的呈現(xiàn)方式。矩陣鍵盤隸屬于TM1638電路,TM1638是帶鍵盤掃描接口的LED(發(fā)光二極管顯示器)驅動控制專用電路,內部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅動、鍵盤掃描等電路。其對于矩陣鍵盤的讀取如圖2所示。圖2 TM1638鍵盤讀取電路其中A-F分別對應KS1-KS6。一旦有按鍵按下,TM1638中相關的寄存器的值就會改變(按鍵按下時相應字節(jié)由0變1)。三、設計方案與實現(xiàn)3.1 設計分析與方案根據(jù)實驗要求,為了實現(xiàn)按鍵控制播放顯示,我們將TFT

8、 LCD顯示屏的不同播放效果與不同的按鍵結合起來。這就要求播放效果與按鍵之間是一一對應的?;诖?,為了更好地設計出更優(yōu)的播放效果,我們先對于實驗中要求實現(xiàn)的TFT LCD顯示屏的功能進行了分析。3.1.1 分析所需實現(xiàn)功能通過仔細閱讀題目的相關要求,我們基于實現(xiàn)的現(xiàn)象之間的不同對實現(xiàn)功能主要分成了三個部分:1. 基本運行功能:即完成程序的基礎實現(xiàn)功能,包括:播放,暫停,退出 的功能。2. 播放順序功能:對于字符串的播放,我們采用可以從不同方向進行的播放效果展示。包括:右移輸出播放,左移輸出播放,從上向下播放,從 下向上播放,左右同時移入。3. 播放效果功能: 在上述兩種功能的基礎上,我們還從改

9、變播放的速度, 播放的內容,播放的色彩等方面進行了效果的優(yōu)化實現(xiàn)。其中包括:加 速播放,減速播放,播放上一個字符串,播放下一個字符串,閃動等效 果。 其功能模塊分類圖如圖3所示。圖3 功能模塊分類圖我們對于功能之間的關系進行了進一步的分析。我們可以發(fā)現(xiàn),雖然每個模塊之間的實現(xiàn)功能大體都是相對獨立的,但是不同模塊之間的功能卻是交互影響的。在此,我們先對功能之間的交互影響現(xiàn)象進行進一步的闡明。舉個例子:在實驗中,我們設置了初始的播放效果為右移輸出播放,在這里我們按鍵“下一個字符串播放”,則顯示右移播放該字符串。但如果在此之前我們點擊了“從上向下播放”按鍵,則在顯示下一字符串時,該字符串播放順序遵從

10、從上向下播放。由此,我們可以看出,各個功能模塊基本自身相互獨立(播放效果模塊除外),模塊之間表現(xiàn)為明顯的交互影響。3.1.2 建立設計方案通過對于實現(xiàn)功能的分析,我們可以初步建立相應的設計方案。我們先確定了實現(xiàn)流程圖,具體流程如圖4所示。圖4 程序流程圖之后,根據(jù)流程圖和實驗內容要求,我們對于不同按鍵進行功能劃分,具體安排如圖5所示。圖5 按鍵功能安排3.2 具體功能實現(xiàn)在打開單片機時,我們先制作了開機顯示頁面,顯示了我們的實驗題目,學號和功能。LCD顯示屏上的顯示如圖6。圖6 LCD屏幕顯示初始界面根據(jù)功能模塊的劃分,我們對于具體的實現(xiàn)分部分進行介紹。3.2.1 基本運行功能這一部分主要包括

11、播放,暫停和停止三個功能。由于暫停與停止兩者的實現(xiàn)原理基本相同,我將選擇性的對播放和停止功能進行具體描述。1.播放功能我們通過調用void ShowString( )和void LCD_TFT_Clear( )函數(shù)并結合循環(huán)進行實現(xiàn)。部分代碼如下所示:for(i=0;i12-k*2;i+)LCD_TFT_SetWindow(0,0, 135,360);LCD_TFT_Clear(WHITE);LCD_TFT_ShowString(120,(30+k*10)*i,tj,FONT1608,BLACK,WHITE);實驗中,我們對于播放模塊結合了switch函數(shù)進行了具體選擇劃分,從而在之后的功能實

12、現(xiàn)中多次調用自定義的bofang(k,v,h) 函數(shù),實現(xiàn)模塊之間的交互影響。具體內容會在之后的功能實現(xiàn)中闡述清楚,在此,我們暫不進行細致的介紹了。2.停止功能在實驗中,我們將鍵“0”定義為停止鍵。 我們結合了Read_key()的函數(shù)功能,在播放進行中,定時檢查有無按鍵反應。當系統(tǒng)發(fā)現(xiàn)讀鍵時顯示為0,則跳出循環(huán),顯示結束。在這里,我們的停止鍵僅為當前內容停止,可選擇按任意鍵繼續(xù)其他顯示。部分代碼如下:if(key=0)LCD_TFT_Clear(WHITE);LCD_TFT_SetWindow(0,0, 240,360);LCD_TFT_ShowString(80,20,* ,FONT160

13、8,RED,WHITE);LCD_TFT_ShowString(120,100,END PLAY,FONT1608,RED,WHITE);LCD_TFT_ShowString(160,20,* ,FONT1608,RED,WHITE);LCD_TFT_ShowString(220,110,press any key to continue,FONT1608,RED,WHITE);break; LCD顯示屏上的顯示效果如圖7。圖7 停止功能界面3.2.2 播放順序功能 在實驗中,我們有五種播放順序:右移輸出播放,左移輸出播放,從上向下播放,從下向上播放,左右同時移入。其基本實現(xiàn)的原理大體都是相同

14、的。在此我將以由下向上播放為例,介紹這部分模塊的播放實現(xiàn)。我們在主函數(shù)中定義了一個全局變量,并對于不同的播放順序,給該變量賦予不同的值,帶入到bofang( )函數(shù)中。如由下向上播放時,該變量賦值為3。之后,我們采用for循環(huán),對于固定字符串列,改變字符串首部行指針,從而實現(xiàn)由下向上播放。該部分代碼如下:for(i=0;i14-k*2;i+)LCD_TFT_SetWindow(0,100, 240,360);LCD_TFT_Clear(WHITE); LCD_TFT_ShowString(220-(22+k*11)*i,100,tj,FONT1608,BLACK,WHITE);LCD顯示屏上的

15、顯示效果如圖8-10所示。 圖8-10 由下向上顯示組圖3.2.3 播放效果功能這一模塊中,功能實現(xiàn)最為簡單也最為復雜。因為該模塊下,雖然每個功能都為單一的顯示操作,但是各個功能的顯示原理都完全不相同且各個功能之間存在交互影響。如:字符串選擇和速度改變都是相互影響的。在這里,我將以“下一個字符串”和“減速”為代表介紹該模塊。1.下一個字符串:這部分的操作十分簡單,只要在函數(shù)中選擇字符串組的字符串首坐標,就可以確定當前字符串。然后進行對于tj中的j進行+j。就可以實現(xiàn)上一個字符串的顯示。這一部分關鍵代碼如下圖所示:void next(u16 geshu,u16 vcount,u16 fcount

16、) volatile unsigned int i = 0;u16 wbuf= geshu % 5;LCD_TFT_Clear(WHITE);LCD_TFT_SetWindow(0,0, 240,360);for(i=0;i2;i+)LCD_TFT_ShowString(80,20,* ,FONT1608,RED,WHITE);LCD_TFT_ShowString(120,30,SHOW THE NEXT STRING,FONT1608,RED,WHITE);LCD_TFT_ShowString(160,20,* ,FONT1608,RED,WHITE);bofang(wbuf,vcount,

17、fcount);LCD顯示屏上的顯示效果如圖11-13所示?!旧弦粡垺俊鞠乱粡垺繄D11-13 顯示下一個字符串組圖2. 減速:這一部分的主要內容就是給函數(shù)添加一個速度參數(shù)v,并進行賦值,從而改變播放速度。值得注意的是,由于v的選擇范圍有限,所以當v的值不在選擇范圍內,要進行數(shù)據(jù)處理。這一部分關鍵代碼如下:for(j=0;j5;j+)for(i=0;i10-k*2;i+)LCD_TFT_Clear(WHITE);LCD_TFT_ShowString(220,160,press key 0 to stop,FONT1608,RED,WHITE); LCD_TFT_DrawRectangle(218

18、,238,235,250,RED); LCD_TFT_ShowString(120,220-(24+k*10)*i,tj,FONT1608,BLACK,WHITE);由于速度顯示不易于在報告中表現(xiàn)出,在此就不顯示效果圖了。3.3 拓展顯示在實驗中,我們還增添了拓展功能,循環(huán)播放。這一部分中,我們將預先存入的字符串進行循環(huán)順序播放,在該組播放結束時,再次從頭開始播放,從而達到了循環(huán)的效果。這一部分的函數(shù)內容與之前的播放函數(shù)內容大體相似,只是在循環(huán)外增添了while函數(shù)。main函數(shù)中相關函數(shù)如下:case 1:Sequence(k,v,h);break;關鍵代碼如下:case 1:while(1

19、)for(j=0;j5;j+)for(i=0;i10-k*2;i+)LCD_TFT_Clear(WHITE);LCD_TFT_ShowString(220,160,press key 0 to stop,FONT1608,RED,WHITE);LCD_TFT_DrawRectangle(218,238,235,250,RED);LCD_TFT_ShowString(120,(24+k*10)*i,tj,FONT1608,BLACK,WHITE);顯示屏顯示效果如圖14。圖14 退出循環(huán)界面四、調試過程及問題解決在兩周在實驗過程中,我們小組從硬件接觸零基礎到最終基本完成代碼調試、實現(xiàn)功能,遇到了

20、很多困難,在請教老師、查詢資料、同學討論之后都得以解決。下面按照調試過程闡述幾個突出的問題解決過程:4.1問題一:燒入代碼后顯示屏不亮在實驗初期,我們想通過運行小例子TFT LCD顯示開機畫面來熟悉軟硬件環(huán)境。在燒入代碼后顯示屏毫無反應。開始我們懷疑軟件操作失誤,之后重復多次試驗板子仍然沒有反應。于是我們開始進行MSP430F6638固件燒寫,驗證板子的好壞。準備好燒寫文件后,用USB線將實驗板USB2接口與PC連接,并打開實驗板電源,運行燒寫文件,等待出現(xiàn)下圖信息即燒寫完成。并且實驗板上出現(xiàn)如圖15所示。圖15 固件燒寫后實驗板畫面立即重啟之后實驗板有顯示,可能固件燒寫升級,或者因為系統(tǒng)以及

21、軟件的不適應。4.2問題二:軟件編程問題CCS6.0的軟件編程雖然是使用C語言,但也存在很多語法上的不同,出現(xiàn)的error也千奇百怪。比如定義在for循環(huán)語句for(j=0;j5;j+)條件中,不能直接定義j,寫成for(int j=0;j5;j+),而是需要在開始就完全定義volatile unsigned int j = 0。這一點,使用IAR的同學并沒有遇到,我們是在學習demo的過程中學到了一些與C語言不同的定義方法。比如事先定義好typedef uint32_t u32; /unsigned longtypedef uint16_t u16; /unsigned inttypedef

22、 uint8_t u8; /unsigned char 接下來就直接用u32、u16、u8代表unsigned long、unsigned int、unsigned char。功能實現(xiàn)的的一大難點是實現(xiàn)暫停再繼續(xù)。鍵盤鍵入8時,滾動的廣告牌要在任意位置停止,鍵入9后再繼續(xù)。一開始我們想單獨寫一個暫停的子程序調用,后來發(fā)現(xiàn)可以直接在執(zhí)行播放的函數(shù)中加入key=Read_key()函數(shù)。當鍵盤鍵入8后,程序進入循環(huán)不斷key=Read_key(),鍵入9鍵就跳出死循環(huán)繼續(xù)執(zhí)行,鍵入其他按鍵或不按鍵都將繼續(xù)死循環(huán),那么屏幕顯示的就是當前暫停畫面。key=Read_key(); if(key=8) while(1) LCD_TFT_SetWindow(0,0, 240,360); LCD_TFT_ShowString(220,110,press key 9 to continue,FONT1608,RED,WHITE); key=Read_key(); if(key=9) LCD_TFT_ShowString(220,110,press key 9 to continue,FONT1608,WHITE,WHITE); break;五、體會與建議我們小組選擇的是自動滾動廣告牌的設計,我們認為用C語言實現(xiàn)廣告坐標的變換,達到廣告滾動方向不同的效果,還是不難的,因為不同的效果設計思路都差

溫馨提示

  • 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

提交評論