嵌入式系統(tǒng)課程設計.doc_第1頁
嵌入式系統(tǒng)課程設計.doc_第2頁
嵌入式系統(tǒng)課程設計.doc_第3頁
嵌入式系統(tǒng)課程設計.doc_第4頁
嵌入式系統(tǒng)課程設計.doc_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

嵌入式系統(tǒng)課程設計一、目的 嵌入式系統(tǒng)課程設計為學生提供了一個理論與實踐相結合的機會。既鍛煉了學生動手能力,又會加深理解學生在課堂所學習的理論知識。通過課程設計可以將課本上的理論知識和實際應用有機的結合起來,培養(yǎng)學生又動腦,又動手,獨立思考分析問題的能力,提高學生運用所學知識解決實際問題的綜合素質。嵌入式系統(tǒng)課程設計的主要目標是:(1)掌握構建嵌入式系統(tǒng)軟硬件平臺的基本技能;(2)具備基本嵌入式系統(tǒng)下C語言編程能力、嵌入式操作系統(tǒng)基本調試的能力;(3)了解應用嵌入式系統(tǒng)技術開發(fā)一套嵌入式系統(tǒng)設備的方法。二、設計題目基于ARM的滾屏LED廣告牌開發(fā)三、設計原理1、點陣LED屏硬件原理EMBEST實驗平臺設計了一個 1616的點陣屏。點陣屏由發(fā)光LED矩陣塊組成。1616點陣屏即屏上有 1616 個LED發(fā)光二極管,每個發(fā)光二極管可理解為一個像素點,它們被按著行與列的形式整齊地排列,通過控制每個LED(像素點)的亮滅,點陣屏可與計算機同步顯示漢字、英文文本和圖形。本實驗平臺的點陣屏電路如下圖:圖1 點陣屏的行掃描信號圖2 點陣屏的列掃描信號圖3 點陣屏的行驅動信號圖4 點陣屏的接口電路本實驗平臺使用的1616點陣屏上,每一行16個LED,它們采用共陽極的接法;每一列16個LED,它們采用共陰極的接法。如上圖4中,QL1QL16是點陣屏的行驅動信號,每一個信號控制一行;LR1LR16是點陣屏的列驅動信號,每一個信號控制一列。故通過利用相應行線輸出高電平,相應列線輸出低電平,就可以點亮點陣屏上相應的LED。如果按著一定的控制或掃描方法,就可以實現(xiàn)漢字、圖形的顯示。 為了能夠穩(wěn)定地控制點陣屏的顯示,本實驗平臺采用了 CD4094作為行線和列線掃描信號的控制芯片。CD4094芯片簡單來說就是一串入并出的功能,將CPU的串行數(shù)據(jù)轉化為并行數(shù)據(jù)輸出。 如上圖1與圖2,行(列)掃描信號分別采用了兩片CD4094級連的方式來構成,第一片的數(shù)據(jù)溢出信號LQS連接到第二片的串行數(shù)據(jù)輸入口。在圖1中,當CPU通過DATA引腳串行輸入16位的行掃描信號時,第一片CD4094(標號U1101)存儲先輸入的8位數(shù)據(jù),后輸入的8位數(shù)據(jù)通過引腳LQS溢出,然后輸入并存儲到第二片CD4094(標號U1102)。 CLK信號是時鐘信號,當時鐘信號為高電平時,CD4094 允許串行輸入的數(shù)據(jù)發(fā)生變化。LL1LL8 是并行輸出信號。LOE為全局輸出使能信號,當LOE輸入高電平時,CD4094 上鎖存的并行數(shù)據(jù)全部輸出。列線掃描信號也是同樣的方式,如圖2。 在圖3與圖4 中,行線掃描信號LL1LL16分別外接電阻(限流)后接至NPN型三極管,最后引出行線驅動信號QL1QL16。三極管提高了行線輸出信號的驅動能力。在圖4中,如果RQx(x為116的整數(shù))輸出低電平,那么相應的三極管導通,行驅動信號 QLx(x為116的整數(shù))將輸出高電平。2. 軟件設計 本實驗要求編寫點陣屏驅動程序以及點陣屏應用程序。驅動程序要求實現(xiàn)字符、圖形顯示;應用程序可以調用驅動接口,在點陣屏中顯示字符與圖形。 要在點陣屏上顯示字符、圖形,只需要按照字符/圖形的編碼,點亮矩陣屏上相應的 LED 即可。在本實驗平臺上,矩陣屏為 1616 點陣,每屏顯示兩個字符,只需要把 168 點陣的字庫碼送到可容納兩個字符字庫碼(216字節(jié))的顯示緩沖區(qū),然后根據(jù)顯示緩沖區(qū)的內容控制點陣屏上LED燈的亮滅。字庫碼表明了顯示某個字符時點陣屏上的LED 的亮滅布局,每一個LED 燈的狀態(tài)用一位二進制表示,1表示該LED 亮,0表示該LED滅,對于 168點陣的字庫碼,每個字符的字庫碼所占用的存儲容量為16*8/8 = 16 Byte。 在點陣屏顯示驅動程序中,開辟一個顯示緩沖區(qū)用來接受字庫碼,(字庫碼是由應用程序傳遞過來的) ,然后采用動態(tài)掃描的方法來實現(xiàn)字符、圖形的顯示。每次掃描一行,這樣依次循環(huán)掃描16行,經(jīng)過一定的延時處理,就可以實現(xiàn)字符、圖片的靜態(tài)顯示。為了實現(xiàn)字符和圖片的動態(tài)流動顯示,還需要一個大小為可容納3個字符字庫碼(316字節(jié))的緩沖區(qū),該緩沖區(qū)中每次保存 3 個字符的字庫碼。在顯示過程中,為了達到流動效果,每次將該緩沖區(qū)中的前兩個字符字庫碼的各字節(jié)左移 i 位與其后第 16 字節(jié)右移 8-i 位相或的結果復制到顯示緩沖區(qū)中顯示,直到第一個字符完全移出、第三個字符完全移入時,更新緩沖區(qū)。如此循環(huán)即可實現(xiàn)字符的流動顯示。 在顯示時,根據(jù)字庫碼,對點陣屏逐行動態(tài)掃描。掃描時,行線的數(shù)據(jù)與列線的數(shù)據(jù)都通過CD4094鎖存起來,然后經(jīng)過片選使能再同時輸出。 在本設計中,使用到的通用端口有GPIOB4/5,GPIOC0/7,GPIOD10,GPIOG8,因此對它們的工作模式應配置為輸出模式。四、設計要求(1)分析矩陣LED屏模塊硬件原理圖,了解矩陣LED屏塊基本的構成及其硬件電路的基本工作原理。(2)使用ULINK2仿真器連接Embest EduKit-IV實驗平臺上使用Keil軟件編寫矩陣LED屏模塊的驅動程序并調試,使得矩陣LED屏模塊可以正常工作運行。(注:代碼要求條理清晰,并在主要程序代碼部分添加注釋說明)(3)編寫相應的嵌入式程序,要求實現(xiàn)在EMBEST開發(fā)箱矩陣LED屏左滾屏、右滾屏顯示廣告內容信息的子程序。(4)按下開發(fā)箱上KEY1,開發(fā)箱ADC0通道的轉換數(shù)值滾屏顯示在LED廣告屏上,按下開發(fā)箱上KEY2,LED廣告屏滾屏顯示自己名字的拼音。五、實現(xiàn)程序代碼#include 2410lib.h#include sys_init.h#include fonts.h#include led16x16.hextern void txdrdn(unsigned char n);extern void txdispram(unsigned char n);extern void led_char_disp(void);extern void adc_test(void);int main(void)UINT8T rpt, i; sys_init();/ Initial systemuart_printf(n Please Look At The 16X16 LEDSn);led_init(); / Initial led diplaywhile(1)for(i=0;i176;i+)txdrdn(i);rpt=20;while(rpt-) led_char_disp();#include 2410lib.h#include ziku.h#include fonts.h#include led16x16.h#define En_Dataout rGPBDAT |= 0x20#define DisEn_Dataout rGPBDAT &= 0xFFDF#define CLK_H rGPDDAT |= 0x400 #define CLK_L rGPDDAT &= 0xFBFF #define Rdata_H rGPCDAT |= 0x1 #define Rdata_L rGPCDAT &= 0xFFFE #define Ldata_H rGPCDAT |= 0x1#define Ldata_L rGPCDAT &= 0xFFFE#define Lstr_H rGPBDAT |= 0x10#define Lstr_L rGPBDAT &= 0xFFEF#define Rstr_H rGPGDAT |= 0x100#define Rstr_L rGPGDAT &= 0xFEFFINT8T cTemp;INT8T cEnChange0,cEnChange1;UINT8T wangshuai= 0x00,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x08,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00,0x00,0x00,0x08,0x20,0x08,0x20,0x08,0x20,0x4B,0xFE,0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,0x12,0x2E,0x12,0x24,0x20,0x20,0x40,0x20,0x80,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x24,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x42,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x42,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x42,0x00,0x42,0x00,0x04,0x00,0x18,0x00,0x04,0x00,0x02,0x00,0x02,0x00,0x42,0x00,0x44,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x42,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x24,0x00,0x18,0x00,0x00,0x00,0x00,0x00,;UINT8T dispram32;void txdrdn(unsigned char n)/0-175UINT8T i;for(i=0;i16;i+)dispram2*i+0=wangshuai2*n+2*i+0;dispram2*i+1=wangshuai2*n+2*i+1;void txdispram(unsigned char n)UINT16T tmp;UINT8T i;if(n16)for(i=0;i=(15-n);dispram2*i+0=tmp/256;dispram2*i+1=tmp%256;if(n=16)for(i=0;i16;i+)tmp=wangshuai2*i+0*256+wangshuai2*i+1;tmp=(n-15);dispram2*i+0=tmp/256;dispram2*i+1=tmp%256;void write_L4094(UINT16T data)UINT8T i; Lstr_H; for(i=0;i 1; CLK_H;Lstr_L;void write_R4094(UINT8T data) UINT8T i; Rstr_H; for(i = 0; i 1; CLK_H;Rstr_L;void led_char_disp(void)UINT8T i=0;UINT8T k=0;UINT16T x;while(i i); write_L4094(x);

溫馨提示

  • 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

提交評論