点阵课程设计.docx
- 文档编号:8498002
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:14
- 大小:770.28KB
点阵课程设计.docx
《点阵课程设计.docx》由会员分享,可在线阅读,更多相关《点阵课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
点阵课程设计
目录
第1章引言1
1.1单片机1
1.2LED点阵显示屏2
第2章总体方案论证与设计4
2.1总体设计4
2.2设计论证4
第3章系统硬件设计7
3.1单片机系统及其引脚7
3.274LS138芯片介绍8
3.374LS595芯片介绍9
3.5稳压源设计12
第4章软件设计13
4.1点阵字模提取13
4.2系统主程序13
第5章软件模拟调试17
总结18
参考文献19
第1章引言
1.1单片机
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
1)在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
2)在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3)在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
4)在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5)单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域
1.2LED点阵显示屏
LED显示屏(LEDdisplay):
又叫电子显示屏或者飘字屏幕。
通常由显示模块、控制系统及电源系统组成。
显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容;电源系统负责将输入电压电流转为显示屏需要的电压电流。
在目前的电子市场上的大部分的显示设备都是这种产品,它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传其最主要的特点是节能环保,而且画质清晰,符合闲着的消费需求和理念。
LED点阵显示屏的构成型式有多种,其中典型的有两种。
一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。
LED点阵显示屏的控制系统包括输入接口电路、信号控制、转换和数字化处理电路及输出接口电路等,涉及的具体技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测及远程控制技术等。
1)串行传输与并行传输技术
LED显示屏的数据传输方式主要有串行和并行两种。
日前普遍采用串行控制技术,显示屏每个单元内部的不同驱动电路和各级联单元之间,每个时钟仅传送一位数据。
采用这种方式的驱动IC种类较多,不同显示单元之间的联线较少,可减少显示单元的数据传输驱动元件,从而提高整个系统的可靠性和性价比,具体工程实现也较为容易。
2)动态扫描与静态锁存技术
LED显示屏控制系统实现显示信息的刷新技术有动态扫描和静态锁存两种方式。
一般室内显示屏多采用动态扫描技术,即一行发光二极管共用一行驱动寄存器,根据共用一行驱动寄存器的发光二极管像素数目,分为1/4,1/16扫描等。
室外显示屏基本上采用静态锁存技术,即每一个发光一极管都对应有一个驱动寄存器,无需时分工作,从而保证了每一个发光一极管的亮度占空比为100%。
动态扫描法可以大大减少控制器的I/O口,因此应用较广。
3)自动检测及远程控制技术
LED显示屏的构成复杂,特别是室外显示屏,供电、环境亮度、环境温度条件等都直接影响显示屏的正常运行。
在LED显示屏的控制系统中,因根据需要对温度、亮度、电源等进行自动检测控制,也可根据需要,远程实现对显示屏的亮度、色度调节、图像水平和垂直位置的调节以及工作方式的转换等。
第2章总体方案论证与设计
2.1总体设计
图2-1总体设计图
2.2设计论证
图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中16*8的点阵共有128个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16*8的点阵需要128/8=16个锁存器。
这个数字很庞大,因为我们仅仅是16*8的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套驱动器。
具体就8*8的点阵来说,如图2-1所示,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第8行之后,又重新燃亮第1行,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。
图2-2点阵屏内部结构
采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。
从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。
显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。
当列数很多时,并列传输的方案是不可取的。
采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。
但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。
这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。
对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一列数据。
为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。
经过上述分析,就可以归纳出列驱动器电路应具有的功能。
对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
所以就本次课程设计装将采用以AT89C51单片机为核心,采用串行传输、动态扫描技术,制作一款字符串滚动显示的LED显示屏。
该系统主要由两个8*8的点阵组成一个16*8的点阵,受一个51单片机控制,驱动系统由两片74LS595、一片74LS138有若干三极管组成,来实现字符串滚动显示。
第3章系统硬件设计
3.1单片机系统及其引脚
常用的时钟电路设计有两种方式,一种是内部时钟方式,一种是外部时钟方式。
本实验采用内部时钟方式,将XTAL1与XTAL2之间跨接一个石英晶振和微调电容,从而构成一个稳定的自激震荡器。
电容值取5~30pF左右,其大小将影响震荡频率的高低、振荡器的稳定性和起振的快速性。
为减少线间的寄生电容,晶振和电容应尽能安装得与单片机靠近,保证晶振稳定可靠的工作。
另一部分是复位部分。
上电自动复位电路是最简单的复位电路,只需要一个1K左右电阻、一个22pF左右的电容及12MHZ的晶振。
有时还需要按键手动复位,此时只要在电容上并联一个按键即可。
单片机信号输出采用串行输出,因此在下一模块的移位寄存器要与该部分的串行口P3.0(RXD)及P3.1(TXD)相连,
其图形如下图
图3-1单片机接线图及引脚图
3.274LS138芯片介绍
74LS138芯片是常用的3—8译码器,LS是TTL的,他的COMS版本叫74HC138,常用在单片机和数字电路的译码电路中,其工作原理是当一个选通端(G1)为高电平有效,另两个选通端(/(G2A)和/(G2B))为低电平时有效,可将地址端A、B、C为译码信号输入端,Y0~Y7为译码输出端且低电平有效。
下面是它的引脚图,及其真值表。
图3-274LS138引脚图
图3-374LS138真值表
3.374LS595芯片介绍
74LS595又叫做8位输出移位寄存器,是本次课程设计的又一核心元件它的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。
这在串行速度慢的场合很有用处,数码管没有闪烁感。
图3-4为74LS595的引脚图,其中QA~QH为八位并行输出端,可以直接控制数码管的8个段;QH’为级联输出端,用来扩展下一个595芯片,接其SER端口。
图3-474LS595引脚图
74LS595同控制相关的引脚一共有五个,即DS、ST_CP、SH_CP、/MR和/OE,为了更好的理解其各个引脚的作用,我们可以配合它的内部结构图加以了解,如图3-5所示
图3-574LS595内部结构
SER(DS):
SER(DS)为数据串行输入端。
/SCLR(MR):
低点平时将移位寄存器的数据清零。
通常我们将它接VCC。
SCK(SH_CP):
移位寄存器时钟输入端。
QA-->QB-->QC-->QD—
>QE-->QF-->QG-->QH;下降沿移位寄存器数据不变。
RCK(ST_CP):
锁存器时钟输入端。
上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。
通常我们将RCK置为低点平,当移位结束后,在RCK端产生一个正脉冲,更新显示数据。
/G(13脚):
高电平时禁止输出(高阻态)。
如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。
比通过数据端移位控制要省时省力。
在运行过程中数据从DS口送入74LS595,在每个SH_CP的上升沿,DS口上的数据移入寄存器,在SH_CP的第9个上升沿,数据开始从Q7’移出。
如果把第一个74LS595的Q7’和第二个74LS595的DS相接,数据即移入第二个74LS595中,照此一个一个接下去,可接任意多个。
数据全部送完后,给SH_CP一个上升沿,寄存器中的数据即置入锁存器。
此时如果/OE为低电平,数据即从并口Q0~Q7输出,把Q0~Q7与LED的8段相接,LED就可以实现显示了。
要想软件改变LED的亮度,只需改变/QE的占空比就行了。
3.4点阵及其驱动电路
点阵显示用是动的态扫描来实现的。
在采用扫描方式显示时,由于每行要带动十六个二极管,每行电流较大。
若每个二极管安5mA计算,十六个二极管就得80mA电流,超出单片机管脚的承受范围,因此每行都加有一个驱动器,本设计的行驱动用的是十六个npn型三极管。
三极管的集电极接5V电压,发射极接点阵的行线,而其基级本应接两片74LS595。
各行的同名列共用一个列驱动,由74LS38提供。
图3-6点阵驱动电路
如图3-6LED的行扫描端接到两片74LS595和三极管组成的控制电路中,列扫描端接74LS138的接线端。
列扫描端(Y0—Y7)用于LED的数据扫描,通过74LS138的驱动,使LED发光。
(Q1—Q16)通过两片74LS595为LED的显示给出相应的数据。
3.5稳压源设计
由单片机及点阵驱动电路需要+5V电源,因此需要将220V交流电源整流为+5V。
此设计采用单相桥式整流电路应用L78M05CP元件输出+5V,电路图如下所示
图3-7+5V电源电路
如果我们做的产品比较精巧,我们同样可以采用5V电池供电,以实现其携带方便一面。
第4章软件设计
软件还是该LED点阵显示屏控制系统的重要组成部分,它要保证LED点阵显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。
在本次的软件设计中我采用keil软件,用C语言进行编程,这样增强了系统软件的可读性和可移植性。
4.1点阵字模提取
单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。
如果想改变些事内容,先用字模产生字代码,将用这段代码覆盖原来的代码,即可显示你想要的内容。
同样在我们做一些比较复杂的显示时,可以在软件程序里加上字库文件来达到要求。
由于我们的程序使用汉字数目不多,所以我们用字模提取程序提出所需要显示的汉字字模,放在程序里,就可以按照自己的顺序显示文字了;同时我们还可以用字模程序自定义图形,来达到我们的显示要求。
4.2系统主程序
由于学习过单片机C语言编程,所以这个程序在编写过程中都是在keil软件下,用C语言编写。
程序如下:
/******************************************/
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitDS=P3^0;
sbitSH_CP=P3^1;//显示允许控制信号端口
sbitST_CP=P3^2;//输出锁存器的时钟信号端口
sbitMR=P3^3;//MR为0将移位寄存器的数据清0
ucharcodebmp[]={
/**************燕山大学里仁学院**************/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",0*/
0x42,0x21,0x42,0x26,0x42,0x40,0x4F,0xF0,0x40,0x04,0xF9,0xE3,0x49,0x20,0x49,0x20,
0x49,0x24,0xF9,0xE3,0x40,0x00,0x4F,0xE0,0x42,0x14,0x42,0x13,0x44,0x70,0x00,0x00,/*"燕",1*/
0x00,0x00,0x00,0x00,0x0F,0xFC,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0xFF,0xFC,
0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x0F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,/*"山",2*/
0x04,0x01,0x04,0x01,0x04,0x02,0x04,0x04,0x04,0x08,0x04,0x30,0x04,0xC0,0xFF,0x00,
0x04,0xC0,0x04,0x30,0x04,0x08,0x04,0x04,0x04,0x02,0x04,0x01,0x04,0x01,0x00,0x00,/*"大",3*/
0x02,0x20,0x0C,0x20,0x88,0x20,0x69,0x20,0x09,0x20,0x09,0x22,0x89,0x21,0x69,0x7E,
0x09,0x60,0x09,0xA0,0x19,0x20,0x28,0x20,0xC8,0x20,0x0A,0x20,0x0C,0x20,0x00,0x00,/*"学",4*/
0x00,0x02,0x00,0x02,0x7F,0x22,0x49,0x22,0x49,0x22,0x49,0x22,0x49,0x22,0x7F,0xFE,
0x49,0x22,0x49,0x22,0x49,0x22,0x49,0x22,0x7F,0x22,0x00,0x02,0x00,0x02,0x00,0x00,/*"里",5*/
0x00,0x80,0x01,0x00,0x06,0x00,0x1F,0xFF,0xE0,0x00,0x00,0x08,0x10,0x08,0x10,0x08,
0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x00,0x08,0x00,0x00,/*"仁",6*/
0x02,0x20,0x0C,0x20,0x88,0x20,0x69,0x20,0x09,0x20,0x09,0x22,0x89,0x21,0x69,0x7E,
0x09,0x60,0x09,0xA0,0x19,0x20,0x28,0x20,0xC8,0x20,0x0A,0x20,0x0C,0x20,0x00,0x00,/*"学",7*/
0x00,0x00,0x7F,0xFF,0x44,0x20,0x5A,0x10,0x61,0xE0,0x08,0x01,0x30,0x82,0x24,0x8C,
0x24,0xF0,0xA4,0x80,0x64,0x80,0x24,0xFC,0x24,0x82,0x28,0x82,0x30,0x8E,0x00,0x00,/*"院",8*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",0*/
};
voiddelayXms(ucharms);
voiddisplay(uintdatal);
voidmain()
{
ucharbase=0;//实现移动效果
uchartmp=0;//移动速度
uintrows=sizeof(bmp);//总列数
ucharcol=0;//列选线
MR=1;
while
(1)
{
for(base=0;base<=rows;base=base+2)
{
for(tmp=0;tmp<5;tmp++)//每个字块显示5次
{
for(col=0;col<16;col++)
{
MR=0;//将移位寄存器的数据清0
MR=1;
display(bmp[base+col*2]);
display(bmp[base+col*2+1]);
P1=col;//列控制
ST_CP=1;
delayXms
(2);//显示2ms
}
}
}
}
}
voiddisplay(uintdatal)
{
ucharb;
for(b=0;b<8;b++)
{
SH_CP=0;
ST_CP=0;
if(datal&0x80)
DS=1;
else
DS=0;
datal<<=1;
SH_CP=1;
}
}
voiddelayXms(ucharms)//延时函数
{
uchari;
while(ms--)
for(i=0;i<124;i++);
}
第5章软件模拟调试
本次设计调试我们只用了软件模拟调试,我们用软件proteus中的ISIS软件进行了调试,通过一次次模拟仿真,认真分析多次修改程序后,LED点阵显示屏能够按照要求正常显示。
如下图所示
图5-1模拟“燕”
总结
通过这次课程设计,使我对硬件电路的工作原理有了进一步的学习,进一步的认识;在软件方面,在程序的设计方面都学到了很多东西,很有成就感。
在这次课程设计中我遇到了一些困难,但在自己查阅了些许资料,或上网求助的情况下都解决了。
虽然课程设计进行的不够顺利,但还是完成了任务,使自己在单片机方面知识又得到了提升。
21世纪是计算机全面应用的时代,很多人不是在制造计算机而是在使用计算机。
在使用计算机的人群中只有从事嵌入式系统应用的人才真正地进入到计算机系统内部软硬件体系中,才能真正领会计算机的智能化本质并掌握智能化设计的知识。
通过这次难得的实践机会给了我很大收获,不仅巩固了原有的知识,并增强了动手能力,培养了面对问题的分析能力以及遇到困难如何应对。
参考文献
[1]陈志旺,51单片机快速上手,北京机械工业出版社,2009.8
[2]刘欣铭张广,LED显示屏技术综述,黑龙江电力,2003
[3]彭为黄科,单片机典型系统设计,电子工业出版社,2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 点阵 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)