88LED点阵屏仿电梯数字滚动显示Word下载.docx
《88LED点阵屏仿电梯数字滚动显示Word下载.docx》由会员分享,可在线阅读,更多相关《88LED点阵屏仿电梯数字滚动显示Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
本设计采用AT89C51,它提供以下的功能标准:
4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。
另外,AT89C51还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式。
闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。
掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位。
引脚图如图2-7所示。
2-7AT89C51引脚
VCC:
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路双向I/O口,即地址/数据总线复用口。
作为输出口时,每一个管脚都能够驱动8个TTL电路。
当“1”被写入P0口时,每个管脚都能够作为高阻抗输入端。
P0口还能够在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。
P0口在闪烁编程时,P0口接收指令,在程序校验时,输出指令,需要接电阻。
P1口:
P1口一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路。
对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。
因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。
闪烁编程时和程序校验时,P1口接收低8位地址。
P2口:
P2口是一个内部带有上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL电路。
对端口写“1”,通过内部的电阻把端口拉到高电平,此时,可作为输入口。
因为内部有电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器时,P2口线上的内容在整个运行期间不变。
闪烁编程或校验时,P2口接收高位地址和其它控制信号。
P3口:
P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路。
对P3口写如“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流。
P3口除了作为一般的I/O口外,更重要的用途是它的第二功能,如下表所示:
端口引脚
第二功能
P3.0
RXD
P3.1
TXD
P3.2
INT0
P3.3
INT1
P3.4
T0
P3.5
T1
P3.6
WR
P3.7
RD
表2-1
P3口还接收一些用于闪烁存储器编程和程序校验的控制信号。
RST:
复位输入。
当震荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位。
ALE/:
当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲时,闪烁存储器编程时,这个引脚还用于输入编程脉冲。
如果必要,可对特殊寄存器区中的8EH单元的D0位置禁止ALE操作。
这个位置后只有一条MOVX和MOVC指令ALE才会被应用。
此外,这个引脚会微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:
程序储存允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器读取指令时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器时,这两次有效的PSEN信号不出现。
EA/VPP:
外部访问允许。
欲使中央处理器仅访问外部程序存储器,EA端必须保持低电平。
需要注意的是:
如果加密位LBI被编程,复位时内部会锁存EA端状态。
如EA端为高电平,CPU则执行内部程序存储器中的指令。
闪烁存储器编程时,该引脚加上+12V的编程允许电压VPP,当然这必须是该器件是使用12V编程电压VPP。
XTAL1:
片内振荡器反相放大器和时钟发生线路的输入端。
使用片内振荡器时,连接外部石英晶体和微调电容。
XTAL2:
片内振荡器反相放大器的输出端。
当使用片内振荡器时,外接石英晶体和微调电容。
B.74LS245
图2-8 74LS245
74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路相同三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0口最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;
(接收)
DIR=“1”,信号由A向B传输;
(发送)当CE为高电平时,A、B均为高组态。
由于P2口始终输出地址的高8位,接口时74LS245d三态控制端1G和2G接地,P2口与驱动器输入线对应相连。
P0口与74LS245输入端相连,E端接地,保证数据线畅通。
8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其他时间处于输出(P01→D1)。
C.LED点阵
图2-9LED点阵外观
显示屏是由发光二极管行列组成的LED点阵模块组成显示屏体。
本设计中选择8*8的点阵是由64个发光二极管按规律组成的。
如图2-10。
图2-10LED点阵内部结构
如图2-8所示的发光二极管,行接高电平,列接低电平,发光二极管导通发光。
8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。
3.硬件设计
基于单片机智能控制系统的设计系统电路原理图如下2-2所示。
系统由控制模块,LED显示模块,电源模块三部分组成。
图2-28×
8LED点阵屏仿电梯数字滚动显示原理图
3.1控制模块
图2-3控制模块原理图
控制模块原理图如图2-3所示。
主控制器采用AT89C51。
它具有4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。
在本设计中,P1口用于对电梯按钮的控制,连接输入设备。
P3口用于对LED点阵显示器的控制。
P0口用于连接锁存器74LS245,以保护单片机的输出端口。
3.2按键模块
图2-4按键模块原理图
乘客可由按键控制电梯上升下降,按下对应楼层按键,点阵屏数字将从当前位置向下或向上平滑滚动显示到指定楼层位置。
3.3LED显示模块
图2-5LED输出显示模块
LED输出显示模块如图2-5所示,采用LED点阵显示器,其中点阵列接单片机P3口,行接锁存器74LS245。
在单片机的输出口接驱动电路74LS245,以保护单片机的输出端口。
3.4电源电路
电源电路如图2-6所示。
整个系统采用的电源电压只需+5V电压,将交流电经变压器变换为12V交流电,再用整流桥得到8.5V左右的直流电,采用不可调的3端稳压器件LM7805将电源稳定在5V直流输出。
图2-6电源电路
4.软件设计
图3-1电梯智能控制功能实现流程图
4.1主程序模块
系统主程序主要用于变量及其他部件的初始化,如定时器T0的初始化,以便能够准确的进行相应的操作。
同时进行相应的功能键判断,从而实现特殊功能。
其相应的流程图如下:
3-2主程序流程图
4.2判断子程序
系统判断子程序的相应流程图如3-2图所示。
在相应的中断子程序中,需要进行相应楼层的逻辑判断,尤其是两个楼层申请的时候,一般都需要根据现在的楼层状态以及相应的升降标志位进行相应的处理,例如在上升状态时,若第二个楼层的申请较第一个申请离现在的楼层状态更近,则应先响应第二个申请的响应,然后再对第一个申请进行响应;
若有楼层申请在当前楼层的下面,也应根据升降的标志位进行判断,如果是上升状态,应先响应上面的楼层,然后再响应其他的申请。
当然,如果处于下降状态,则以相反的顺序进行响应。
这里只是两个楼层申请时的讨论。
当有更多楼层响应时,还需进一步进行逻辑的思考与判断。
图3-3判断子程序流程图
5.结束语
本文设计了实现单片机控制下电梯智能控制系统的设计方案。
由于条件的限制,没有做成真正的电梯。
但做成的电梯智能控制系统的硬件电路已能演示。
可以按照乘客的要求,将乘客送到要去的目的层。
但是,电梯还有很多的扩展的空间并未实现,比如电梯自动语音报站系统的设计,楼层监控系统,节能设计以及其它更多的服务。
通过本次设计,本人的知识领域得到进一步扩展,专业技能得到进一步提高,同时提高了分析和解决实际问题的综合能力。
另外,也培养了自己严肃认真的科学态度和严谨求实的作风。
由于本人水平有限,本次设计还存在一些不足之处,请评阅与答辩的各位老师批评指正。
参考文献
[1]何立民.单片机应用技术选编[M].北京:
北京航空航天大学出版社,1999.
[2]陈小忠.单片机接口技术使用子程序[M].北京:
人民邮电出版社,2005.
[3]丁元杰,吴大伟.单片机微机实题集与实验指导书[M].北京:
机械工业出版社,2004.
[4]51单片机C语言教程[M].北京:
电子工业出版社,2009.
[5]黄宏安,AllegroPCBLayout.高速电路版设计[M].台科大图书股份有限公司,2003.
[6]于海生.微型计算机控制技术[M].北京:
清华大学出版社,1998.
[7]李广弟.单片机基础[M].第3版,北京:
国防工业出版社,2001.
[8]谢剑英,贾青.微型计算机控制技术[M].北京:
[9]苏凯,刘国庆,陈国平.MCS-51系列单片机系统原理与设计[J].北京:
冶金工业出版社,2003
[10]潘新民,王艳芳.微型计算机控制技术[J].北京:
电子工业出版社,2003.
[11]张毅坤,陈善久,裘雪红.单片微型机及应用[M].西安:
西安电子科技大学学出版大学出版社,1998.
[12]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品精选[M].北京:
北京理工大学出版社,2000.
[13]赵晶主.电路设计与制版Protel99高级应用[J].北京:
人民邮电出版社,2000.
[14]何希才.新型实用电子电路400列[M].北京:
电子工业出版社,2006.
附录
程序清单
#include<
reg51.h>
//52系列单片机头文件
intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
ucharcodeTable_OF_Digits[]=
{
0x00,0x3C,0x66,0x42,0x42,0x66,0x3C,0x00,//0
0x00,0x08,0x38,0x08,0x08,0x08,0x3E,0x00,//1
0x00,0x3C,0x04,0x04,0x3C,0x20,0x3C,0x00,//2
0x00,0x3C,0x04,0x3C,0x04,0x04,0x3C,0x00,//3
0x00,0x20,0x28,0x28,0x3C,0x08,0x08,0x00,//4
0x00,0x3C,0x20,0x20,0x3C,0x04,0x3C,0x00,//5
0x00,0x20,0x20,0x20,0x3C,0x24,0x3C,0x00,//6
0x00,0x3C,0x04,0x04,0x04,0x04,0x04,0x00//7
};
uintr=0;
charoffset=0;
ucharCurrent_Level=1,Dest_Level=1,x=0,t=0;
//------------------------------------------
//主程序
voidmain()
P3=0x80;
Current_Level=1;
Dest_Level=1;
TMOD=0x01;
TH0=-4000/256;
TL0=-4000%256;
TR0=1;
IE=0x82;
while
(1);
}
//------------------------------
//TO中断
//-------------------------------
voidLED_Screen_Display()interrupt1
uchari;
if(P1!
=0xFF&
&
Current_Level==Dest_Level)
if(P1==0xFE)Dest_Level=5;
if(P1==0xFD)Dest_Level=4;
if(P1==0xFB)Dest_Level=3;
if(P1==0xF7)Dest_Level=2;
if(P1==0xEF)Dest_Level=1;
P3=_crol_(P3,1);
i=Current_Level*8+r+offset;
P0=~Table_OF_Digits[i];
//上升显示
if(Current_Level<
Dest_Level)
{
if(++r==8)
r=0;
if(++x==4)
x=0;
if(++offset==8)
offset=0;
Current_Level++;
}
//下降显示
else
if(Current_Level>
{
if(--offset==-8)
Current_Level--;
//停止滚动,保持稳定的刷新显示
if(++r==8)r=0;
附录3:
基于单片机的电梯智能控制系统的元器件目录表
序号
型号(名称)
数量
作用
1
AT89C52
单片机
2
74LS245
锁存器
3
10kΩ排阻
上拉电阻
4
8*8LED点阵显示器
显示数字
5
按钮
6
复位按钮等
22pF瓷片电容
12
晶振电路用
7
10μF电解电容
26
上电复位
8
12MHz
13
晶振
忽略此处..