ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:446.08KB ,
资源ID:7815581      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7815581.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电梯控制论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电梯控制论文.docx

1、电梯控制论文电梯控制论文 题 目:基于 AT89S52 单片机的模拟电梯设计 学 院:物理与电气工程学院 专 业:电子信息科学与技术 班 级:电信 1001班 小组成员:张小勇 董瑶 胡欢 马蕊 曹龙梅 完成日期:2012/11/26 摘要 单片机即单片微型计算机(Single-Chip Microcomputer),是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。其中 52单片机是各种单片机中最为典型和最有代表性的一种,广泛应用于各个领域.电梯是集机械原理应用、电气控制技术、微处理器技术、系统工程学等多学科和技术分支于一体的机电设备,它是建筑中的永久垂直交通工具。本设计是使

2、用 AT89S52 加外围器件作控制单元,用数码管显示,制作的经济实惠的电梯模拟系统。其设计了一个八层电梯系统,使用单片机 C语言进行编程,实现运送乘客到任意楼层,并且显示电梯的楼层和上下行。利用单片机控制电梯有成本低,通用性强,灵活性大及易于实现复杂控制等优点。关键词:AT89S52单片机 模拟电梯 数码管 目录 一、设计任务 4 1.1设计内容与要求 4 二、硬件系统实现 5 2.1 AT89S52 芯片简介 5 2.2功能模块图 10 2.3显示模块 11 2.4复位开关模块 12 2.5 振荡电路模块 13 2.6程序下载模块 14 2.7设计电路及连线 14 三、软件设计 15 3.

3、1 软件功能描述 15 3.2 流程图设计 15 3.3 单片机 C语言程序 16 四、系统的调试 44 4.1 硬件的调试 44 4.2 软件的调试 44 五、设计心得 45 六、参考文献 46 一设计任务 随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。电梯是高层宾馆、商店、住宅、多层仓库等高层建筑不可缺少的垂直方向的交通运输工具。1889年美国奥梯斯升降机公司推出的世界上第一部以电动机为动力的升降机,同年在纽约市马累特大厦安装成功。随着建筑物规模越来越大,楼层也越来越高,对电梯的调速精度、调速范围等静态和动态特性都提出了更高的要求。由于传统的电梯运行逻辑控制系统采用的是继电器逻

4、辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。电梯控制系统是比较复杂的一个大型系统,在计算机诞生的几十年里,继电器控制系统为电梯控制的发展做了巨大的贡献,但在性能上和单片机控制还是有本质上的差距。在科技的不断发展下,单片机控制系统很快可以解决抗扰性,成为方便有效的电梯控制系统。此单片机模拟电梯用绿色发光二极管组成的箭头来指示电梯当前是处于上升状态还是下降状态,用数码管显示当前是处于哪一层,用按键对应的二极管指示电梯走到哪一层会停.电源接通后,若没有人按下停止按键,它就以每层 2秒的速度一直上下运行,若有人按下某一层的停止按键,它就会在相应的那一层停止 4

5、秒钟,并伴有开门和关门的声音提示。二 硬件系统实现 2.1.AT89S52 芯片 AT89S52低功耗高性能 CMOS 8 位单片机,片内 8k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 FLASH只读程序存储器,器件采用 ATMEL公司之高密度、非易失性存储技术制造,兼容标准 C51指令系统及 80C51引脚结构,片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。单芯片上,拥有 8 位CPU及在系统可编程 FLASH,使 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效之解决方案。图 2.1 AT89S52管脚图

6、:AT89S52之特点:40个引脚,8k Bytes Flash 片内程序存储器,256 bytes 的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级 2层中断嵌套中断,2个 16 位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。AT89S52功能:8k字节 FLASH,256字节 RAM,32 位 I/O口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一 6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。AT89S52 可降至 0Hz静态逻辑操作,支持 2种软件可选节电模式。空闲模式下,CPU 停止工

7、作,允许 RAM、定时器/计数器、串口、中断继续工作。P0口8位漏极开路之双向 I/O口。作为输出口,每位能驱动 8 个 TTL逻辑电平。对 P0端口写“1”时,引脚用作高阻抗输入。访问外部程序和数据存储器时,P0口亦被作为低 8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。在 FLASH编程时,P0口亦用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需外部上拉电阻。P1口有内部上拉电阻的 8位双向 I/O 口,p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可作输入口用。作为输入使用时,被外部拉低的引脚由于内部电阻的

