88LED点阵屏仿电梯数字滚动显示.docx

上传人:b****3 文档编号:3702105 上传时间:2022-11-24 格式:DOCX 页数:17 大小:1MB
下载 相关 举报
88LED点阵屏仿电梯数字滚动显示.docx_第1页
第1页 / 共17页
88LED点阵屏仿电梯数字滚动显示.docx_第2页
第2页 / 共17页
88LED点阵屏仿电梯数字滚动显示.docx_第3页
第3页 / 共17页
88LED点阵屏仿电梯数字滚动显示.docx_第4页
第4页 / 共17页
88LED点阵屏仿电梯数字滚动显示.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

88LED点阵屏仿电梯数字滚动显示.docx

《88LED点阵屏仿电梯数字滚动显示.docx》由会员分享,可在线阅读,更多相关《88LED点阵屏仿电梯数字滚动显示.docx(17页珍藏版)》请在冰豆网上搜索。

88LED点阵屏仿电梯数字滚动显示.docx

88LED点阵屏仿电梯数字滚动显示

8×8LED点阵屏仿电梯数字滚动显示

 

摘要:

伴随着我国现代化程度的提高,电梯成为高层建筑中的重要交通工具,它是高层建筑中安全、可靠、垂直上下的运载工具,对改善劳动条件、减轻劳动强度起到很大的作用。

同时也给人们的生活带来了便利,为我国现代化建设的加速发展提供了强大的保障。

电梯的应用范围很广,可用于宾馆、饭店、办公大楼、商场、娱乐场所,仓库以及居民住宅大楼等。

因此,在现代社会中电梯已成为人类必不可少的垂直运输交通工具。

利用单片机控制电梯有成本低,通用性强,灵活性大以及易于实现复杂控制等优点。

基于单片机的电梯智能控制系统的设计分别从系统要求、硬件设计、软件设计等几个部分设计,介绍了以AT89C51系列单片机为核心,并结合74LS245和LED等芯片以及与之相配套的汇编语言软件等进行电梯模拟的具体实现方法,该方法不仅可以实现电梯的基本功能,而且可以设置电梯直达、急停、停电检修等功能,从而可实现电梯的智能控制及相应的最佳路线选择,提高电梯的有效利用率。

关键词:

单片机;电梯;系统;控制

 

1.课题设计内容

本课题的主要任务是完成一个电梯系统的智能控制模块,即根据每个楼层不同顾客的按键要求,让电梯做出合理的判断,正确高效的指导电梯完成各项载客任务。

设计基于单片机的电梯智能控制系统的硬件电路与软件程序,给出硬件系统的电路原理图,对硬件电路与软件分别进行调试,得到调试成功的基于单片机的电梯智能控制系统。

根据此任务,本课题需要研究的内容有:

1、根据系统的技术要求,进行系统硬件的总体方案设计;

2、学习单片机的相关知识,并且加以运用;

3、选择适当的芯片,并对其内部协议有所掌握,便于应用。

4、研究单片机C语言编程,并且规定电梯的工作规则,用C语言加以实现;

5、对软件和硬件进行调试,让其协调工作,完成指定任务。

图2-1硬件结构框图

2.硬件电路中器件选择

A.AT89C51单片机

AT89C51是一个低电压,高性能CMOS8位单片机带有4K字节的可反复擦写的程序存储器(PENROM)。

和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。

片内含有8位中央处理器和闪烁存储单元,有较强的功能的AT89C51单片机能够被应用到控制领域中。

本设计采用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。

AT89C51是一个低电压,高性能CMOS8位单片机带有4K字节的可反复擦写的程序存储器(PENROM)。

它具有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].北京:

清华大学出版社,1998.

[9]苏凯,刘国庆,陈国平.MCS-51系列单片机系统原理与设计[J].北京:

冶金工业出版社,2003

[10]潘新民,王艳芳.微型计算机控制技术[J].北京:

电子工业出版社,2003.

[11]张毅坤,陈善久,裘雪红.单片微型机及应用[M].西安:

西安电子科技大学学出版大学出版社,1998.

[12]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品精选[M].北京:

北京理工大学出版社,2000.

[13]赵晶主.电路设计与制版Protel99高级应用[J].北京:

人民邮电出版社,2000.

[14]何希才.新型实用电子电路400列[M].北京:

电子工业出版社,2006.

附录

程序清单

#include//52系列单片机头文件

#include

#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;

}

TH0=-4000/256;

TL0=-4000%256;

P3=_crol_(P3,1);

i=Current_Level*8+r+offset;

P0=~Table_OF_Digits[i];

//上升显示

if(Current_Level

{

if(++r==8)

{

r=0;

if(++x==4)

{

x=0;

if(++offset==8)

{

offset=0;

Current_Level++;

}

}

}

}

//下降显示

else

if(Current_Level>Dest_Level)

{

if(++r==8)

{

r=0;

if(++x==4)

{

x=0;

if(--offset==-8)

{

offset=0;

Current_Level--;

}

}

}

}

//停止滚动,保持稳定的刷新显示

else

{

if(++r==8)r=0;

}

}

 

附录3:

基于单片机的电梯智能控制系统的元器件目录表

序号

型号(名称)

数量

作用

1

AT89C52

1

单片机

2

74LS245

1

锁存器

3

10kΩ排阻

1

上拉电阻

4

8*8LED点阵显示器

1

显示数字

5

按钮

6

复位按钮等

6

22pF瓷片电容

12

晶振电路用

7

10μF电解电容

26

上电复位

8

12MHz

13

晶振

忽略此处..

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1