在8X8点阵显示图形Word格式文档下载.docx
- 文档编号:21934915
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:13
- 大小:542.52KB
在8X8点阵显示图形Word格式文档下载.docx
《在8X8点阵显示图形Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《在8X8点阵显示图形Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
这里使显示缓冲区的移位处理在多次定时中断程序执行之间的时间间隔内完成二者的处理时间不冲突:
移位处理时间=移位间隔时间-移位间隔时间内执行定时中断程序累计所需时间。
在此设计中,当按键一下,当即从P1口扫描行并送图形控制码,最后使得LED点阵显示屏显示我们想要的图形。
一个LED点阵显示屏相当于一个简单的单片机系统,该系统有单片机芯片、显示电路等构成。
单片机是集成的IC芯片,只需根据实际设计要求选型。
其他部分都需要根据应用要求和性能指标自行设计。
本系统采用AT89C52单片机为中心器件,利用由7407构成的驱动电路,显示电路等来设计LED点阵显示屏的显示,将软、硬件有机地结合起来。
其中软件系统采用C语言编写程序,包括显示程序,延时程序等,并在KeilC51中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。
3硬件设计
3.1硬件分析
(1)单片机型号的选择
通过对多种单片机性能的分析最终认为AT89C52是最理想的芯片。
89C52是一种有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,:
与MCS-51产品指令和引脚完全兼容,8Kbyte字节可重复擦写flash存储器,1000次擦写周期,全静态操作:
0-24MHz时钟频率,三级加密程序存储器,256x8字节内部RAM,32个可编程I/O口,3个16们定时器/计数器,8个中断源,可编程串行UART通道,支持低功耗空闲及掉电模式。
图3-1AT89C52引脚图
(2)数码管显示工作原理
LED点阵数码显示屏是一种痛过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示频幕。
LED显示屏按照显示器件可分为:
LED数码显示屏和LED点阵图文显示屏。
LED数码显示屏的显示器件为七段数码管;
LED点阵图文显示屏的显示器件是由许多均匀排列的发光二极管组成的点阵显示模块。
点阵LED显示屏有单色大屏幕,单色条幅屏、彩色大屏幕、彩色条幅屏等。
常见的是8X8点阵LED,其中实物外观和引脚图以及等效电路图3-2分别如图3-3。
图3-28x8LED点阵的外观及引脚图
8X8点阵由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。
当点阵中的某一行置高电平,某一列置低电平,则该行列线交叉点的二极管就点亮。
因此要实现某一列的发光二极管都点亮,则该列的列线上应送低电平,所有行线送高电平;
若实现某一行的发光二极管都点亮,则该行的行线上送高电平,所有列线送低电平,这一操作可以利用软件扫描的方法实现。
图3-3共阳极LED点阵的结构图
3.2电路原理图
图3-4原理图
4软件设计
4.1图形码的设计
(1).“★”在8X8LED点阵上显示图如下图所示
●
1
2
3
4
5
6
7
8
12H,14H,3CH,48H,3CH,14H,12H,00H
(2).
“●”在8X8LED点阵上显示图如下图所示
00H,00H,38H,44H,44H,44H,38H,00H
(3).心形图在8X8LED点阵上显示图如下图所示
30H,48H,44H,22H,44H,48H,30H,00H
4.2主要模块实现
图4-18X8点阵式LED显示图形流程图
5仿真分析
程序采用C语言编写,并用KeilC51软件编译。
用学校的Proteus软件画电路图和进行仿真。
先用KeilC51软件单独调试,调试通过以后用Proteus软件和KeilC51软件联合仿真和调试,把KeilC51软件调试过后的程序加载到单片机中运行后就可以看到仿真的结果了。
测试数据及结果如下:
图5-1第3N次按键的结果
注:
通过按键选择要显示的图形;
N代表非负整数。
图5-2第3N+1次按键的结果
图5-3第3N+2次按键的结果
6课程设计总结
这次课程设计我们小组三人分工合作,拿到课题后我们三个一起分析整个设计的设计思路,一起查找资料。
在后面的分工中,我主要负责C语言程序设计和总个课程设计的编辑。
刘艳主要负责课程设计流程图,仿真原理图的设计和连接。
同组成员罗鹏同学主要负责仿真调试以及整个系统的排版。
通过大家的分工合作最终顺利的完成了这次课程设计。
本系统是以单片机AT89C52芯片为核心部件,实现了能通过AT89C52芯片控制8X8点阵式LED实现一些基本的功能。
刚开始时,自己通过各种途径,尽可能多的了解有关于8X8点阵式LED这方面的知识,为后面的设计打下基础,后面的进展也很顺利,不过在仿真阶段,由于硬件电路设计的粗心,给自己带来了不小的麻烦,不过问题最终还是在老师和同学的帮助下得到了解决。
通过这次课程设计,使我得到了一次用所学知识来实际解决问题的锻炼,也让自己感觉到大学所学的知识有一部分是很有实用价值的,同时我对单片机的基本知识以及常用的keilC语言设计程序得到了进一步的巩固。
在此,我非常老师和同学的真切帮助,尤其是组员间的互相学习和合作让我感到无比的欣慰和愉快。
参考文献
[1]李泉溪.单片机原理与实例仿真[M].北京:
北京航空航天大学出版社,2009
[2]江世明.基于Protues的单片机应用技术[M].北京:
电子工业出版社,2009
[3]沈永林.嵌入式单片机技术[M].北京:
清华大学出版社,2007
[4]常东超.C程序设计教程[M].北京:
:
清华大学出版社,2009
附录(源程序清单)
C程序:
#include<
reg52.h>
unsignedcharcodetab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsignedcharcodegraph[3][8]=
{
{0x12,0x14,0x3c,0x48,0x3c,0x14,0x12,0x00},//五角星
{0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00},//圆形
{0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00}//心形
};
//图形码
unsignedcharcount;
//定义变量
unsignedcharcnta;
sbitbutton=P2^0;
voidmain(void)
{unsignedchari,j;
TMOD=0x01;
//定时器设置
TH0=(65536-1000)/256;
//设置定时计数初值
TL0=(65536-1000)%256;
TR0=1;
//打开定时器0中断
ET0=1;
EA=1;
while
(1)
{
if(button==0)//按键处理:
判断是否有键按下
{
for(i=5;
i>
0;
i--)
for(j=248;
j>
j--);
if(button==0)
{
count++;
if(count==3)
{count=0;
}
while(button==0);
}
}
voidt0(void)interrupt1using0//定时器中断设置
{TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
P3=tab[cnta];
//扫描列
P1=graph[count][cnta];
//扫描行,送图形控制码
cnta++;
if(cnta==8)
{cnta=0;
}
汇编程序:
CNTA
EQU30H
COUNT
EQU31H
ORG00H
LJMPSTART
ORG0BH
LJMPT0X
ORG30H
START:
MOVCNTA,#00H
MOVCOUNT,#00H
MOVTMOD,#01H
MOVTH0,#(65536-4000)/256
MOVTL0,#(65536-4000)MOD256
SETBTR0
SETBET0
SETBEA
WT:
JBP2.0,WT
MOVR6,#5
MOVR7,#248
D1:
DJNZR7,$
DJNZR6,D1
INCCOUNT
MOVA,COUNT
CJNEA,#03H,NEXT
NEXT:
JNBP2.0,$
SJMPWT
T0X:
NOP
MOVDPTR,#TAB
MOVA,CNTA
MOVCA,@A+DPTR
MOVP3,A
MOVDPTR,#GRAPH
MOVB,#8
MULAB
ADDA,CNTA
MOVP1,A
INCCNTA
CJNEA,#8,NEX
NEX:
RETI
TAB:
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
GRAPH:
DB12H,14H,3CH,48H,3CH,14H,12H,00H
DB00H,00H,38H,44H,44H,44H,38H,00H
DB30H,48H,44H,22H,44H,48H,30H,00H
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- X8 点阵 显示 图形