8、原因,将输出电流(IIL)。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可作输入口用。作输入用时,被外部拉低的引脚因内部电阻,将输出电流(IIL)。此外,P1.0及 P1.2 分别作定时器/计数器 2之外部计数输入(P1.0/T2)及时器/计数器 2之触发输入(P1.1/T2EX),详见表 1所示。在flash 编程及校验时,P1 口接收低 8 位地址字节。表 2.1.1 引脚号 第二功能 P1.0 T2(定时器/计数器 T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器 T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统

9、编程用)P1.7 SCK(在系统编程用)P2口有内部上拉电阻的 8 位双向 I/O口,P2输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可作输入口。作输入用时,被外部拉低的引脚因内部电阻,将输出电流(IIL)。在访问外部程序存储器或用16 位地址读取外部数据存储器,P2 口送出高八位地址。在这种应用中,P2口用很强的内部上拉发送 1。在用 8位地址访问外部数据存储器时,P2 口输出 P2锁存器之内容。在 FLASH 编程及校验时,P2口亦接收高 8位地址字节及一些控制信号。P3口有内部上拉电阻的 8位双向 I/O口,p3输出缓冲器能驱动 4个

10、 TTL 逻辑电平。对 P3端口写“1”时,内部上拉电阻把端口拉高,此时可用作输入口。作输入用时,被外部拉低的引脚因内部电阻之原因,将输出电流(IIL)。P3口亦作为 AT89S52特殊功能(第二功能)用,如表 2 所示。在 FLASH编程及校验时,P3口亦接收些控制信号。此外,P3口亦接收些用于 FLASH 闪存编程及程序校验的控制信号。表 2.1.2 端口引脚 第二功能 P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断 0)P3.3 INT1(外中断 1)P3.4 TO(定时/计数器 0)P3.5 T1(定时/计数器 1)P3.6 WR(外部数据存储器

11、写选通)P3.7 RD(外部数据存储器读选通)RST复位输入。振荡器工作时,RST引脚有两个机器周期以上高电平将是单片机复位。ALE/PROG访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8位字节。一般,ALE仍以时钟振荡频率的 1/6 输出固定之脉冲信号,故它可对外输出时钟或用于定时目的。需注意:每当访问外部数据存储器时将跳过一个 ALE脉冲。对 FLASH存储器编程期间,该引脚亦用于输入编程脉冲(PROG)。若必要,可通过对特殊功能寄存器(SFR)区中的 8EH单元的 D0位置位,可禁止 ALE操作。该位置位后,只有一条 MOVX及 MOVC 指令方能将

12、 ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器之读选通信号,AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN信号。EA/VPP外部访问允许,要 CPU仅访问外部程序存储器(地址为 0000H-FFFFH),EA端须保持低电平(接地)。需注意:若加密位 LB1 被编程,复位时内部会锁存 EA 端状态。若 EA端为高电平(接 Vcc端),CPU则执行内部程序存储器之指令。FLASH存储器编程时,该引脚加上

13、+12V的编程允许电源 Vpp,当然这须是该器件是使用 12V编程电压 Vpp。XTAL1振荡器反相放大器及内部时钟发生电路之输入端。XTAL2振荡器反相放大器之输出端。单片机最小系统 1、单片机电源:AT89S51 单片机的工作电压范围:4.0V5.5V,所以通常给单片机外接 5V直流电源。连接方式为 VCC(40 脚):接电源+5V端 VSS(20 脚):接电源地端 2、时钟电路:单片机工作的时间基准,决定单片机工作速度。时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。AT89S51 单片机时钟频率范围:0 33MHz。3、复位电路:确定单片机工作的起始状态

14、,完成单片机的启动过程。单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作状态。手动按键产生复位信号,完成单片机启动,确定单片机的初始状态。通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机“重启”。2.2.功能模块图 在本设计中需用到 AT89S52芯片,1个数码管,一个蜂鸣器,复位电路,9个按键,24个发光二极管。图 2.2功能模块 2.3 显示模块 显示电路采用了 1个 LED数码管,单片机 I/O的应用最典型的是通过 I/O口与 7段LED数码管构成显示电路。7 段 LED数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它

15、们的电极,点亮相应的点划来显示出 0-9 的数字。LED数码管根据 LED的接法不同分为共阴和共阳两类,了解 LED的这些特性,对编程是很重要的。因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。将多只 LED 的阴极连在一起即为共阴式,而将多只 LED 的阳极连在一起即为共阳式,LED的电流通常较小,一般均需在回路中接上限流电阻。假如我们将b和c段接上正电源,其它端接地或悬空,那么b和c段发光,此时,数码管显示将显示数字“1”。而将a、b、d、e和g段都接上正电源,其它引脚悬空,此时数码管将显示“2”。图 2.3 LED 数码管 图 2.4 复位开关 2.4 复位开关模块

