標題: 單片機控制8×8LED點陣屏顯示數字的設計報告+代碼+Proteus [打印本頁]
作者: 賊騷的何某 時間: 2018-12-17 20:33
標題: 單片機控制8×8LED點陣屏顯示數字的設計報告+代碼+Proteus
《單片機原理及應用》期中考核
大作業報告
單片機控制8×8 LED點陣屏顯示數字的設計
大作業設計要求:
用單片機的P0口外接74LS245作為控制8×8 LED點陣屏的行驅動,列選通由P1端口控制,程序運行時,8×8 LED點陣屏依次循環顯示數字0~9。刷新時間由定時器T1的定時中斷來完成。
方案論證:
方案一:最小系統加74LS245驅動芯片和成品8*8點陣進行設計。
優點:外圍電路簡單易焊,耗時少!
缺點:成本較高。
方案二:最少系統和8*8點陣進行設計。
優點:連線少,簡單易行,方便快捷,程序簡單。
缺點:沒有方案一穩定。
本次課設采用方案二。
理論設計:
仿真原理圖:
1.電源及復位電路

2.顯示電路

3.完整電路

主函數:
void main(void)
{
TMOD=0x10; //設置定時器1為工作方式1
TH1=(65536-3000)/256; //定時3ms
TL1=(65536-3000)%256;
TR1=1; //定時器1啟動
ET1=1; //定時器1的中斷允許開關
EA=1; //開總中斷
while(1)
{;
}
}
void t1(void) interrupt 1 using 0
{
TH1=(65536-3000)/256; //定時器T1的高8位重新賦初值
TL1=(65536-3000)%256; //定時器T1的低8位重新賦初值
P3=tab[cnta];
P1=digittab[cntb][cnta];
cnta++;
if(cnta==8)
{
cnta=0;
}
timecount++;
if(timecount==333)
{
timecount=0;
cntb++;
if(cntb==10)
{
cntb=0;
}
}
}



如圖所示電路仿真結果正確,達到預期設計要求,能循環顯示0-9,刷新時間由定時器1設定。
將寫好程序的最小單片機系統與各模塊連好后,8×8點陣LED顯示屏顯示初始值。經軟件調試和硬件調試,所設計系統完美實現所需的控制要求和創新要求。
此次系統設計結果較好,LED顯示屏能很好的顯示信息。LED顯示屏由4塊8×8的LED小模塊組成。這個方案設計的8x8的點陣LED圖文顯示屏,電路簡單,成本較低,且較易擴展;顯示屏各點亮度均勻、充足;顯示圖形或文字穩定、清晰無串擾。
本文設計一個8×8點陣LED圖文顯示屏。經過測試,LED各點亮度均勻,可顯示圖形和文字,且穩定清晰無串擾。本系統具有硬件少、結構簡單、容易實現,性能穩定可靠等特點。通過查閱資料,了解了LED發光原理和LED顯示技術的原理和現狀。在LED點陣顯示屏的設計過程中,學到了很多東西,復習了Protel、Proteus、Keil等軟件的基礎應用。基本了解了整個嵌入式開發的流程。通過這次設計考核,本人受益非淺,在以后的開發過程中一定總結經驗,吸取教訓,為以后的工作打好基礎。
徐愛鈞.《單片機原理及應用》——基于C51及proteus仿真
諸昌鈐.《LED顯示屏系統原理及工程技術》
張凱.《LED介紹完全手冊》
張友德等.《單片微型機原理應用與實驗》
0.png (33.31 KB, 下載次數: 93)
下載附件
2018-12-18 01:54 上傳
全部資料51hei下載地址:
作者: 章魚的小猴子 時間: 2019-6-11 22:36
請問一下可以發下全部程序嗎?
作者: wqwqw111 時間: 2019-6-12 20:16
實際電路板是用什么驅動點陣的呢
作者: ZHIO 時間: 2019-6-18 11:51
真的很不錯,很實用
作者: qq892697678 時間: 2019-6-18 15:13
好東西啊
作者: canyua 時間: 2019-6-30 18:39
程序不全,有點坑
作者: 17660448216 時間: 2019-7-1 11:37
感覺不錯的
作者: yjglwyyjg 時間: 2020-1-10 14:25
不錯的資料
作者: sam54 時間: 2020-6-25 15:51
好東西很實用
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |