8X8点阵动态广告牌课程设计报告.docx
《8X8点阵动态广告牌课程设计报告.docx》由会员分享,可在线阅读,更多相关《8X8点阵动态广告牌课程设计报告.docx(22页珍藏版)》请在冰点文库上搜索。
![8X8点阵动态广告牌课程设计报告.docx](https://file1.bingdoc.com/fileroot1/2023-6/9/2794ff39-8405-4046-9645-2c2f4ed23d5d/2794ff39-8405-4046-9645-2c2f4ed23d5d1.gif)
8X8点阵动态广告牌课程设计报告
大学课程设计任务书
题目名称
8X8点阵广告牌设计
学生学院
材料与能源学院
专业班级
电子信息材料及元器件08
(2)班
姓名
张嘉南、张智、周锦源
学号
3108007499、3108007500、3108007501
一、课程设计的内容
该电路系统是采用STC89C52单片机为控制器,控制8X8点阵LED显示器进行动态循环显示,显示的内容有:
“广工大电材
(2)DCE-ZZZ”,此外,利用单片机为核心,再加上一些外围电路,来实现音乐的播放。
播放音乐时,点阵不显示,当音乐播放完毕后,又继续进行有关内容的循环显示,所以就要编写相关程序,来实现所有功能。
二、课程设计的要求与数据
(1)8X8点阵LED显示器动态循环显示有关内容;
(2)音乐模块在外围电路和有关程序的控制下进行演奏;
(3)外围电路设有音乐播放控制按键和显示屏幕停止显示的按键。
三、课程设计应完成的工作
(1)设计实现功能要求的电路原理图;
(2)用仿真软件绘制电路原理图,并对其进行仿真,检测是否符合要求;
(3)在仿真软件上对源程序进行调试,最终得到一个最精确的程序;
(4)购买设计中用到的STC89C51单片机,将所编写的程序下载进去;
(5)购买外围电路的其他元器件和电路板;
(6)按照电路原理图焊接元器件,制成一块8X8点阵广告牌的模型电路板。
四、课程设计进程安排
序号
设计各阶段内容
地点
起止日期
1
小组讨论选题
宿舍
12月27日
2
设计实现功能要求的电路原理图
宿舍
12月28日
3
用仿真软件绘制电路原理图,并对其进行仿真
宿舍
12月29日
4
搜索资料,编写实现设定功能的源程序
宿舍
12月30日—1月1日
5
购买外围电路的其他元器件和电路板等材料
南亭小赛格
1月2日
6
按照电路原理图焊接元器件
宿舍
1月3日—1月5日
7
检查电路板出现的错误并改正
宿舍
1月6日
8
验收并答辩
工学三号馆
1月7日
9
10
五、应收集的资料及主要参考文献
1、李朝青编著.《单片机原理及接口技术》(第3版).北京航天航空大学出版社2005年
2、蔡明文、冯先成编著.《单片机课程设计》.华中科技大学出版社.2007年
3、孙惠芹编著.《单片机项目设计教程》.电子工业出版社.2009年
4、陈晓梅、陈育斌编著.《单片机原理综合实验教程》.大连理工大学出版社.2004年
5、蔡明文,冯先成主编.《单片机课程设计》华中科技大学出版社,2007
发出任务书日期:
年月日指导教师签名:
计划完成日期:
年月日基层教学单位责任人签章:
主管院长签章:
【目录】
摘要………………………………………………………………………4
关键词……………………………………………………………………4
1、系统硬件设计…………………………………………………………4
1.1STC89C52单片机的结构……………………………………4
1.1.152系列单片机的概述………………………………4
1.1.2单片机的组成…………………………………………4
1.28×8LED点阵显示模块的硬件设计及工作原理……………6
1.2.1LED点阵………………………………………………6
1.2.2显示原理………………………………………………8
2、系统的软件设计………………………………………………………8
2.1软件流程………………………………………………………8
2.2数字字库的提取………………………………………………9
2.2.1数字的表示及编码原理………………………………9
2.2.2提取数字的数字库……………………………………9
2.3程序代码的设计…………………………………………10
3、元器件清单及所用工具和软件………………………………………14
4、电路设计(仿真图及实物图)………………………………………15
5、心得体会………………………………………………………………17
6、参考文献………………………………………………………………18
单片机课程设计
--基于STC89C52的8X8点阵广告牌
【摘要】本设计使用STC89C52系列高速单片机作为主控制模块,利用简单的外围电路来驱动8*8的点阵LED显示屏,利用STC89C52系列高速单片机本身强大的功能,可以很方便的实现单片机与PC机间数据传输及存储,并利用软件方便的进行显示内容的多样变化;另一方面店镇显示屏广泛的应用于医院、机场、银行等公共场所,所以本设计具有很强的现实应用性。
本LED显示屏能够以动态扫描的方式显示8*8点阵汉字,并能通过上位机软件修改显示内容和显示效果等等。
把字符内码存储在空闲的单片机程序存储器空间,使本LED显示系统能够掉电存储1024个字符。
本文从LED的显示原理入手,详细阐述了LED动态显示的过程,以及硬件电路的设计、计算和软件的算法。
【关键词】单片机、8*8点阵、动态显示、LED显示
1、系统硬件设计
1.1STC89C52单片机的结构
1.1.152系列单片机的概述
单片机也被称作“单片机微型计算机”、“微控制器”、“嵌入式微控制器”,国际上采用“MCU”(MicroControllerUnit)称呼单片机。
随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位、16位、32位通用型单片机,以及小型谦价的专用型单片机。
目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装等方面发展。
1.1.2单片机的组成
【图1】是单片机典型组成框图,由图可见它通过内部总线把计算机的各主要部件连为一体,其内部总线包括地址总线、数据总线和控制总线。
其中,地址总线的作用是为进行数据交换时提供地址,CPU通过将地址输出到存储器或I/O接口;数据总线用于在CPU与存储器或I/O接口之间或存储器与外设之间交换数据;控制总路线包括CPU发出的控制信号线和外部送入CPU的应答线等。
【图1】单片机典型组成框图
52系列有3种封装形式,一种是DIP(DualInlinePackage)封装形式,一种是LCC(QuadFlatPackage)封装形式。
这种形式是具有44个“J”形脚的方型芯片。
另一种是QFP(QuadFlatPackage)封装形式,这种形式是具有44个“J”形脚的方型芯片,但它的体积更小、更薄,是一种表面贴焊的封装形式。
下面介绍下89S52单片机的引脚的功能和其内部结构图。
AT89S52单片机实际有郊的引脚为40个,以下是89S52单片机的DIP封装形式的引脚的名称,如【图2】。
【图2】AT89S52单片机DIP封装
【图3】是89C52的内部结构图,由图可以看到在单片机内部除了有CPU、RAM、ROM和定时器、串行口等主要功能部件之外,还有驱动器、锁存器、指令寄存器、地址寄存器等辅助电路部分,以及各功能模块在单片机中的位置和相互关系。
【图3】89C52的内部结构
1.28×8LED点阵显示模块的硬件设计及工作原理
1.2.1LED点阵
随着LED应用领域的扩大,要求生产更为直接和方便的LED显示器件。
因而出现了数码管、字符管、电平管、LED点阵等多种LED显示器。
不管显示器的结构怎么变,它的核心部件仍然是发光半导体芯片。
●
一个8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列(Y)置1电平,某一行(X)置0电平,则相应的二极管就亮,如【图4】:
【图5】是8*8点阵的外观及各引脚对应功能图:
【图5】8*8点阵的外观及各引脚对应功能
1.2.2显示原理
人眼的亮度感觉不会因光源的消失而立即消失,要有一个延迟时间,这就是视觉的惰性。
视觉惰性可以理解为光线对人眼视觉的作用、传输、处理等过程都需要时间,因而使视觉具有一定的低通性。
实验表明,当外界光源突然消失时,人眼的亮度感觉是按指数规律逐渐减小的。
这样当一个光源反复通断,在通断频率较低时,人眼可以发现亮度的变化;而通断频率增高时,视觉就逐渐不能发现相应的亮度变化了。
不致于引起闪烁感觉的最低反复通断频率称为临界闪烁频率。
通过实验证明临界闪烁频率大约为24Hz。
因此采用每秒24幅画面的电影,在人看起来就是连续活动的图象了。
同样的原理,日光灯每秒通断50次,而人看起来却是一直亮的。
由于视觉具有惰性,人们在观察高于临界闪烁频率的反复通断的光线时,所得到的主观亮度感受实际上是客观亮度的平均值。
视觉惰性可以说是LED显示屏得以广泛应用的生理基础。
首先,在LED显示屏中可以利用视觉惰性,改善驱动电路的设计,形成了目前广为采用的扫描驱动方式。
扫描驱动方式的优点在于LED显示屏不必对每个发光灯提供单独的驱动电路,而是若干个发光灯为一组共用一个驱动电路,通过扫描的方法,使各组发光灯依次点燃,只要扫描频率高于临界闪烁频率,人眼看起来各组灯都在发光。
由于LED显示屏所使用的发光灯数量很大,一般在几千只到几十万只的范围,所以节约驱动电路的效益是十分可观的。
2、系统的软件设计
2.1软件流程方框图
【图5】软件流程方框图
2.2数字字库的提取
2.2.1汉字、字母的表示及编码原理
如显示13个汉字、字母,先将13个这汉字、字母的点阵从字库中读出,放到显示缓存,如果要实现左移或者其它的显示效果则将显示缓存中的每个位进行移位或者其它处理,然后再调用扫描显示函数就可以实现所规定的效果。
扫描显示函数是显示缓存的内容,如果要实现不同的内容,比如说图片、汉字、英文等内容,只需要将这些内容按扫描显示函数对显示缓存的协议要求就可以显示出来。
数字由8*8个发光二极管的亮管组成。
如【图6】所示‘电’
【图6】
DB03H,7DH,55H,0FFH,54H,7CH,00H,20H;"电",3
第二,三.四,五,六,七,八,一列
其中,0为暗,1为亮。
从右到左,第一列为(00000011)B,所以7、8行为亮;第二、六列为(01111101)B,所以2、3、4、5、6、8行为亮;第三、五列为(01010101)B,所以2、4、6、8行为亮;第四列为(11111111)B,所以均亮;第七列为(00000000)B,所以均暗;同理可知其它列的亮暗情况。
所有列的亮二极管组成数字‘电’。
同理可得“广工大电材2DCE—ZZZ”的数字显示情况。
2.2.2提取汉字、字母的数字库
DB00H,20H,20H,60H,20H,20H,3EH,01H;"广",0
DB00H,02H,22H,22H,3EH,22H,22H,02H;"工",1
DB00H,11H,12H,1CH,78H,16H,11H,01H;"大",2
DB00H,03H,7DH,55H,0FFH,54H,7CH,00H;"电",3
DB20H,0FFH,32H,28H,34H,0FFH,30H,2CH;"材",4
DB00H,00H,32H,4AH,46H,22H,00H;"
(2)",5
DB00H,3CH,42H,42H,7EH;"D",6
DB00H,24H,42H,42H,3CH,00H;"C",7
DB5AH,5AH,5AH,7EH,00H;"E",8
DB18H,18H,18H;"-",9
DB62H,52H,4AH,46H,00H;"Z",1
DB62H,52H,4AH,46H,00H;"Z",1
DB62H,52H,4AH,46H,00H;"Z",1
2.3源程序代码的设计
ORG0000H
LJMPMAIN
ORG0003H
RETI
ORG0013H
RETI
ORG001BH
RETI
ORG0023H
RETI
ORG002BH
RETI
MAIN:
CLRP1.4
MOVDPTR,#TAB;字码表初址赋值
MOVR1,#0FEH;列控制码
MOVR3,#8;列数
MOVR4,#81
CM:
MOVR5,#10;每屏反复显示10次
MOVR3,#8;列数
C1:
MOVR2,#0;取字指针
C8:
MOVP2,#0FFH;关显示
MOVA,R2;
MOVCA,@A+DPTR;取当前列的显示字码的一个字节
MOVP0,A;送1~8行控制口
INCR2
MOVA,R1
MOVP2,A;送列控制码
ACALLDL;显示5MS
RLA;列控制码左移,显示下一列
MOVR1,A
DJNZR3,C8;未显示8列,继续
MOVR3,#8
DJNZR5,C1;未显示10次,继续
INCDPL;一屏反复显示10次完,字码表初值加1
DJNZR4,CM;81列未移动完,继续
AJMPMAIN;81列显示完,返回,重新开始显示
DL:
LCALLKEYWORK;延时子程序
MOVR6,#0AH
MOVR7,#0F8H
DJNZR7,$
DJNZR6,$-4
RET
DL512:
MOVR2,#0FFH
LOOP1:
DJNZR2,LOOP1
RET
DL10MS:
MOVR3,#14H;延时10MS
LOOP2:
LCALLDL512
DJNZR3,LOOP2
RET
DL5S:
MOVP0,#00H
MOVP2,#00H
MOVP3,#00H
RETI
KEYWORK:
MOVP1,#0FFH;按键服务子程序
JNBP1.0,KEY1
JNBP1.1,KEY2
JB20H,MUSIC
JB21H,DL5S
KEYRET:
RET
KEY1:
LCALLDL10MS;按键检测子程序
JBP1.0,KEYRET
SETB20H
CLR21H
RET
KEY2:
LCALLDL10MS
JBP1.1,KEYRET
SETB21H
CLR20H
RET
TAB:
DB00H,20H,20H,60H,20H,20H,3EH,01H;"广",0;字符编码表
DB00H,02H,22H,22H,3EH,22H,22H,02H;"工",1
DB00H,11H,12H,1CH,78H,16H,11H,01H;"大",2
DB00H,03H,7DH,55H,0FFH,54H,7CH,00H;"电",3
DB20H,0FFH,32H,28H,34H,0FFH,30H,2CH;"材",4
DB00H,00H,32H,4AH,46H,22H,00H;"
(2)",5
DB00H,3CH,42H,42H,7EH;"D",6
DB00H,24H,42H,42H,3CH,00H;"C",7
DB5AH,5AH,5AH,7EH,00H;"E",8
DB18H,18H,18H;"-",9
DB62H,52H,4AH,46H,00H;"Z",1
DB62H,52H,4AH,46H,00H;"Z",1
DB62H,52H,4AH,46H,00H;"Z",1
DB00H,20H,20H,60H,20H,20H,3CH,03H;"广"
MUSIC:
LJMPSTART;音乐服务子程序
INC20H
MOVTH0,#0D8H
MOVTL0,#0EFH
RETI
START:
MOVSP,#50H
MOVTL0,#0D8H
MOVTH0,#0EFH
MOVTMOD,#01H
MOVIE,#82H
MUSIC0:
NOP
MOVDPTR,#DAT
MOV20H,#00H
MOVB,#00H
MUSIC1:
NOP
CLRA
MOVCA,@A+DPTR
JZEND0
CJNEA,#0FFH,MUSIC5
LJMPMUSIC3
MUSIC5:
NOP
MOVR6,A
INCDPTR
MOVA,B
MOVCA,@A+DPTR
MOVR7,A
SETBTR0
MUSIC2:
NOP
CPLP1.4
MOVA,R6
MOVR3,A
LCALLDEL
MOVA,R7
CJNEA,20H,MUSIC2
MOV20H,#00H
INCDPTR
INCB
LJMPMUSIC1
MUSIC3:
NOP
CLRTR0
MOVR2,#0DH
MUSIC4:
NOP
MOVR3,#0FFH
LCALLDEL
DJNZR2,MUSIC4
INCDPTR
LJMPMUSIC1
END0:
NOP
CLR20H
CLR21H
LJMPMAIN
DEL:
MOVP1,#0FFH
MOVP2,#00H
NOP
DEL3:
MOVR4,#02H
DEL4:
NOP
DJNZR4,DEL4
NOP
DJNZR3,DEL3
RET
NOP
DAT:
DB18H,30H,1CH,10H;音乐发音编码表
DB20H,40H,1CH,10H
DB18H,10H,20H,10H
DB1CH,10H,18H,40H
DB1CH,20H,20H,20H
DB1CH,20H,18H,20H
DB20H,80H,0FFH,20H
DB30H,1CH,10H,18H
DB20H,15H,20H,1CH
DB20H,20H,20H,26H
DB40H,20H,20H,2BH
DB20H,26H,20H,20H
DB20H,30H,80H,0FFH
DB20H,20H,1CH,10H
END
3、元器件清单及所用工具和软件
所用工具和软件:
仪器设备:
电脑,万用表,电烙铁及烙铁架,锡线,剪线钳,镊子,松香,跳线
软件:
Poteus7Professional
Keiluvision3
单片机下载软件(STC_ISP_V480)
元器件清单:
元件
型号
数量
电阻
10k
9个
电容
30pF
2个
22uF
1个
芯片底座
40脚
1个
可自锁按键
六脚按键
1个
晶振
12MHz
1个
单片机芯片
STC89C52
1片
蜂鸣器
无源
1个
点阵
8*8LED
1个
万能板
8*12小板块
1块
直流电源底座
四座
1个
电池
555牌
4个
若干导线,锡线,杜邦线,钳子,排针,排孔
4、电路设计:
(Proteus仿真通过)
8*8点阵广告牌设计仿真电路总原理图,如【图7】所示:
【图7】8*8点阵广告牌设计仿真电路总原理图
实物图正面
实物图背面
5、心得体会:
课程设计是我们理论联系实际的重要实践环节,是对我们进行的一次原理及应用综合性专业设计训练,是培养应用型人才的具体步骤。
此设计任务是要求我们综合运用《单片机原理及应用》课程中所学的理论知识,设计一个具体的单片机应用系统,使我们将课堂所学的知识和实践有机结合起来,初步掌握单片机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。
此次课程设计中,我在网上、图书馆参考了许多资料,也学习了课本以外的单片机控制相关的知识。
课程设计后,我感觉收获了很多:
巩固和加深已学过的知识,提高动手能力及解决实际问题的能力,同时培养团队合作精神,激发了我对于单片机等电子器件的兴趣。
我认为,此次的课程设计是以前所学知识的总结、拓展,同时,更是一个极为重要的提升过程。
并且此次课程设计后,我将继续多做几个实用的小制作,比如说涉及温度报警和液晶显示这一部分的模块,通过实际动手来进一步地学习知识、总结经验、锻炼自己。
通过实践,加深对单片机系列知识的认识。
这个设计题目的难度并不是很高,但从中能让我们受益匪浅。
不仅更好地学习了相关的知识,还很好地锻炼了实际的动手能力,焊接的过程要尽量设计好元件的布局,以至于在焊接的时候便于检查硬件电路中可能会出现的问题。
而且在焊接的时候还要保持一定的整齐圆滑,以免虚焊,短接等现象的出现,这些都是要求有一定的细心和耐心。
比如说:
当时我们焊接出实物的时候,发现点阵的第5列和第5行是不能正常工作,所以我们就细心的检查电路,没发现错误,我们又用万用表去检查电路板,终于发现,由于芯片的引脚很密,焊接的时候不小心把第5列与第6列连接在了一起,第5行与电源连接在了一起,由此导致不能工作,我们及时纠正了错误,让点阵达到了预定的功能。
同时,也学习到了很多软件的使用。
本次设计,软件部分用到了protues进行硬件设计,用keil进行程系编译。
还提高了自己的动手能力。
动手在一定程度上反映了一个人的能力,作为当代大学生,社会要求的我们不是只能说而不能做的人才,实际动手能力无比重要。
从这次实物制作中,我的动手能力提高了。
感谢学院给了我们这次实践动手的机会,更感谢我们的刘老师教授了我们单片机的相关知识。
本设计还可以扩展其他功能,比如还可以做得更加娱乐、更加吸引人一点,增加一些彩灯使彩灯随着字符的流动而产生不同的闪动样式,增加外围电路,控制音乐的播放,以此来吸引注意,达到广告宣传的目的
6、参考文献:
1、李朝青编著.《单片机原理及接口技术》(第3版).北京航天航空大学出版社2005年
2、蔡明文、冯先成编著.《单片机课程设计》.华中科技大学出版社.2007年
3、孙惠芹编著.《单片机项目设计教程》.电子工业出版社.2009年
4、陈晓梅、陈育斌编著.《单片机原理综合实验教程》.大连理工大学出版社.2004年
5、蔡明文,冯先成主编.《单片机课程设计》华中科技大学出版社,2007
6、XX文库资料
7、豆丁文档资料