16、 AT80S52单片机的复位是靠外部电路实现的。AT80S52单片机工作之后,只要在它的 RST 引线上加载 10ms 以上的高电平,单片机就能有效地复位。AT80S52 单片机通常采用上电自动复位和按键复位两种方式。最简单的复位电路如上图。2.5 振荡器电路模块 AT80S52单片机内部的振荡电路是一个增益反相放大器,引线 XTAL1 和 XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。单片机内部虽然有振荡电路,但要形成时钟,外部还需要附加电路。石英晶体振荡和陶瓷振荡均可采用。输入至内部时钟信号要通过一个二分频触发器,因此

17、对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。52单片机的时钟产生方式有两种,分别为:内部时钟方式和外部时钟方式。利用其内部的振荡电路 XTAL1 和 XTAL2 引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到 XTAL2 输出的时钟信号。在 AT80S52单片机一般常用内部时钟方式,也就是在 XTAL1 和 XTAL2 之间连接晶体振荡器与电容构成稳定的自激振荡器,晶体和电容决定了单片机的工作时间精度为 1微秒。2.6程序下载模块 该模块完成的功能是把源程序代码下载到 AT89S52 芯片中,它需要和微机上的ISP 下载器软件配合使用来完成这样的功能

18、。ISP 为在线编程接口,J2 为标准 10P JTAG下载接口。ISP 在线编程接口为AT89S52 单片机提供了方便的在线编程方法。使用时将 ISP下载线一端与 PC 并口相连接,一端与 ISP接口相连,使用 ISP 下载软件即可实现 MCU在线编程。2.7 设计电路及连线 三软件设计 3.1 软件功能描述 此单片机模拟电梯用绿色发光二极管组成的箭头来指示电梯当前是处于上升状态还是下降状态,用数码管显示当前是处于哪一层,用按键配合二极管指示电梯走到哪一层会停.电源接通后,若没有人按下停止按键,它就以每层 2秒的速度一直上下运行,若有人按下某一层的停止按键,它就会在相应的那一层停止 4秒钟,

19、并伴有开门和关门的声音提示。3.2 流程图设计 3.3 单片机 C语言程序 模拟电梯程序#include#include int p1_temp=0;int p2_temp=0;int tcount=0;int ceng_shu=0;int shang_xia_state=0;int open_one_door_up=0;int up_time_1to2=0;int open_two_door_up=0;int up_time_2to3=0;int open_three_door_up=0;int up_time_3to4=0;int open_four_door_up=0;int up_ti

20、me_4to5=0;int open_five_door_up=0;int up_time_5to6=0;int open_six_door_up=0;int up_time_6to7=0;int open_seven_door_up=0;int up_time_7to8=0;int open_eight_door_up=0;int down_falg_seven=0;int down_time_8to7=0;int open_seven_door_down=0;int down_time_7to6=0;int open_six_door_down=0;int down_falg_six=0;

21、int down_time_6to5=0;int down_falg_five=0;int open_five_door_down=0;int down_falg_four=0;int open_four_door_down=0;int down_falg_three=0;int down_falg_two=0;int open_two_door_down=0;int down_time_1to0=0;int down_time_3to2=0;int down_time_5to4=0;int open_three_door_down=0;int up_time_8to9=0;int down_

22、time_2to1=0;sbit led0=P20;sbit led1=P21;sbit led2=P22;sbit led3=P23;sbit led4=P24;sbit led5=P25;sbit led6=P26;sbit led7=P27;sbit beep=P34;void initial(void)TMOD=0X01;TH0=0X3C;TL0=0XB0;IE=0X82;TR0=1;tcount=4;shang_xia_state=0;P0=0X06;P3=0 xf8;void delay(int x,int y)int m,n,i,j;m=x;n=y;for(i=0;i+;i=m)

23、for(j=0;j+;jn)_nop_();void main_loop(void)if(P1!=0XFF)delay(100,50);if(P1!=0 xff)p1_temp=P1;switch(p1_temp)case 0 xfe:led0=0;break;case 0 xfd:led1=0;break;case 0 xfb:led2=0;break;case 0 xf7:led3=0;break;case 0 xef:led4=0;break;case 0 xdf:led5=0;break;case 0 xbf:led6=0;break;case 0 x7f:led7=0;break;d

24、efault:break;void timer0(void)interrupt 1 using 3/void timer0_int()/;interrupt 2 TH0=0X3C;TL0=0XB0;TR0=0;tcount+;if(tcount=5)/每 50ms*5=250ms 检测一次电梯的 位置和 状态 tcount=0;if(shang_xia_state=0)/上升 P3=0XF8;if(ceng_shu=0)P0=0 x06;p2_temp=P2;if(p2_temp&0 x01)=0)open_one_door_up+;if(open_one_door_up=1)beep=0;i

