單片機(jī)課程設(shè)計(jì)---LED點(diǎn)陣電子顯示屏的設(shè)計(jì)_第1頁
單片機(jī)課程設(shè)計(jì)---LED點(diǎn)陣電子顯示屏的設(shè)計(jì)_第2頁
單片機(jī)課程設(shè)計(jì)---LED點(diǎn)陣電子顯示屏的設(shè)計(jì)_第3頁
單片機(jī)課程設(shè)計(jì)---LED點(diǎn)陣電子顯示屏的設(shè)計(jì)_第4頁
單片機(jī)課程設(shè)計(jì)---LED點(diǎn)陣電子顯示屏的設(shè)計(jì)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、LED點(diǎn)陣電子顯示屏的設(shè)計(jì)簡述:LED點(diǎn)陣顯示系統(tǒng),由AT89S52單片機(jī)、串口通信模塊、LED屏幕顯示模塊等組成,實(shí)現(xiàn)了對星期、年月日、時(shí)分秒的顯示。關(guān)鍵詞:LED點(diǎn)陣電子顯示屏單片機(jī)鍵盤控制一、選用器材AT89C52單片機(jī)1個(gè),74LS138型號3線8線譯碼器1個(gè),74LS373三態(tài)輸出的八D 透明鎖存器型號,+5V電源1個(gè),Led8*8點(diǎn)陣屏綠色5個(gè), tPd PD5個(gè),帶公共端的8電阻排(排阻)1個(gè),電容30pF3個(gè),電阻10K歐1個(gè),按鈕6個(gè) ,石英晶振1MHz1個(gè)二、設(shè)計(jì)方案1、實(shí)驗(yàn)功能本實(shí)驗(yàn)要實(shí)現(xiàn)的功能就是,顯示時(shí)分秒,年月日,且可修改。實(shí)現(xiàn)實(shí)時(shí)時(shí)間的顯示,顯示屏數(shù)字顯示,時(shí):分

2、:秒;星期的顯示;年月日的顯示。顯示屏通過按鍵切換顯示星期,年月日,時(shí)間。2、總體方案1工作原理用單片機(jī)AT89S52控制,寫入程序,將數(shù)據(jù)傳輸?shù)斤@示模塊,即點(diǎn)陣LED電子顯示屏顯示器,實(shí)現(xiàn)日歷的顯示。2總體設(shè)計(jì)電路圖LED和52單片機(jī)配合實(shí)現(xiàn)時(shí)間顯示功能。顯示模塊為點(diǎn)陣LED電子顯示屏顯示器,把單片機(jī)中的數(shù)據(jù)顯示出來。該電路是通過按鍵來切換各種顯示要求。3、方案論證1顯示局部:顯示局部是本次設(shè)計(jì)最核心的局部,對于LED8*8點(diǎn)陣顯示有以下兩種方案:靜態(tài)顯示,即將每個(gè)二極管的狀態(tài)分別用1和0表示,0那么無電流,為暗,1那么有電流,為亮。假設(shè)給每個(gè)二極管一個(gè)驅(qū)動(dòng)電路,一個(gè)圖像輸入后,所有LED的

3、狀態(tài)保持到下一個(gè)圖像。對于靜態(tài)顯示方式,所需的譯碼驅(qū)動(dòng)裝置很多,引線多而負(fù)責(zé),本錢高,可靠性也低。動(dòng)態(tài)顯示,即對每一個(gè)LED屏進(jìn)行分割,對組成圖像的各個(gè)局部分別顯示,這樣利用人眼的暫留效應(yīng)和發(fā)光二極管發(fā)光時(shí)間的長短,也同樣可以實(shí)現(xiàn)顯示功能,這樣就可以防止靜態(tài)顯示出現(xiàn)的問題。但是,設(shè)計(jì)上如果處理不當(dāng),容易造成圖像閃爍的問題,因此合理的涉及要保證驅(qū)動(dòng)電路容易實(shí)現(xiàn)而且保證圖像穩(wěn)定補(bǔ)閃爍。2數(shù)字時(shí)鐘本實(shí)驗(yàn)采用軟件實(shí)現(xiàn)數(shù)字時(shí)鐘。原理為:在單片機(jī)內(nèi)部存儲器分別存放時(shí)鐘的年、月、日、時(shí)、分、秒、星期的信息。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn)1秒定時(shí)中斷,每產(chǎn)生一次中斷,存儲器內(nèi)相應(yīng)的秒值加1;假設(shè)秒值到達(dá)60,那么清

