LED阵列的数字显示屏设计.docx
- 文档编号:7672427
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:13
- 大小:104.67KB
LED阵列的数字显示屏设计.docx
《LED阵列的数字显示屏设计.docx》由会员分享,可在线阅读,更多相关《LED阵列的数字显示屏设计.docx(13页珍藏版)》请在冰豆网上搜索。
LED阵列的数字显示屏设计
目录
一、课程设计目的-1-
二、课程设计正文-1-
2.1总体论述-1-
2.2方案选型-1-
2.2.1总体方案-1-
2.2.2各单元电路方案及集成电路-1-
2.3程序代码设计-6-
三、系统实现与测试-7-
四、课程设计总结-10-
五、参考文献-10-
LED阵列的数字显示屏设计
一、课程设计目的
LED是发光二极管LIGHTEMINTTINGDIODE的英文缩写,是一种直接能将电能转化为可见光的半导体。
LED点阵是由发光二极管排列组成的显示器件,在日常生活中随处可见,其发光类型属于冷光源,效率及发热量是普通发光器件难以比拟的。
它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远、可靠耐用、应用灵活、安全、响应时间短、绿色环保、控制灵活等特点。
在日常生活中,我们会经常用到LED数码显示管组成的电子器件,用以显示我们想要的数据。
因此制作一个驱动LED数码显示的电路是很有实际意义的。
二、课程设计正文
2.1总体论述
本次设计题目:
LED阵列的数字显示屏设计技术
设计要求:
1 器件选择:
利用单片机8*8LED阵列等器件设计
2 系统电路的设计:
正确设计单片机控制电路及外围驱动电路,在一块8×8共阳极LED阵列上显示数字
3 显示方式:
LED阵列显示屏能正常显示数字并能进行0~9数字的循环显示
2.2方案选型
2.2.1总体方案
图
(1)LED阵列的数字显示屏设计原理框图
2.2.2各单元电路方案及集成电路
2.2.2.1AT89C51单片机控制电路
图
(2)AT89C51单片机控制电路图
AT89C51的主要特征:
●与MCS-51兼容
●数据保留时间:
10年
●全静态工作:
0Hz~24Hz
●三级程序存储器锁定
●一个8位微处理器CPU
●4KB内部程序存储器,最大可扩充至64KB
●8个126Bytes内部数据存储器,最大可扩充至64KB
●32根可编程I/O口线
●片内振荡器和时钟电路
●低功耗的闲置和掉电模式
●具有逻辑代数运算功能
●2个16位的定时/计数器:
T0、T1
●5个中断源:
INTO、INT1、T0/T1、RXD/TXD,可编程为两个优先级
●1个全双工UART串行口,可多级通信
AT89C51的引脚功能:
Vss(20脚):
接地端;
VCC(40脚):
芯片电源,接+5V;
注:
用万用表测试单片机引脚电流一般为0V或者5V,这是标准的TTL电平,但是有时候在单片机程序正在工作时,测试结果并不是这个值,而是介于0V-5V之间。
其实这只是万用表反映没有那么快而已,在一瞬间单片机引脚电流还是保持在0V或者5V的。
XTAL1(19脚):
接外部晶体震荡电路反相的输入端,在片内它是震荡电路反相放大器的输入端。
在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。
XTAL2(18脚):
接外部晶体反相的输出端。
在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。
若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。
RST(9脚):
单片机刚接上电源时,其内部各寄存器处于随机状态,在该引脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET),即10ms以上才可正常复位。
PSEN(29脚):
在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。
CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。
不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。
PSEN端同样可驱动8个LSTTL负载。
我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。
ALE/PROG(30脚):
在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。
CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。
不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。
PSEN端同样可驱动8个LSTTL负载。
我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。
⑴ALE功能:
用来锁存P0口送出的低8位地址/EPROM编程输入端。
当CPU访问片外存储器时,用于锁存P0口低8位地址(因为P0口作为地址/数据复用口,P0口上的信息究竟是地址还是数据完全由ALE定义)。
当单片机上电正常工作后,此端周期性地以时钟振荡频率的1/6的固定频率向外输出正脉冲信号。
所以,ALE信号可用作对外输出时钟或定时信号。
检查单片机芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。
ALE端的负载能力为8个LS型TTL。
⑵PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲
EA/VPP(31脚):
当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。
当地址超出4KB时,将自动执行片外程序存储器的程序。
当EA输入低电平时,CPU只访问片外程序存储器。
在对87C51EPROM编程时,此引脚用于施加编程电压VPP。
输入/输出引脚:
P0~P3是4个寄存器,也称为4个端口,是80C51单片机与外界联系的4个8位双向并行I/O口。
由于在数据的传输过程中,CPU需要对接口电路中输入输出数据的寄存器进行读写操作,所以在单片机中对这些寄存器像对存储单元一样进行编址。
通常把接口电路中这些已编址并能进行读写操作的寄存器称为端口(PORT)或简称口。
(1)P0.0-P0.7(39脚-32脚)
一个8位的准双向I/O口。
在访问片外存储器时,它分时作为8位地址线和8位双向数据线;不作总线使用时,可作普通I/O口;其每位的负载能力为8个LSTTL。
(2)P1.0-P1.7(1脚-8脚)
一个带内部上拉电阻的8位准双向I/O口。
其每位的负载能力为4个LSTTL。
(3)P2.0-P2.7(21脚-28脚)
一个带内部上拉电阻的8位准双向I/O口。
其每位的负载能力为4个LSTTL。
其每位的负载能力为4个LSTTL。
(4)P3.0-P3.7(10脚-17脚)
一个带内部上拉电阻的8位准双向I/O口;P3口除了作为一般准双向口使用外,每脚还具有第二功能(见表1);其每位的负载能力为4个LSTTL。
P3口线的第二功能:
口线
第二功能
P3.0
RXD(串行口输入)
P3.1
TXD(串行口输出)
P3.2
(外部中断0输入)
P3.3
(外部中断1输出)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输出)
P3.6
片外数据存储器写选通控制输出
P3.7
片外数据存储器读选通控制输出
表
(1)P3口线的第二功能表
2.2.2.2AT89C51单片机驱动电路
图(3)AT89C51单片机驱动电路图
74LS245的主要特征:
●具有双向三态功能,既可以输出,也可以输入数据
●用来驱动LED或其他的设备,它是8路同相三态双向总线收发器,可双向传输数据
●当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器
●当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态
LED驱动模块是LED显示屏设计的关键部分。
驱动电路设计的好坏直接关系到LED显示屏的亮度、稳定度等重要指标。
本次设计中的LED的驱动是采用74LS245双向总线驱动器,其中排阻负责给信号线提供一个驱动电压,使之传输更稳定。
2.2.2.2LED阵列的数字显示屏电路原理图
图(4)AT89C51单片机LED数字显示屏电路原理图
2.2.2.38×8点阵LED
8×8点阵为单色共阳模块,单点的正向工作电压为(Vf)=1.8V,正向电流是(If)=8~10mA。
静态点亮器件时(64点全亮)的总电流是640mA,总电压是1.8V,总功率为1152mW。
动态时取决于扫描频率(1/8或1/16s),单点瞬间电流可达80~160mA。
点阵内部结构及外形如下,8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第9脚要接高电平,而(13、3、4、10、6、11、15、16)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接低电平,而(9、14、8、12、1、7、2、5)接高电平,那么第一列就会点亮。
1
控制第五行显示
接高
9
控制第一行显示
接高
2
控制第七行显示
接高
10
控制第四行显示
接低
3
控制第二行显示
接低
11
控制第六行显示
接低
4
控制第三行显示
接低
12
控制第四行显示
接高
5
控制第八行显示
接高
13
控制第一行显示
接低
6
控制第五行显示
接低
14
控制第二行显示
接高
7
控制第六行显示
接高
15
控制第七行显示
接低
8
控制第三行显示
接高
16
控制第八行显示
接低
表
(2)8×8点阵控制表
2.3程序代码设计
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodeTable_OF_Digits[]=
{
0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,//0
0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,//1
0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,//2
0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,//3
0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,//4
0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00,//5
0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00,//6
0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,//7
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,//8
0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00,//9
};
uchari=0,t=0,Num_Index=0;
voidmain()
{
P3=0x80;
Num_Index=0;
TMOD=0x00;//采用定时器0方式0
TH0=(8192-2000)/32;//2ms定时,实现每2ms显示一行
TL0=(8192-2000)%32;
TR0=1;//开启定时器0
IE=0x82;
while
(1);
}
//定时器T0中断子程序/2ms定时/实现每2ms显示一行
voidLED_Screen_Display()interrupt1
{
TH0=(8192-2000)/32;//恢复初值
TL0=(8192-2000)%32;
P3=_crol_(P3,1);
P0=~Table_OF_Digits[Num_Index*8+i];
if(++i==8)i=0;
if(++t==250)
{
t=0x00;
if(++Num_Index==10)Num_Index=0;//显示下一个数字
}
}
三、系统实现与测试
8×8点阵LED代码实现运行显示过程:
送显示代码到P2端口,同时置第一行线为“0”,其他行线为“1”,延时2mS左右,送第二列线代码到P2端口,同时置第二行线为“0”,其他行线为“1”,延时2mS左右,如此下去,直到送完最后一列代码,又从头开始送。
如图(5)所示,假设显示数字“0”
图(5)8×8点阵LED数字显示“0”
其显示代码为:
0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,只需将这些代码分别送到相应的列线上面,即实现“0”的数字显示。
如图(6)所示,假设显示数字“1”
图(6)8×8点阵LED数字显示“1”
其显示代码为:
0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,只需将这些代码分别送到相应的列线上面,即实现“1”的数字显示。
如图(7)所示,假设显示数字“2”
图(7)8×8点阵LED数字显示“2”
其显示代码为:
0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,只需将这些代码分别送到相应的列线上面,即实现“2”的数字显示。
如图(8)所示,假设显示数字“3”
图(8)8×8点阵LED数字显示“3”
其显示代码为:
0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,只需将这些代码分别送到相应的列线上面,即实现“3”的数字显示。
如图(9)所示,假设显示数字“4”
图(9)8×8点阵LED数字显示“4”
其显示代码为:
0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,只需将这些代码分别送到相应的列线上面,即实现“4”的数字显示。
如图(10)所示,假设显示数字“5”
图(10)8×8点阵LED数字显示“5”
其显示代码为:
0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00,只需将这些代码分别送到相应的列线上面,即实现“5”的数字显示。
如图(11)所示,假设显示数字“6”
图(11)8×8点阵LED数字显示“6”
其显示代码为:
0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00,只需将这些代码分别送到相应的列线上面,即实现“6”的数字显示。
如图(12)所示,假设显示数字“7”
图(12)8×8点阵LED数字显示“7”
其显示代码为:
0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,只需将这些代码分别送到相应的列线上面,即实现“7”的数字显示。
如图(13)所示,假设显示数字“8”
图(13)8×8点阵LED数字显示“8”
其显示代码为:
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,只需将这些代码分别送到相应的列线上面,即实现“8”的数字显示。
如图(14)所示,假设显示数字“9”
图(14)8×8点阵LED数字显示“9”
其显示代码为:
0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00,只需将这些代码分别送到相应的列线上面,即实现“9”的数字显示。
四、课程设计总结
通过本次的课程设计使我对单片机课本所学的知识掌握更加深刻,对各引脚的功能有了更深层次的理解,对单片机芯片不再那样盲目,对所学的理论知识和实际相结合的能力有了进一步的提高。
这个设计过程中,遇到过许多次失败的考验。
测试过程中代码编写就需要足够的耐心和细致,否则只要有一个字母错误就会导致整个程序的失败,很残酷的现实。
电路图也有类似之处,接线连线、器件数值大小,都需要仔细检查校验准确保证代码正确的实现运行。
最后,终于按要求把作品做出来了,对我们的实际动手能力却是很考验的,这也对我们今后的工作敲响了警钟:
要认真的看待每个需要处理的问题,不要认为事情过于简单,不能急于求成,但不要放弃。
要保持你的思路清醒。
参与这样的课程设计,能锻炼我们的动手能力和细心专注的耐力,为今后的工作和学习奠定基础。
五、参考文献
吴炳胜编著80C51单片机原理与应用技术冶金工业出版社
张义和陈敌北编著例说8051(第3版)人民出版社
王为青邱文勋编著51单片机应用开发案例精选人民邮电出版社
王守中聂元铭编著51单片机开发入门与经典实例(第2版)人民邮电出版社
谢嘉奎主编电子线路高等教育出版社
项目设计
评语
项目设计
成绩
指导教师
(签字)
年月日
注:
此表必须在同一页面。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LED 阵列 数字 显示屏 设计