25、f(open_one_door_up=2)beep=1;if(open_one_door_up=16)beep=0;if(open_one_door_up=17)beep=1;open_one_door_up=0;led0=1;else up_time_1to2+;if(up_time_1to2=9)up_time_1to2=0;ceng_shu+;else if(ceng_shu=1)P0=0 x5b;p2_temp=P2;if(p2_temp&0 x02)=0)open_two_door_up+;if(open_two_door_up=1)beep=0;if(open_two_door_u

26、p=2)beep=1;if(open_two_door_up=16)beep=0;if(open_two_door_up=17)beep=1;open_two_door_up=0;led1=1;else up_time_2to3+;if(up_time_2to3=9)up_time_2to3=0;ceng_shu+;else if(ceng_shu=2)P0=0 x4f;p2_temp=P2;if(p2_temp&0 x04)=0)open_three_door_up+;if(open_three_door_up=1)beep=0;if(open_three_door_up=2)beep=1;

27、if(open_three_door_up=16)beep=0;if(open_three_door_up=17)beep=1;open_three_door_up=0;led2=1;else up_time_3to4+;if(up_time_3to4=9)up_time_3to4=0;ceng_shu+;else if(ceng_shu=3)P0=0 x66;p2_temp=P2;if(p2_temp&0 x08)=0)open_four_door_up+;if(open_four_door_up=1)beep=0;if(open_four_door_up=2)beep=1;if(open_

28、four_door_up=16)beep=0;if(open_four_door_up=17)beep=1;open_four_door_up=0;led3=1;else up_time_4to5+;if(up_time_4to5=9)up_time_4to5=0;ceng_shu+;else if(ceng_shu=4)P0=0 x6d;p2_temp=P2;if(p2_temp&0 x10)=0)open_five_door_up+;if(open_five_door_up=1)beep=0;if(open_five_door_up=2)beep=1;if(open_five_door_u

29、p=16)beep=0;if(open_five_door_up=17)beep=1;open_five_door_up=0;led4=1;else up_time_5to6+;if(up_time_5to6=9)up_time_5to6=0;ceng_shu+;else if(ceng_shu=5)P0=0 x7d;p2_temp=P2;if(p2_temp&0 x20)=0)open_six_door_up+;if(open_six_door_up=1)beep=0;if(open_six_door_up=2)beep=1;if(open_six_door_up=16)beep=0;if(

30、open_six_door_up=17)beep=1;open_six_door_up=0;led5=1;else up_time_6to7+;if(up_time_6to7=9)up_time_6to7=0;ceng_shu+;else if(ceng_shu=6)P0=0 x07;p2_temp=P2;if(p2_temp&0 x40)=0)open_seven_door_up+;if(open_seven_door_up=1)beep=0;if(open_seven_door_up=2)beep=1;if(open_seven_door_up=16)beep=0;if(open_seve

31、n_door_up=17)beep=1;open_seven_door_up=0;led6=1;else up_time_7to8+;if(up_time_7to8=9)up_time_7to8=0;ceng_shu+;else if(ceng_shu=7)P0=0 x7f;p2_temp=P2;if(p2_temp&0 x80)=0)open_eight_door_up+;if(open_eight_door_up=1)beep=0;if(open_eight_door_up=2)beep=1;if(open_eight_door_up=16)beep=0;if(open_eight_doo

32、r_up=17)beep=1;open_eight_door_up=0;led7=1;else up_time_8to9+;if(up_time_8to9=9)up_time_8to9=0;/ceng_shu+;shang_xia_state=1;else/下降 /1 P3=0X75;if(ceng_shu=7)/2 /open_eight_door_down if(down_falg_seven=0)/3 P0=0 x07;down_time_8to7+;if(down_time_8to7=9)down_time_8to7=0;p2_temp=P2;down_falg_seven=1;/3

33、else /4 p2_temp=P2;if(p2_temp&0 x40)=0)/5 down_falg_seven=1;open_seven_door_down+;if(open_seven_door_down=1)beep=0;if(open_seven_door_down=2)beep=1;if(open_seven_door_down=16)beep=0;if(open_seven_door_down=17)/6 open_seven_door_down=0;down_falg_seven=0;led6=1;beep=1;/6 /5 else /7 ceng_shu-;down_falg_seven=0;/7 /4 /2 else if(ceng_shu=6)/2 /open_eight_door_down if(down_falg_six=0)/3 P0=0 x7d;down_ti

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

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