基于51单片机的三层电梯系统设计资料.docx
- 文档编号:28946301
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:49
- 大小:1.10MB
基于51单片机的三层电梯系统设计资料.docx
《基于51单片机的三层电梯系统设计资料.docx》由会员分享,可在线阅读,更多相关《基于51单片机的三层电梯系统设计资料.docx(49页珍藏版)》请在冰豆网上搜索。
基于51单片机的三层电梯系统设计资料
基于51单片机的三层电梯系统设计
专业班级:
电子信息科学与技术1班
*****
指导教师:
金国华老师
信息科学技术学院
摘要
本文设计了一款基于单片机(AT89C51)的三层电梯的模拟控制系统。
以51单片机为核心,由7段显示数码管来作为电梯楼层和电梯上下行状态的显示部分,数码管显示“p”则说明电梯运行状态向上,显示“d”则说明电梯运行状态向下。
由按键来分别表示电梯内外的各个功能按钮。
本设计主要是利用了单片机:
灵活性大、通用性强以及易于实现复杂控制的特点,使系统在达到设计目的的同时显得结构简单,操作方便,容易理解。
文中首先是针对设计的目的选择出比较合适的设计方案,并且对AT89C51单片机和7段显示数码管进行了简要介绍,然后将本次设计的硬件电路分为单片机控制模块、显示模块、按键检测模块三个大的模块。
在进行了电路的连接之后,根据电路的连接就各个模块分别编写程序再由主程序统一衔接在一起。
通过调试运行,所设计的三层电梯系统基本满足设计要求。
关键词:
AT89C51单片机;电梯控制;数码显示
Abstract
Inthispaper,wedesignedathreeelevatoranalogcontrolsystemwhichisbasedonamicrocontroller(AT89C51).Themicrocontrollerasthecore,and7-segmentdigitaltubedisplayastheelevatorfloorandtheelevatorupanddownthelinestatusdisplaysection.Whentheelevatorrunningupthedigitaldisplay"p"andwhentheelevatorrunningdownthedigitaldisplay"d".Variousfunctionbuttonsinsideoroutsidetheelevatorarerepresentedbybuttons.
ThisdesignismainlytheuseofthecharacteristicsofSCM:
flexibility,versatilityandeasytoimplementcomplexcontrolfeatures.Sothatthesystemisnotonlydesignedtomeetthedesignrequirementsbutalsoseemsimplestructure,easytooperateandunderstand.Firstofall,wechoosetheappropriatedesignandthenabriefdescriptionofAT89C51microcontrollerand7-segmentdisplaydigitaltube.Theninthisdesignthehardwarecircuitisdividedintothreelargemodules:
single-chipcontrolmodule,displaymodule,keydetectionmodule.Accordingtotheconnectionofthecircuit,wewriteprogramsoneachmoduleseparatelyandthentogetherinunitybythemainprogram.Bycommissioning,thesystemisbasicallymeettherequirementofthedesign.
Keyword:
AT89C51Microcontroller;Elevatorcontrol;Digitaldisplay
基于单片机的三层电梯系统设计
第1章绪论
现代社会科学的飞速发展,给人类生活带来了极大的便利。
微型计算机的出现使计算机在逻辑处理和工业控制等方面的非凡能力得到了更好的体现。
尤其是其非凡的嵌入能力对于满足嵌入式应用需求具有独特的优势。
1.1课题的背景及意义
随着城市建设的不断发展,以及农村的城镇化,楼群建筑不断增多,电梯在当今社会的生活中有着广泛的应用。
电梯作为楼群建筑中垂直运行的交通工具已与人们的日常生活密不可分。
实际上电梯是根据外部呼叫信号(呼梯信号)以及自身控制规律等运行的,而呼叫是随机的,电梯实际上是一个人机交互式的控制系统,单纯用顺序控制或逻辑控制是不能满足控制要求的,因此,大部分电梯控制系统都采用随机逻辑方式控制[2]。
在目前广泛使用的电梯控制系统中,绝大多数为继电器控制型,所有的逻辑及控制关系完全由诸多继电器互相配合来完成,该控制系统的缺点是:
(1)随着楼层的增高,使用继电器的数量越来越多,造价和体积也越来越大;
(2)继电器这种触点式的电控元器件不宜长时间频繁工作,因而采用在电梯系统当中常发生触电表面烧结、控制失灵的故障[4]。
因此我们设计一个3层自动电梯模拟升降控制系统,通过乘客的自行按键达到升降功能。
以单片机为核心,再辅以适当的硬件电路和控制程序来检测和控制整个电梯的信号,具有成本低、通用性强、灵活性大、扩展容易及易于实现复杂控制等优点。
1.2设计的目的要求
在目前设计一个自动电梯模拟升降控制系统,通过乘客的自行按键达到电梯的升降功能。
结合硬件与软件对应。
P2口与键盘对应连接,数码管采用并行输入方式,键盘从低位到高位分别为一层按键,二层按键,三层按键,一层上升按键,二层上升按键,二层下降按键,三层下降按键.P1.0与数码管的时钟输入端相连,P1.1与数码管的串行口相连,用来显示电梯的上升下降和当前所在楼层,电梯门是否开启三种状态,p表示上升,d表示下降,1,2,3表示当前楼层,如果数码管闪烁,表示电梯门开启,反之则关断。
在电梯处于一楼的时候,先按3楼,再按2楼可以实现电梯先停到2楼再停到三楼的目的,这也是对中断优先级判断的实现。
1.3方案选择设计
硬件部分的设计主要分为三个部分:
按键模块、AT89C51单片机控制模块、显示模块[6]-[11]。
图1.1设计模块组成图
如图1.1,就是本次设计硬件部分的大概结构框图。
1.3.1按键模块方案选择
按键模块可以选择的有两种,一是独立按键,二是矩阵按键。
主要考虑到本次设计所需要的按键数目不多,所以考虑使用独立按键来组成按键模块。
1.3.2AT89C51单片机控制模块供电方案选择
供电方式有三种:
一是电池盒供电,二是USB供电,三是稳压电源供电。
由于USB供电和稳压电源携带都不是很方便,所以本次设计选择的供电方式是电池盒供电。
1.3.3显示模块方案选择
显示模块可以选择的方案有三种:
一是7段显示数码管、二是液晶显示、三是点阵显示。
7段显示数码管在显示数字上面方便快捷,程序编写上相对简单很多,并且在实验室容易得到。
液晶显示在对信息的显示上可以更全面,但程序编写上较为麻烦。
点阵显示,在显示数字以及上下行状态上都很方便,但在编写程序以及在实物制作上难度都较大。
综合上述考虑,最终决定由7段显示译码器来充当显示模块[7]。
三个模块组成的系统运行流程为,检测到的按键的信息和电梯所在楼层的信息送到单片机经过运算之后,将下达指令进行下一步,同时将有关信息送到数码显示部分将信息显示出来。
第2章
电子元件
本文中主要是以单片机为核心,配合以电梯内外按键模块,楼层显示及上下行数码显示模块来完成整个设计,所以接下来就硬件部分模块做一个简单的介绍。
2.1AT89C51单片机
微型计算机(Microcomputer)的出现是电子数字计算机广泛应用到人们日常生活与工作领域当中的重大转折点。
它已经深入到非微型计算机无法应用的领域,对社会产生了极大的影响。
单片机是微型计算机的一个重要的分支,它以其独特的机构和功能,越来越普遍地应用到了各个领域当中。
以下是AT89C51单片机的特点及其应用.
(1)单片机的特点
a抗干扰能力强,工作温度范围宽。
b高的可靠性。
c控制功能强,数值计算能力相对较差。
d指令系统比通用微机的指令系统简单具有许多面向控制的指令。
e具有很高的性价比。
(2)单片机的应用领域
a工业控制领域
b家用电器领域
c办公自动化领域
d商业营销领域
e智能仪器仪表领域
f其它领域;另外,在汽车与航空航天器电子系统中的自动驾驶系统、通信系统、飞行监视器(黑匣子)等,都采用了单片机控制系统[1]。
2.1.1AT89C51单片机硬件
单片机内部包含中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、FlashROM)、定时器/计数器以及各种输入/输出(I/O)接口。
其结构如图2.1所示。
图2.1单片机内部结构图
(1)中央处理器部分
单片机的核心部分就是中央处理器,它包括有运算器、控制器、程序计数器和指令寄存器等部件。
①运算器
运算器的主要功能是:
进行算术运算和逻辑运算。
能够对半字节、单字节等二进制数据进行算术逻辑运算,同时也可以按位进行逻辑运算,即处理位操作。
通过标志位C,可以实现置位、复位、转移、取反等操作。
②控制器
控制部件由时钟电路组成。
单片机内设有一个反向放大器构成的震荡电路,由此产生时钟,为单片机正常工作提供时钟信号。
③程序计数器
程序计数器主要是用来存放即将执行的程序的地址,长度为16位,可以对64KB的程序存储器进行访问。
④指令寄存器
指令寄存器用来存放指令代码,当CPU执行操作时,首先将程序存储器中的指令代码送到指令存器,然后通过译码产生出相对应的控制信号,从而完成相应的操作[3]。
(2)存储器
MCS-51单片机的存储器结构和常见的微型计算机的配置方式不同,其数据存储器和程序存储器是相互独立的,物理结构也不相同。
数据存储器由随机存取存储器(RAM)构成,而程序存储器由只读存储器(ROM)构成。
单片机的存储器的编址方式应用的是统一的编址方式。
①程序存储器
单片机中的程序存储器可以分为只读存储器、紫外线擦除电可编程只读存储器、闪速存储器三类。
程序存储器是用于存放程序代码的,是控制计算机动作的一系列命令,单片机只认识由“0”和“1”代码构成的机器指令。
如前述用助记符编写的命令MOVA,#20H,换成机器认识的代码74H、20H:
(写成二进制就是01110100B和00100000B)。
在单片机处理问题之前必须事先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中,该存储器称为程序存储器。
AT89C51单片机内部程序存储器的容量为4KB,外部可扩展64KB。
AT89C52单片机内部程序存储器容量为8KB,外部可扩展64KB。
②数据存储器
单片机中的数据存储器分为两个地址空间:
一个为内部数据存储器,访问时需要MOV指令;另一个为外部数据存储器,访问时需要MOVX指令。
AT89C51单片机内部数据存储器的容量为128B,外部可扩展64KB。
AT89C52单片机内部程序存储器容量为256B,外部可扩展64KB[3]。
(3)I/O接口
单片机的I/O接口分为四组:
P0、P1、P2、P3。
每组包含8位双向接口。
每个接口都可以单独的用作输入或者输出口。
①P0口
P0口有两种功能:
普通I/O口功能和地址数据复用接口功能。
当作为地址/数据复用接口时,低8位地址和数据分时复用P0口。
②P1口
P1口用作普通的I/O口,可以用作输出口也可以用作输入口。
③P2口
P2口可以作为输入或者输出端口,常与地址总线高8位相接,输出高8位地址。
④P3口
P3口为双功能口。
当用作第一功能时,与P1口功能相同;当用作第二功能时,每一位都有其特殊功能[3]。
定义见表2.1
表2.1P3口第二功能
(4)专用功能寄存器
单片机内部锁存器、定时器/计数器、各种控制寄存器、状态寄存器以及串行数据缓冲器都属于专用功能寄存器。
它们存在于单片机内部RAM中,地址范围是80H~FFH。
表2.2列出了各种专用功能器以及地址[3]。
表2.2专用功能器列表
其中,凡字节地址可以被8整除的专用功能寄存器都可以位寻址。
其位地址见表2.3
表2.3可位寻址的专用寄存器位地址
①程序状态字PSW
程序状态字包含了程序的状态信息,是一个8位的寄存器。
其各位含义如表2.4。
表2.4程序状态字
PSW位地址
D7H
D6H
D5H
D4H
D3H
D2H
D1H
D0H
含义
CY
AC
FO
RS1
RS0
OV
---
P
CY是进位标志位,在执行某些指令时,可以被硬件或者软件清零或置位。
AC是辅助进位标志,当执行某些操作时,低四位向高四位有进位或借位时,AC将被置位,否则清零。
FO标志,用户定义的一个状态标记。
RS1,RS0是寄存器区选择控制位。
用来选择工作寄存器区。
RS1,RS0与工作寄存器区对应关系见表2.5。
表2.5RS1,RS0与工作寄存器区对应关系
RS1
RS0
区域
0
0
区域0(00H~07H)
0
1
区域1(08H~0FH)
1
0
区域2(10H~17H)
1
1
区域3(18H~2FH)
OV溢出标志位,当进行算数运算时,由硬件置位或者清零,以表示是否溢出。
若用C’6表示D6位向D7位有进位或借位,用C’7表示D7向CY有进位后者借位,那么有:
OV=C’6
C’7
P为奇偶校验位。
每个机器周期都由硬件来置位或者清零,用来表示累加器ACC中1的个数。
②累加器ACC
累加器ACC是一个最常用的8位专用功能寄存器。
单片机执行指令时大部分操作都与累加器ACC有关。
指令系统中,常常用A作为累加器ACC的助记符。
③B寄存器
B寄存器常常用在乘法指令或者除法指令当中。
在乘法指令中,两个乘数分别来自A和B,结果存放在AB寄存器当中。
在除法指令中,被除数取自A,除数取自B,商存在A中,余数存在B中。
④堆栈指针SP
堆栈指针SP表示堆栈顶部在内部RAM中的位置。
是一个8位寄存器。
单片机复位后,SP初始化为07H。
⑤数据指针DPTR
DPTR是一个16位的专用功能寄存器。
用DPH表示高8位,DPL表示低8位。
因而它既可以作为一个16位寄存器使用,也可作为两个8位寄存器使用。
DPTR主要用来存放16位的地址数据,常用来访问外部存储器。
⑥串行数据缓冲器
串行数据缓冲器SBUF用来存放接受和发送的数据。
每个单片机有两个独立的SUBF,一个为接收缓冲器,另外一个为发送缓冲器。
其他专用功能寄存器在中断系统中介绍[3]。
(5)单片机引脚功能
单片机共有40个引脚。
其中I/O接口占32个,其余的为控制引脚和电源引脚。
单片机引脚示意如图2.2。
图2.2单片机引脚示意图
①电源引脚Vss和Vcc
Vss与地相接;Vcc与工作电压+5V相接。
②时钟电路引脚XTAL1和XTAL2
XTAL1为片内振荡电路输入端。
XTAL2为片内振荡电路的输出端。
单片机时钟电路可分为内部时钟和外部时钟。
对应电路如图2.3。
③RST/VPD引脚
复位控制输入端或者当单片机断电时,备用电源由此输入。
图2.3外部时钟和内部时钟电路
④ALE/!
PROG引脚
ALE地址锁存允许端;PROG编程脉冲输入端。
当P0口作为地址/数据复用口时,输出地址信号的同时,ALE引脚输出锁存信号。
将低8位地址暂时锁存。
对于可编程单片机,在对内部程序存储器编程期间,由PROG输入编程脉冲。
⑤!
PSEN引脚
片外程序存储器读选通接口。
当访问外部程序存储器时,此引脚输出有效电平。
⑥!
EA/Vpp引脚
片外程序存储器选通端/编程电压输入端。
当访问内部程序存储器时,~EA为高电平,当访问外部程序存储器时,~EA为低电平。
当对内部程序存储器编程时,此引脚需连接+21V的编程电压[3]。
2.1.2AT89C51单片机中断系统
中断系统是单片机中非常重要的组成部分,它是为了使单片机能够对外部或内部随机发生的事件实时处理而设置的。
中断功能的存在,在很大程度上提高了单片机实时处理能力,它也是单片机最重要的功能之一。
当CPU正在执行某些操作时,如果外界或内部发生了某些事件,需要CPU暂时停止当前的操作,而去执行这个紧急事件,待处理完紧急事件又返回原来被暂时停止操作的地方继续运行原来的操作,这样的过程成为中断。
向CPU申请中断的事件,称为中断源。
往往微型计算机存在多个中断源,而当多个中断源同时向CPU申请中断时,CPU便不知道应该响应那个中断源。
为此,人们规定的各种中断的优先级。
当多个中断源同时向CPU发出中断请求时,CPU按照一定的顺序做出中断响应。
当同时出现多个申请中断时,CPU将首先处理优先级别较高的中断请求,然后再处理优先级别较低的中断请求[8]。
图2.4为AT89C51单片机的中断系统。
图2.4单片机中断系统
当CPU正在处理某些中断请求时,如果出现了一个更高级优先级的中断请求,那么CPU将中断当前中断操作,进而去执行优先级更高的中断操作。
当优先级较高的中断响应完之后,再去执行刚才被暂停的中断。
这种高优先级中断源能中断低优先级中断源的中断过程,称为中断嵌套[8]。
AT89C51单片机内部有5个中断源,提供两种中断优先级。
并且,每一个中断源的优先级都可以由编程进行设定。
单片机内部设有中断允许寄存器IE,用来控制控制是否响应中断源的中断请求。
单片机中断源的优先级顺序可以由中断优先级寄存器IP设定。
表2.6为AT89C51的中断优先级。
中断源
同级内部优先级顺序
外部中断0
定时器0中断
外部中断1
定时器1中断
串行中断
最高级
↓
最低级
表2.6AT89C51的中断优先级
TCON为定时器/计数器0和1的控制寄存器,用来控制定时器/计数器的工作方式,同时也暂存T0或者T1的溢出中断申请标志以及外部中断请求标志。
TCON寄存器共8位,每位定义如图2.5。
图2.5TCON控制寄存器
SCON为串行通信中断控制寄存器。
共8位,其中低两位用来表示串行接口的中断标志。
如图2.6。
图2.6SCON
在单片机的中断系统中,设有IE中断允许寄存器。
共8位,用来控制是否响应中断。
各位定义如图2.7。
图2.7IE中断允许寄存器
IP为单片机内部的8位特殊功能寄存器,用来控制单片机的中断优先级。
因为单片机内部存在两个中断优先级,因而可以使用编程的方法设计中断优先级,来实现中断嵌套[8]。
IP各位功能见表2.7。
表2.7IP中断优先级控制寄存器
位
7
6
5
4
3
2
1
0
字节地址B8H
PS
PT1
PX1
PT0
PX0
PX0
外部中断0优先级设定位
PT0
定时/计数器T0优先级设定位
PX1
外部中断1优先级设定位
PT1
定时/计数器T1优先级设定位
PS
串行口优先级设定位
2.1.3AT89C51单片机定时器/计数器
定时/计数器是单片机系统一个重要的部件,其工作方式灵活、编程简单、使用方便,可用来实现定时控制、延时、频率测量、脉宽测量、信号发生、信号检测等。
此外,定时/计数器还可作为串行通信中波特率发生器。
定时器/计算器包含4个8位计数器。
其中TH1和TL1两个8位计数器组成T1计数器;TH0和TL0组成T0计数器。
基本结构如图2.8。
当作为定时器使用时,输入的时钟为单片机的晶体振荡器输出频率的12分频,即计算机的机器周期。
当对外部事件计数时,需接到外部输入引脚P3.4和P3.5。
外部事件发生时,产生电平变化,单片机采集到变化,就会自动加1计数。
电平变化是指引脚上的电平由高到低的变化。
AT89C51单片机中的定时器/计数器有四种工作方式。
需要TMOD和TCON两个特殊功能寄存器选择和控制。
其工作方式及控制由编程实现[8]。
图2.8定时器/计数器结构
(1)定时/计数器控制寄存器TCON见表2.8
表2.8定时器/计数器控制寄存器TCON
TCON
T1
中断标志
T1
运行标志
T0
中断标志
T0
运行标志
INT1
中断标志
INT1
触发方式
INT0
中断标志
INT0
触发方式
位名称
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
①TCON.7TF1:
定时器1溢出标志位。
当定时器1计满数产生溢出时,由硬件自动置TF1=1。
在中断允许时,向CPU发出定时器1的中断请求,进入中断服务程序后,由硬件自动清0。
在中断屏蔽时,TF1可作查询测试用,此时只能由软件清0。
②TCON.6TR1:
定时器1运行控制位。
由软件置1或清0来启动或关闭定时器1。
当GATE=1,且INT1为高电平时,TR1置1启动定时器1;当GATE=0时,TR1置1即可启动定时器1。
③TCON.5TF0:
定时器0溢出标志位。
其功能及操作情况同TF1。
④TCON.4TR0:
定时器0运行控制位。
其功能及操作情况同TR1。
⑤其他四个在中断说明。
(2)定时/计数器工作方式控制寄存器TMOD见表2.9
表2.9定时/计数器工作方式控制寄存器TMOD
高4位控制T1
低4位控制T0
门控位
计数/定时方式选择
工作方式选择
门控位
计数/定时方式选择
工作方式选择
G
C/T
M1
M0
G
C/T
M1
M0
①M1M0——工作方式选择位见表2.10
表2.10MIMO工作方式选择位
M1M0
工作方式
功能
00
方式0
13位计数器
01
方式1
16位计数器
10
方式2
两个8位计数器,初值自动装入
11
方式3
两个8位计数器,仅适用T0
②C/T——计数/定时方式选择位
C/T=1,计数工作方式,对外部事件脉冲计数,用作计数器。
C/T=0,定时工作方式,对片内机周脉冲计数,用作定时器。
③GATE——门控位
GATE=0,运行只受TCON中运行控制位TR0/TR1的控制。
GATE=1,运行同时受TR0/TR1和外中断输入信号的双重控制。
只有当
INT0/INT1=1且TR0/TR1=1,T0/T1才能运行。
TMOD字节地址89H,不能位操作,设置TMOD须用字节操作指令。
(3)定时/计数器工作方式
①工作方式0
13位计数器,由TL0低5位和TH0高8位组成,TL0低5位计数满时不向TL0第6位进位,而是向TH0进位,13位计满溢出,TF0置“1”。
最大计数值213=8192。
初值确定:
TH0=(8192-5000)/32;TL0=(8192-5000)%32;进行5ms的延时。
12M晶振
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 三层 电梯 系统 设计 资料