电子广告牌设计.docx
- 文档编号:12742731
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:43
- 大小:214.42KB
电子广告牌设计.docx
《电子广告牌设计.docx》由会员分享,可在线阅读,更多相关《电子广告牌设计.docx(43页珍藏版)》请在冰豆网上搜索。
电子广告牌设计
信息职业技术学院
毕业设计说明书
设计题目:
电子广告牌
专业:
电子信息工程技术
班级:
纳思达08-1
学号:
姓名:
指导教师:
二○一○年八月五日
息职业技术学院毕业设计任务书
学生
姓名
学号
班级
纳思达08-1
专业
电子信息工程技术
设计(或论文)题目
电子广告牌
指导教师姓名
职称
工作单位及所从事专业
联系方式
备注
副教授
电子信息工程技术专业教学
设计(论文)内容:
设计一电子广告牌,要求;
1.用单片机开发工具通过LED和LCD液晶两种方式分别显示;
2.电子广告牌能滚动显示:
四川信息职业技术学院“欢迎您”电信08-1班王永汉,谢谢;
3.实现了循环显示汉字的功能;
4.能够进行仿真。
进度安排:
1.6月20日~7月8日确定设计任务,查找资料,拟定设计方案;
2.7月9日~7月15日软、硬件功能划分,系统硬件电路的设计;
3.7月16日~7月19日软件结构设计、设计软件流程图并编制相应的软件;
4.7月20日~8月6日系统工作原理分析,综合调试,拟定初稿及实物制作;
5.8月7日~8月8日检查定稿,准备答辩及实物检查;
6.8月14日答辩。
主要参考文献、资料(写清楚参考文献名称、作者、出版单位):
[1]周国运.单片机原理及应用(C语言版).北京:
中国水利水电出版社,2009
[2]林志琦.单片机原理接口及应用(C语言版).北京:
中国水利水电出版社,2007
[3]胡汉才.单片机原理及接口技术.北京:
清华大学出版社,2002
[4]陈龙三.8051单片机控制及应用.北京:
清华大学出版社,1999
审
批
意
见
教研室负责人:
年月日
备注:
任务书由指导教师填写,一式二份。
其中学生一份,指导教师一份。
目 录
摘 要
电子广告牌是在单片机广泛应用下的产物,电子广告牌被广泛用于公交汽车、商店、体育场、车站、学校、银行、高速公路等公共场所信息的发布和广告宣传。
LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。
LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。
LED点阵显示屏可以显示数字或符号,通常用来显示时间、速度、系统状态等。
文章给出了一种基于MCS-51单片机的16*16点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。
在负载范围内,只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
LCD电子显示屏在现实生活应用很广泛。
本文设计是以单片机为核心控制器件的简单文字符号的LCD显示系统,通过硬件和软件的共同配合之下实现了在128*64分辨率的液晶屏上显示字符、汉字的功能。
系统的硬件可分为单片机、液晶显示器和电源电路,单片机与液晶屏数据传输。
关键词 51单片机;LED点阵显示屏;LCD显示屏
前 言
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
LED点阵显示屏的构成型式有多种,其中典型的有两种。
一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。
目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。
一般在产品出厂时,显示内容就已写入显示屏控制系统中的EPROM芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。
国内的另一种LED显示屏——可编程序型LED显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。
随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。
因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。
而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。
本设计是基于单片机(AT89C52)讲述了16×16LED汉字点阵显示的基本原理、硬件组成与设计、程序编译与下载等基本环节和相关技术。
LCD液晶显示器是LinquidCrystalDisplay的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。
在液晶方面,从选型角度,我们将常见液晶分为以下几类:
段式,字符型,常见段式液晶的每字为8段组成,即8字和一点,只能显示数字和部分字母,如果显示其它符号,一般需要从厂家定做,可以讲所要显示的字、汉字和其它符号固化在指定的位置。
液晶显示器使用时,不允许施加直流电压,驱动电压的直流成分最大不超过50mv,LCD在焊接时应注意只焊接I/O接口。
且电烙铁温度不高于260摄氏度,烙接次数不超过3-4秒,焊接次数最多不超过3-4次,焊剂应最好使用高质量焊剂,注意PCB板清洁。
第1章 系统方案设计
1.1 LED系统设计
LED电子广告牌系统由AT89C51芯片控制的LED显示模块、驱动扫描模块、复位延时模块等部分组成。
因此,本系统的主控制模块是AT89C51芯片,通过P0口与驱动扫描电路相连,控制送出数据信号,系统框图架图如图1-1所示。
晶振
复位
电路
单
片
机
列驱动电路
行选通电路
行
驱动电路
16*16LED点阵显示
图1-1 LED系统框架图
在复位电路中,由于通电后在电阻和电容的作用,使单片机RST复位脚电平先高后低,从而达到复位;之后,在复位及晶体震荡电路和单片机内部时钟电路作用下,单片机89C51按照设定程序在P1口把输出的内部汉字对应代码电平进行所存,送至LED点阵行选线(高电平驱动),在P0口输出列选扫描信号(低电平驱动),从而选中相应LED发光二极管被点亮,并利用人眼视觉暂留特性合成整个汉字显示。
1.2 LED点阵式汉字显示原理
本次毕业设计选用16*16点阵式显示汉字,及每一个字均由256点阵来表示,也就是说用四个8*8点阵组合成一个16*16的点阵。
汉字可拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成。
本例通过列扫描方法首先显示左上角的第一列的上半部分,即第0列的P00~P07口,方向为P00到P07,显示汉字“我”时,为全灭,第一列的下半部分也为全灭。
第二列的上半部分P06、点亮,由上往下排列,为:
PO.0灭,PO.1灭,P0.2灭PO.3灭,PO.4灭,P0.5灭,P0.6亮,P0.7灭。
即二进制00000010,转换为十六进制为02h。
上半部第二列完成后,继续扫描下半部的第二列,为了接线的方便,我们仍设计成由上往下扫描,即从P27向P20方向扫描,从图3可以看到,这一列P23亮,即为00001000,十六进制则为08h。
依照这个方法转向第三列、第四列,……,直至第十六列的扫描,一共扫描32个8位,由原理可以得出“王”的扫描代码:
0x00,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0xFE,0x7F,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0xC3,0x40,0x82,0x60,0x00,0x40,0x00,0x00,(取模顺序为BA-DC)字模软件提取界面如图1-2所示。
图1-2 字模软件提取界面
把所有同一行发光管的阳极连在一起,把所有同一列发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭…。
第十六行之后又重新点亮第一行,这样反复轮回。
当这样轮回的速度足够快(每秒24次以上)时,由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的文字了。
1.3 LCD系统设计
LCD显示屏主要由以下部分组成:
时钟复位电路,单片机控制电路,LCD模块和驱动数据电路等组成。
AT89C51芯片通过控制线和数据线共同驱动液晶显示,芯片P3.6和P3.7口进行读写控制,再通过一个74HC00输入端与非门对液晶E引脚进行控制。
再通过P0口对液晶进行数据控制,P0口上接一个74HC373三态同相锁存器对数据输入进行所存。
将锁存的数据信号送入到液晶缓存器里为液晶显示做准备。
LCD显示一个字符时比较复杂,因为一个字符由6*8或8*8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。
根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码。
就显示出所需字符,LCD系统框架图如图1-3所示。
时钟电路
复位电路
单
片
机
控制线
数据线
LCD液晶显示
图1-3 LCD系统框架图
1.4 LCD汉字显示原理
字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
LCD字模提取与LED字模软件同理,汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
每个汉字都与一个双字节的内码一一对应,通过汉字的内码可以计算出它的点阵起始字节。
我们只须将要显示的汉字点阵数据写入液晶模块的缓冲区即可。
字模提取同LED提取法同理,图2中的“王”字经过字模软件纵向提取后为:
0x00,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0xC3,0x820,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x400x7F,0x40,0x40,0x40,0x40,0x40,0x60,0x40,0x00,将12864液晶屏幕按照4行8列的方式给每个汉字一个行列坐标(1line,lie),参数P是要显示的汉字在汉字库中的第一个字模数据的地址。
在进行软件仿真时,都要建立自己的汉子库,对于较少汉子时,就通过一个汉子取模软件来代替,但是对于较大型汉字库时,一般都需要查询芯片手册后建立自己的汉字库。
第2章 LED/LCD硬件电路设计
2.1 LED时钟/复位电路
单片机的时钟信号用来提供单片机内各种微操作的时间基准,时钟电路用于产生单片机工作所需要的时钟信号。
单片机的时钟信号由12MHZ的晶体振荡器产生,振荡脉冲信号经过内部时钟发生器进行二分频之后,成为单片机的时钟信号。
复位是单片机的初始化操作,其目的是使CPU及各专用寄存器处于一个确定的初始状态。
把PC的内容进行初始化,使单片机从0000H单元开始执行程序。
同时当单片机系统在运行出错或操作错误使系统处于死锁状态时,也需要复位以使其恢复正常工作状态。
RST端的外部复位电路有两种操作方式:
上电自动复位和按键手动复位。
按键手动复位有电平方式和脉冲方式两种,时钟复位电路如图2—1所示。
按键电平复位是相当于RST端通过电阻接高电平来实现单片机的复位,时钟、复位电路如图2-1所示。
图2-1 时钟复位电路
2.2 LED驱动电路
行驱动电路单片机AT89C52的P0口接一个RESPACK-8排阻,将排阻的公共端接上电源,也就是将P0口的八个管脚接上TTL带公共时钟复位八D触发器74273进行触发计数高低电平,由此来控制行驱动电路,每来一个脉冲就记一次数,在通过非门进行对计算器的清零。
使LED的行驱动全部接上高低电平,行驱动设计如图2-2所示。
驱动通过P2.6、P2.7口和P3.6口写入控制触发器口上通过一或非门连接控制74273触发器来进行计数驱动,并把触发计数的高低电平通过2个触发端口输出到电子屏行显示地址上点亮,驱动电路(行扫描)如图2-2所示。
图2-2 驱动电路(行扫描)
列驱动由4-16译码器74HC154完成。
单片机上电复位后,汉字的第一行数据(六个字节共48位)由P2.1脚串行输出,六个字节的串行数据先进入U1的数据输入端,在单片机P2.0脚的时序脉冲上升沿作用下串行进入六个列驱动集成块U1~U6,这个过程叫做装载一行数据。
一行数据装载完成后,P2.2脚输出一个上升沿,此脉冲控制U1~U6将各自列数据输出去用以显示,同时单片机P1口也送出控制信号,经U8译码选中它的第一脚X1,X1输出低电平,使汉字的第一行显示出来。
其余各行依次按这种方式显示出来,这样汉字就静态出现在LED显示模块上,驱动电路(列扫描)如图2-3所示。
图2-3 驱动电路(列扫描)
2.3 LED点阵电路如图2-4所示
图2-4 16*16点阵电路图
16*16点阵式共256个发光二极管,即为256个字节。
且每个发光二极管是放置在行线和列线的交叉点,当对应的某一列置1电平,某一行置0电平,则相应的二极管就被点亮。
2.4 LED显示屏硬件电路
电子广告牌的硬件电路主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HCl54)、16×16LED点阵5部分组成,其中,AT89C51是一种带4kB闪烁可编程可擦除只读存储器的低电压、高性能8位微处理器,能够进行1000次写/擦循环,控制整个电路。
时钟电路由AT89C5l的18,19脚的时钟端(XTAIl及XTAL2)以及12MHz晶振X、电容C2、C3组成,采用片内振荡方式。
复位电路采用简易的上电复位电路,主要由电阻R,R2,电容C,开关K组成,分别接至AT89C51的RST复位输入端。
LED点阵显示屏采用16×16共256个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。
我们把行列总线接在单片机的I/0口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。
将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4—16线译码器74HCl54来选择控制,列选控制只使用了单片机的4个I/O口,节约了很多I/O口资源。
在通电后由于电阻R,电容c1的作用,使单片机的RST复位脚电平先高后低,从而达到复位;之后,在C、C3、X以及单片机内部时钟电路的作用下,单片机89C51按照设定的程序在P0和P2接口输出与内部汉字对应的代码电平送至LED点阵的行选线(高电平驱动),同时在P1.1,P1.2,P1.3,P1.4接口输出列选扫描信号(低电平驱动),从而选中相应的象素LED发光,并利用人眼的视觉暂留特性合成整个汉字的显示。
再改变取表地址实现汉字的滚动显示。
2.5 LCD驱动电路
LCD显示模块文本显示RAM提供8个4行的汉字空间,当写入文本显示RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型;ST7920A可以显示三种字型,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型。
三种字型的选择,由在DDRAM中写入的编码选择,各种字型详细功能说明编码如表2-4:
显示半宽字型:
将一位字节写入DDRAM中,范围为02H-7FH的编码。
显示CGRAM字型:
将两字节编码写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码显示中文字形:
将两字节编码写入DDRAMK,范围为A1A0H-F7FFH(GB码)或A140H-D75FH(BIG5码)的编码。
详细字码表可参考液晶用户资料。
控制器接口信号中RS,E信号选择决定控制界面的4种模式如表2-5,查询液晶用户手册找出相对应的X坐标位置,将该位置的坐标码输入Line缓存区域。
液晶显示汉字坐标如下:
表2-5 液晶屏R/W功能表
RS
R/W
功能说明
0
0
MCU写指令到指令寄存器(IR)
0
1
读出忙标志BF和地址计数器AC的状态
1
0
MCU写数据到数据寄存器(DR)
1
1
MCU从数据寄存器(DR)中读数据
E信号为使能端,E不同状态代表功能如下:
表2-6 E信号控制端
E状态
执行动作
结果
高——>低
I/0缓冲——>DR
配合/W进行写数据或指令
高
DR——>I/0缓冲
配合R进行读数据或指令
低/低
无动作
汉字显示坐标如下:
表2-7 液晶显示汉字坐标
行显示
X坐标位置
Line1
80H
81H
82H
83H
84H
85H
86H
87H
Line2
90H
91H
92H
93H
94H
95H
96H
97H
Line3
88H
89H
8AH
8BH
8CH
8DH
8EH
8FH
Line4
98H
99H
9AH
9BH
9CH
9DH
9EH
9FH
根据MCU写资料读资料时序图判断BF是否忙碌函数IsBusy()用到图2-4读资料时序图:
即RS,R/W=01,E置高,读取DB7即BF标志位,然后RS,R/W,E均置反。
写指令函数write_LCD_command()和写数据函数write_LCD_data()用到资料时序图:
RS,R/W=00为写指令,RS,R/W=10为写数据,将E置高,然后将指令字节或数据字节赋给LCDDB0~DB7数据接口,这时程序延时2个NOP空指令之后,E从高到低实现跳变,此时指令和数据写入LCD成功,最后将RS,R/W置反。
2.6 LCD显示屏硬件电路及显示原理
LCD硬件电路设计是以单片机为核心控制器件的简单文字符号的LCD显示系统,通过硬件和软件的共同配合之下实现了在128*64分辨率的液晶屏上显示字符、汉字的功能。
系统的硬件可分为单片机、液晶显示器和电源电路,单片机与液晶屏数据通信采用并行连接方式。
16864液晶显示模块可以和单片机AT89C51直接接口。
下面以液晶LM12864为例。
LM12864中的显示区共有64行,分为8页,每页8行,这样就必须向两页中的对应列送数据,实际上,在写每个汉字时,一般先取字模的上16个字节并将其写在一页中,再将字模的下16个字节写在下一页中即可。
写入数据指令集可以查询:
表2-8 数据写入指令集
读状态
输入
RS=L,R/W=H,E=H
输出
D0—D7=状态字
写指令
输入
RS=L,R/W=L,D0—D7=指令码,E=高脉冲
输出
无
读数据
输入
RS=H,R/W=H,E=H
输出
D0—D7=数据
写数据
输入
RS=H,R/W=L,D0—D7=数据,E=高脉冲
输出
无
第3章 LED/LCD系统程序
3.1 LED驱动程序
显示屏的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按计划的要求显示。
根据软件分层次设计的原理,可把显示屏的软件系统分成两个层次;第一层是底层的显示驱动程序;第二层是上层的系统应用程序。
显示驱动程序负向屏体送显示数据,并负责产生行扫描信号呵其他控制信号,配合完成LED显示屏的扫描显示工作。
显示驱动程序由定时器T0中断程序实现,系统应用程序完成系统环境设置(初始化)、显示效果处理等工作。
采用C语言编写从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化设计。
3.1.1 LED显示驱动子程序
进入中断
显示驱动子程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新的稳定。
16行扫描格式的显示屏刷新率(帧频)的计算公式如下:
刷新率(帧频)=1/16×T0溢出率=1/16×fosc/12(65536-X)其中:
fosc为晶振频率;X为定时器T0的初值(工作在16位定时器模式)。
显示驱动程序查询当前亮点的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。
为消除在切换行显示数据时产生拖尾现象,驱动程序先要关闭显示屏。
显示驱动流程图如图3-1所示。
在本系统设计中是由两片74273触发器进行触发,进行控制电子屏的行信号,由单片机机的p0口上连接两个译码器构成译码电路控制16*16的列信号。
将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4—16线译码器74HCl54来选择控制,列选控制只使用了单片机的4个I/O口,节约了很多I/O口资源。
在通电后由于电阻R,电容c1的作用,使单片机的RST复位脚电平先高后低,从而达到复位;之后,在C、C3、X以及单片机内部时钟电路的作用下,单片机89C51按照设定的程序在P0和P2接口输出与内部汉字对应的代码电平送至LED点阵的行选线(高电平驱动),同时在P1.1,P1.2,P1.3,P1.4接口输出列选扫描信号(低电平驱动),从而选中相应的象素LED发光,驱动程序块,LED驱动显示图如图3-1所示。
进入中断
定时器赋初值
读取行号并增1
送新行显示数据
消隐
切换显示数据
送新行号,打开显示
退出中断
图3-1 LED驱动显示图
3.1.2 LED延时子程序
延时通常有两种方法:
一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时;另一种是软件延时,这种方法主要采用循环体进行,使用定时器/计数器实现精确延时。
单片机系统一般常选用12MHz的晶振频率。
本程序中使用频率为12MHz的晶振。
最长的延时时间可达216=65536μs。
若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。
voiddelay(ucharc)/*延时程序设计{
uchari,j;
for(i=0;i for(j=0;j<10;j++)}/*j延时10毫秒 3.1.3 LED系统主程序 系统主程序中,首先对系统环境初始化,包括设置串口、定时器、中断和端口。 然后以“左移“效果显示文字或图案,停留几秒钟,接着继续左移循环汉字和图案。 显示效果可以根据需要进行设置,系统程序会不断的循环执行显示效果,LED系统主程序流程图如图3-2所示。 开始 系统初始化 左移出”四” 左移出”川” 左移出”信” 图3-2 LED系统主程序流程图 3.2 LCD系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 广告牌 设计