4、零且相應(yīng)的分值加1;假設(shè)分值到達(dá)60,那么清零且相應(yīng)的時(shí)值加1;假設(shè)相應(yīng)的時(shí)值到達(dá)24,那么清零且相應(yīng)的日值加1;假設(shè)相應(yīng)的日值分別到達(dá)29,30,31時(shí),根據(jù)判斷來增加月值;假設(shè)相應(yīng)的月值到達(dá)12時(shí),清零且年值加1。3顯示接口芯片的選擇采用串口輸入,使用少量I/O口,但傳輸速度稍微慢了一些,但是不影響顯示質(zhì)量。于是我們采用TI公司的DMOS器件TPIC6B595,其最大特點(diǎn)是驅(qū)動(dòng)功率大,可直接做LED的驅(qū)動(dòng)。4、元件介紹1 AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51

5、 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工

6、 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。AT89S52單片機(jī)引腳圖274LS37374LS373為三態(tài)輸出的八D透明鎖存器。它的輸出端O0O7可直接與總線相連。當(dāng)三態(tài)允許控制端OE為低電平時(shí),O0O7為正常邏輯狀態(tài),可用來驅(qū)動(dòng)負(fù)載或總線。當(dāng)OE為高電平時(shí),O0O7呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)鎖存允許端LE為高電平時(shí),O隨數(shù)據(jù)D而變。當(dāng)LE為低電平時(shí),O 被鎖存在已建立的數(shù)據(jù)電平。74LS373引腳圖374LS13871LS138有三個(gè)附加的控制端、和。當(dāng)、時(shí),輸出為高電平S1,譯碼

7、器處于工作狀態(tài)。否那么,譯碼器被禁止,所有的輸出端被封鎖在高電平,如表3.3.5所示。這三個(gè)控制端也叫做“片選輸入端,利用片選的作用可以將多篇連接起來以擴(kuò)展譯碼器的功能。帶控制輸入端的譯碼器又是一個(gè)完整的數(shù)據(jù)分配器。在圖3.3.8電路中如果把作為“數(shù)據(jù)輸入端在同一個(gè)時(shí)間,而將作為“地址輸入端,那么從送來的數(shù)據(jù)只能通過所指定的一根輸出線送出去。這就不難理解為什么把叫做地址輸入了。例如當(dāng)101時(shí),門的輸入端除了接至輸出端的一個(gè)以外全是高電平,因此的數(shù)據(jù)以反碼的形式從輸出,而不會被送到其他任何一個(gè)輸出端上。74LS138引腳圖 4LED8*8點(diǎn)陣屏雙基色8*8 點(diǎn)陣嚴(yán)格有共陰型和共陽型之分的,一個(gè)雙

8、基色LED(一個(gè)發(fā)亮點(diǎn))陰極接在一起就是共陰、否那么反之為共陽。我們使用的就是共陽型的LED雙基色8*8點(diǎn)陣屏。三、結(jié)論與總結(jié)本電路的設(shè)計(jì)原理比擬復(fù)雜,而焊接電路的難度更加之高,由于線路的復(fù)雜性,使得焊接時(shí)很容易出現(xiàn)錯(cuò)誤,以致于一步失誤全盤皆輸。通過實(shí)驗(yàn)對單片機(jī)有了進(jìn)一步的了解,也加強(qiáng)了動(dòng)手焊接的能力。所以,通過此實(shí)驗(yàn)認(rèn)識了很多新問題,以及培養(yǎng)了解決問題的能力。四、參考文獻(xiàn)1 李朝青. 單片機(jī)原理及接口技術(shù) M. 北京航空航天大學(xué)出版社,2005.附:a電路設(shè)計(jì)實(shí)物圖 正面 反面b 實(shí)驗(yàn)程序#include "reg51.h"#define uchar unsigned c

9、har#define uint unsigned int#define true 1#define faluse 1sbit set_key = P30;sbit up_key = P31;sbit down_key = P32;sbit sign = P33;sbit select_key= P34;sbit set_ring_key = P35;uint sec;uint min=23;uint hour=12;uint day=10;uint month=10;uint yearl=7;uint yearh=20;uint tcnt;uint cnt=0;uint cursor=0;ui

10、nt sjsz=0;uchar a=0xff;uchar code Seg=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void delay(uint t) uint i; while(t-) for (i=0;i<125;i+);void Kdelay() uchar i,j; for(i=100;i>0;i-) for(j=248;j>0;j-);void display(uchar L1,uchar L2,uchar L3,uchar L4,uchar L5,uchar L6,uchar L7,uchar L8,u

11、char L9,uchar L10,uchar L11,uchar L12,uchar L13,uchar L14)if(cnt=1) if(cursor=6)P2=0x7F|a;P0=L1;delay(1);elseP2=0x7F;P0=L1;delay(1); /yearh if(cursor=6)P2=0xBF|a;P0=L2;delay(1);elseP2=0xBF;P0=L2;delay(1); /yearh if(cursor=6)P2=0xDF|a;P0=L3;delay(1);elseP2=0xDF;P0=L3;delay(1); /yearl if(cursor=6)P2=0

