标题: 单片机控制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介绍完全手册》
张友德等.《单片微型机原理应用与实验》
全部资料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://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |