版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第4章章 LED點陣屏控制點陣屏控制 LED點陣屏是由點陣屏是由LED發(fā)光管點陣組成,它具發(fā)光管點陣組成,它具有顯示亮度高、信息量大、更新速度快。用有顯示亮度高、信息量大、更新速度快。用mcs51單片機完成對單片機完成對LED發(fā)光管點陣的圖像、發(fā)光管點陣的圖像、數(shù)據(jù)顯示控制,有效地解決數(shù)據(jù)顯示控制,有效地解決LED點陣顯示中點陣顯示中驅動、圖像顯示等若干常見問題。通過本項驅動、圖像顯示等若干常見問題。通過本項目的學習目的學習,進一步進一步掌握單片機開發(fā)的流程掌握單片機開發(fā)的流程,掌握掌握LED點陣顯示的控制方法。點陣顯示的控制方法。 4.1任務描述任務描述 4.2 單個字符的顯示單個字符的顯
2、示 4.3 典型案例典型案例4.1任務描述任務描述 為了讓單片機控制發(fā)光二極管,需要將發(fā)光二極管連接到單片機的端口上,如圖4.1所示,就是說單片機和LED電子屏控制的電路要連接上。圖4.1 LED電子顯示屏 要實現(xiàn)LED的閃爍發(fā)光,就是要求LED所對應的單片機引腳不斷輸出高電平和低電平不斷輸出高電平和低電平。為了讓人眼能夠看清楚LED的閃爍變化,LED的閃爍的頻率應在零點幾到十幾赫茲之間,一般取1Hz左右左右。 因此,要實現(xiàn)發(fā)光二極管以不同的快慢閃亮,只需編寫不同的程序,使單片機與發(fā)光二極管相連的端口輸出不同頻率的脈沖信號。若要控制發(fā)光二極管發(fā)出不同的閃亮樣式,則需單片機對端口的各位在不同時間
3、輸出不同的驅動電平,就能驅動發(fā)光二極管以不同閃亮樣式發(fā)光。 步驟為:步驟為: (1)確定LED閃亮的方式; (2)在計算機上編寫原程序,程序功能就是控制單片機在與LED連接的端口上輸出需要的高低電平信號; (3)用軟件調(diào)試和編譯原程序; (4)將編譯后的程序代碼寫入單片機; (5)在LED上觀察程序運行效果。若要修改程序,可在線修改程序,再編譯和下載,再觀察修改后的效果,直至完全準確為止。4.2 單個字符的顯示單個字符的顯示 最常見的LED點陣顯示模塊有57、79、88結構,前兩種主要用于顯示各種西文字符,后一種可多模塊組合用于漢字、圖形的顯示,并且可組建大型電子顯示屏。下面主要介紹88點陣點
4、陣的顯示原理。 圖4.2 8x8 LED點陣等效電路圖 對于單個單個88LED點陣點陣,其驅動要求十分簡單,作為實驗,完全可以使用單片機的使用單片機的I/O口口直接驅動直接驅動。具體的原理電路如圖4.3所示,P0口接LED點陣的陽級,由于P0口沒有上拉能力,所以采用排阻上接電源提供上拉電流,用P2口接LED的陰極。 也可以采用觸發(fā)器或鎖存器等器件對數(shù)據(jù)進觸發(fā)器或鎖存器等器件對數(shù)據(jù)進行隔離驅動行隔離驅動,這種方式既能增強驅動能力,也能使單片機I/O口在不驅動LED點陣時空閑出來作為它用。由于LED點陣的各行共用一個I/O口,各列也是共用一個I/O口。 圖4.3 單個字符顯示原理圖* * 軟件編制
5、軟件編制 為了分析點陣字符的顯示方法,首先看點陣字符09顯示代碼是如何形成的。由8行8列構成數(shù)字“0” 的圖形,其中要顯示的點用二進制位1表示,不顯示的位用二進制位0表示。每列構成一個字節(jié),從左到右各列的數(shù)值用十六進制表示為:00,00,3E,41,41,41,3E,00。同理,可以建立數(shù)字“1”到數(shù)字“9”的代碼,如表4.1所示。 圖4.4數(shù)字“0”的8X8點陣示意圖。圖4.4數(shù)字“0”的8X8點陣示意圖表4.1 數(shù)字09的88點陣數(shù)值 數(shù)字 88點陣數(shù)值000H,00H,3EH,41H,41H,41H,3EH,00H 100H,00H,00H,00H,21H,7FH,01H,00H200H
6、,00H,27H,45H,45H,45H,39H,00H 300H,00H,22H,49H,49H,49H,36H,00H 400H,00H,0CH,14H,24H,7FH,04H,00H 500H,00H,72H,51H,51H,51H,4EH,00H600H,00H,3EH,49H,49H,49H,26H,00H 700H,00H,40H,40H,40H,4FH,70H,00H 800H,00H,36H,49H,49H,49H,36H,00H900H,00H,32H,49H,49H,49H,3EH,00H 要顯示數(shù)字09,但一個88點陣在同一時間只能顯示其中一個數(shù)字,作為演示程序,設定每隔
7、1秒變換一個顯示數(shù)字,即每個數(shù)字將連續(xù)顯示1秒,然后再換為下一個數(shù)字顯示。 要在8行8列的LED點陣上顯示一個字符,由于點陣引線的公共端是連接在一起的,所以不能同時將這些LED都加以控制。只能按行或者按列分別控制顯示,以小于人眼視覺暫留時間重復顯示,也就是要求每秒至少顯示50次以上,要求一次顯示過程小于2ms,顯示一列(或一行)的顯示時間小于250s。 顯示過程如下: 首先在P0口送出第一個行碼00H,在P2口送出一個列控制碼01111111; 再在P0口送第二個行碼00H,在P2口送出一個列控制碼10111111; 再在P0口送第三個行碼3EH,在P2口送出一個列控制碼11011111; 再
8、在P0口送第二個行碼41H,在P2口送出一個列碼11101111; 送完8個行碼和8個列控制信號,這樣一個“0”字就顯示了一遍,接著再重復上述顯示過程。 圖4.5系統(tǒng)原理結構框圖 軟件流程參考見圖4.6。圖4.6 電子顯示屏軟件流程圖參考源程序參考源程序#include#define uchar unsigned charuchar xdata *row0=0X8100; uchar xdata *row1=0X8200; uchar xdata *col0=0X8500; uchar xdata *col1=0X8400; uchar xdata *col2=0X8300; uchar xd
9、ata *col3=0X8000; uchar dispcode232= 0 x04,0 x7C,0 x44,0 x40,0 x40,0 x44,0 x7C,0 x04,/*U*/ 0 x38,0 x6C,0 x44,0 x44,0 x44,0 x44,0 x24,0 x00,/*C*/ 0 x44,0 x7C,0 x1C,0 x70,0 x0C,0 x7C,0 x44,0 x00,/*M*/ 0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,/*-*/ , 0 x04,0 x04,0 x44,0 x7C,0 x44,0 x04,0 x04,0 x
10、00,/*T*/ 0 x00,0 x44,0 x44,0 x7C,0 x44,0 x44,0 x00,0 x00,/*I*/ 0 x00,0 x44,0 x44,0 x7C,0 x44,0 x44,0 x00,0 x00,/*I*/ 0 x44,0 x7C,0 x4C,0 x18,0 x10,0 x24,0 x7C,0 x04,/*N*/ ;uchar disloc4=0 x7F,0 xFF,0 xFF,0 xFF;void delay(uchar i)uchar j,k;for(j=i;j0;j-)for(k=50;k0;k-);void display() static uchar num
11、=0;uchar i=0;*row0=0;*row1=0;*col0=disloc0;*col1=disloc1;*col2=disloc2;*col3=disloc3; *row0=dispcode0num;*row1=dispcode1num;if(+num=32) num=0;dislocnum/8=(dislocnum/81)|(dislocnum/87);if(!(num%8)for(i=0;i4;i+)if(i=num/8)disloci=0 x7F;else disloci=0 xFF; void main()/*主函數(shù)*/ while(1)display();delay(2);
12、 4.3 典型案例典型案例 任務描述:用16x16LED點陣顯示字符“2009”,LED圖案顯示的仿真效果如圖4.7所示。 圖4.7 LED電子顯示屏原理圖 用LED點陣顯示多個字符,用一片74LS138譯碼器輸出端Y0,Y1,Y2,Y3分別負責控制4片74LS373的片選信號,分別作為LED點陣顯示的行列驅動器。設計方案如圖4.8所示,其程序流程圖如圖4.9所示。 單片機行驅動器列驅動器LED顯示點陣圖4.8 多字符顯示方案圖圖4.9 多字符顯示流程圖參考源程序:參考源程序:#include #include#include#define LEDL2 XBYTE0X0000/控行373地址1
13、#define LEDL1 XBYTE0X0100/控行373地址2#define LEDC1 XBYTE0X0200/控列373地址1#define LEDC2 XBYTE0X0300/控列373地址2 unsigned char code DB1216= 0 x7e,0 x20,0 x10,0 x08,0 x04,0 x22,0 x22,0 x1c, /*2*/ 0 x1c,0 x22,0 x22,0 x22,0 x22,0 x22,0 x22,0 x1c, /*0*/ , 0 x1c,0 x22,0 x22,0 x22,0 x22,0 x22,0 x22,0 x1c, /*0*/ 0 x1c,0 x22,0 x02,0 x1e,0 x22,0 x22,0 x22,0 x1c, /*9*/ ;void delay() /延時約40us unsigned int t; for(t=0;t20;t+); void main() /主函數(shù) unsigned char i; while(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年外研版三年級起點九年級歷史上冊階段測試試卷含答案
- 2025年粵教版九年級地理上冊月考試卷含答案
- 2025年華東師大版高三歷史下冊月考試卷含答案
- 2025年度木門產(chǎn)品售后服務與客戶滿意度調(diào)查合同3篇
- 二零二五版綠色生態(tài)泥水工程分包合同(含雨水收集利用)4篇
- 二零二五版智能安防設備安裝與安全評估合同3篇
- 護士勞動合同(2篇)
- 拆房簡單合同(2篇)
- 二零二五年度廚師職業(yè)培訓合作合同3篇
- 2025年度土地整治與生態(tài)修復項目承包合同3篇
- 道路瀝青工程施工方案
- 《田口方法的導入》課件
- 內(nèi)陸?zhàn)B殖與水產(chǎn)品市場營銷策略考核試卷
- 醫(yī)生給病人免責協(xié)議書(2篇)
- 公司沒繳社保勞動仲裁申請書
- 損傷力學與斷裂分析
- 2024年縣鄉(xiāng)教師選調(diào)進城考試《教育學》題庫及完整答案(考點梳理)
- 車借給別人免責協(xié)議書
- 應急預案評分標準表
- “網(wǎng)絡安全課件:高校教師網(wǎng)絡安全與信息化素養(yǎng)培訓”
- 鋰離子電池健康評估及剩余使用壽命預測方法研究
評論
0/150
提交評論