12、xEF|a;P0=L4;delay(1);elseP2=0xEF;P0=L4;delay(1); /yearl if(cursor=5)P2=0xF7|a;P0=L5;delay(1);elseP2=0xF7;P0=L5;delay(1); /month if(cursor=5)P2=0xFB|a;P0=L6;delay(1);elseP2=0xFB;P0=L6;delay(1); /month if(cursor=4)P2=0xFD|a;P0=L7;delay(1);elseP2=0xFD;P0=L7;delay(1); /day if(cursor=4)P2=0xFE|a;P0=L8;de

13、lay(1);elseP2=0xFE;P0=L8;delay(1); /day P2=0xFF;else if(cursor=3)P2=0x7F|a;P0=L9;delay(1);elseP2=0x7F;P0=L9;delay(1); /hour if(cursor=3)P2=0xBF|a;P0=L10;delay(1);elseP2=0xBF;P0=L10;delay(1); /hour if(cnt!=1)P2=0xDF;P0=0X40;delay(1); if(cursor=2)P2=0xEF|a;P0=L11;delay(1);elseP2=0xEF;P0=L11;delay(1);

14、/min if(cursor=2)P2=0xF7|a;P0=L12;delay(1);elseP2=0xF7;P0=L12;delay(1); /min if(cnt!=1)P2=0xFB;P0=0X40;delay(1); if(cursor=1)P2=0xFD|a;P0=L13;delay(1);elseP2=0xFD;P0=L13;delay(1); /sec if(cursor=1)P2=0xFE|a;P0=L14;delay(1);elseP2=0xFE;P0=L14;delay(1); /sec P1=0xFF;main() TMOD=0x02; /設(shè)置模式為定時(shí)器T0的模式2 斷

15、的產(chǎn)生中斷去執(zhí)行中斷函數(shù)本次定時(shí)時(shí)間為64ms TH0=0x06; /設(shè)置計(jì)數(shù)器初值,靠TH0存儲重裝的計(jì)數(shù)值X0=256-250=6 TL0=0x06; TR0=1; /啟動(dòng)T0 ET0=1; /開啟定時(shí)器T0中斷允許 EA=1; /開啟中斷總控制 while(1) if(set_key=0) Kdelay(); if(set_key=0) cursor+; if(cursor>=7)cursor=0; /在選擇到調(diào)整年時(shí)又返回秒設(shè)置,當(dāng)CURSOR=7時(shí)不選中 if(up_key=0) Kdelay(); if(up_key=0) /加局部 if(cursor=1)sec+;if(s

16、ec=60)sec=0; if(cursor=2)min+;if(min=60)min=0; if(cursor=3)hour+;if(hour=24)hour=0; if(cursor=4)day+;if(day=31)day=1; if(cursor=5)month+;if(month=13)month=1; if(cursor=6)yearl+;if(yearl=100)yearl=0; if(cursor=7)yearh+;if(yearh=30)yearh=20; if(down_key=0) Kdelay(); if(down_key=0) /減局部 if(cursor=1)sec

17、-;if(sec=00)sec=59; if(cursor=2)min-;if(min=0)min=59; if(cursor=3)hour-;if(hour=0)hour=23; if(cursor=4)day-;if(day=0)day=31; if(cursor=5)month-;if(month=0)month=12; if(cursor=6)yearl-;if(yearl=0)yearl=99; if(cursor=7)yearh-;if(yearh=20)yearh=30; if(select_key=0) Kdelay();if(select_key=0)cnt+;if(cnt&

18、gt;=2)cnt=0; display(Segyearh/10,Segyearh%10,Segyearl/10,Segyearl%10,Segmonth/10,Segmonth%10,Segday/10,Segday%10,Seghour/10,Seghour%10,Segmin/10,Segmin%10,Segsec/10,Segsec%10); void t0(void)interrupt 1 using 0 /t0的中斷程序 tcnt+; if(tcnt=4000)/定時(shí)器的定時(shí)計(jì)數(shù),4000次250us為1秒,中斷4000次后才執(zhí)行刷新,期間照上面的語句顯示 tcnt=0; sign=sign; a=a; sec+; if(sec=60) sec=0; min+; if(min=60) min=0; hour+; if(hour=24) hour=0; day+; if(month=2&&(yearl=0&&ye

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論