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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

简易电梯控制器设计Word下载.docx

1、2)电梯上下运行时有指示灯显示不同楼层;3)电梯上下运行时LED灯显示楼层等待时间;4)实物运行成功。作品完成情况:实物制作完成验收情况: 验收教师签名:_ 年 月 日注:1. 除“验收情况”栏外,其余各栏均由学生在作品验收前填写。2. “验收情况”栏由验收小组按实际验收的情况如实填写。目 录1 摘要.12 设计内容及步骤 . . . 1 2.1 方案设计思路 .22.2 硬件电路设计.3 2.2.1 设计原理. . . . . . . . . .3 2.2.2 主控制器选择4 2.2.3 单元电路选择. . . . . . . . . . . . . . . 53 软件设计 . .73.1

2、软件设计思路 .83.2 软件设计流程图 .94 安装与调试 114.1 硬件的安装与调试124.2 软件的调试.125 总结与体会 . . . . . . . 13参考文献 . .14附录一 电路原理图.14附录二 PCB版图.15附录三 控制系统源程序.151 摘要本项目设计一种STC89C52单片机控制的简易电梯,具有如下要求:设计10层电梯,当按下需要到达的层次后,如果电梯向上运行,每上升一层,LED灯就被点亮,3秒是一层的时间。当有人按下未到达楼层的开关时,电梯到达那一层时,停留5秒,然后继续上升到最终的楼层。向下运行同理。2 设计内容及步骤2.1 方案设计思路在无人按下开关或有人按

3、下开关时电梯能够分别停留不同的时间,以便电梯的正常运行。电梯在正常情况下,在led显示器上显示电梯到相应楼层值。从一楼开始向上运行,若有人按下开关,则电梯将在此层停留5秒,以便乘客能够安全地进出电梯,若无人在电梯即将到达的一层按下开关,则电梯将继续向上运行,每一层电梯运行的时间为3秒,直到十楼。然后又从十楼开始向下运行,停驶情况和向上运行时一样。P2口接10个开关(k1-k10),分别代表十层楼的呼叫按钮。P1口和P3.6、P3.7口分别接十个led指示灯,依次代表从第一层到第十层,当led显示灯亮时表示电梯到达的层次。系统总体框图1如下:图1 系统总体框图2.2 硬件电路设计2.2.1 设计

4、原理 本系统实现了用键盘中断、控制按钮、数码管和 LED 计数器控制电梯上升停止时间,模拟电梯工作过程。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、LED指示灯显示部分、复位部分、晶振部分、数码管显示部分组成,软件部分对应的由主程序、初始化程序、数码管显示程序、键盘扫描程序、启动程序、关闭程序、EEPROM读写程序和延时程序等组成。2.2.2 主控制器选择基于AT89S52的高性价比、I/O口的数目以及其编程的方便性,故此次电梯系统系统主控模块选用AT89S52,经过实践发现此设计是合理的。主控制器原理图2所示:图2 电梯系统主控制器原理图2.2.3

5、单元电路选择(1) 电源部分电梯主控制部分电源需要用5V直流电源供电,本设计直接留出电源端提供外置电源输入接口,可以使用外置5V稳压直流电源供电,亦可以使用电脑USB接口供电。电源原理图(2) 数码管显示及按键电路本设计的显示部分由四位数码管来完成。只有接通电源后,数码管才处于开启状态,初始状态显示为“010”。当系统正常运行后数码管动态变化显示,第四位数码管显示倒数时间,没有按下电梯层次时从3倒数到0,按下电梯层次时从5倒数到0。第三位数码管显示目前电梯所到达的层次,第二位数码管则显示按下键所需要到达的层次。以下是显示部分接线图。数码管显示及按键电路原理图(3) 复位部分单片机复位是使CPU

6、和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。根据实际情况选择如图所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C上的电压很小,复位下拉电阻 上的电压接近电源电压,即RES为高电平,在电容充电的过程中RES端电压逐渐下降,当RES端的电压小于某一数值后,CPU脱离复位状态,由于电容C足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后

7、电容C通过R-1放电。当电容C放电结束后,RES端的电位为高电平。由于RES为高电平,CPU处于复位状态,松手后,电容C充电,RES端电位下降,CPU脱离复位状态。复位电路原理图(4) 晶振STC89C52引脚XTAL1和XTAL2与晶体振荡器及电容C按下图所示方式连接。晶振、电容C-xC-x2及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C-x、C-x2的容量有关,但主要由晶振频率决定,范围在033MHz之间,电容C-x、C-x2取值范围在530pF之间。根据实际情况,本设计中采用12MHZ做为系统的外部晶振。电容取值为22pF。晶振原理图3 软件程序

8、设计3.1 软件设计思路本设计由于采用键盘矩阵来代替外呼内选按钮,而电梯的运行方向是根据这些呼叫按键和选择按键来决定的,所以单片机要不断的扫描键盘来获取各层呼叫状态。从而来控制电梯的运行。故键盘矩阵扫描是本系统软件设计的重要一部分,另外要把键盘扫描到的各层的按键信息存储起来,然后和电梯的运行状态比较,判断是否响应各层呼叫(电梯只响应同方向呼叫),最后就是楼层显示部分了,此次设计是通过延时电路来实时显示电梯所在的位置的。整个软件设计包括一下几部分:初始化程序使数码管显示“1”表示电梯处在一楼;主程序主要包括:判断乘客进入电梯后选择去哪一层,根据判断情况来控制电梯运行;实时显示电梯所在位置及运行状

9、态(上行/下行);开关门有一定的延时来保证乘客走出/进入电梯;3.2 软件设计流程图软件流程图如图3所示NY图3 软件流程图4 安装与调试4.1 硬件安装与调试系统在设计时已考虑硬件的可靠性、可行性,但仍需在仿真软件上进行仿真。在仿真软件上只要认真按设计好的方案连线就可以了,即使有时连接错误,测试时软件会有提示。在实物安装和调试时,因已在板子上排好,所只需要认真用烙铁把引脚连接好。不过烙铁是比危险的工具,温度极高,操作时需小心,防止烫伤。另外有时连接没焊好,形成虚焊,致使电路出错,检查麻烦。总体没什么问题。4.2 软件调试程序结构实现和方法设计的完成只是系统设计的开始,每个系统的完成都离不开调

10、试工作。如果没经过系统调试就运行的系统大都会出现这样或那样的问题,例如,系统不稳定,不能完成过既定的功能,或者根本运行不了。本设计在调试时主要是看通过观察系统运行稳定状况和功能完成情况。开始调试时系统会经常出错,经过检查发现时编程时写语句是死循环。经过修改情况恢复正常。经过不断的调试,系统运行稳定,能很好的完成既定功能。5 总结与体会 我通过本次单片机课程设计的锻炼,学到了一些有关简易电梯的设计方法与工作原理,并且巩固了单片机知识。本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。在调试过程中遇到很多问题,在焊接电路板的时候,由

11、于对烙铁用得不太熟练,有的时候会把焊接点融在一起,还有的时候还会被烙铁烫到。但闻到松香的气味,看着烙铁上飘过的阵阵青烟,又有了劲。总之这次电路的设计和仿真,基本上达到了设计的功能要求。在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。参考文献1唐颖.单片机原理与应用及C51程序设计【M】 .北京大学出版社,2008.(01)2张齐.单片机原理与应用系统设计基于C51的Proteus仿真实验与解题指导【M】 .电子工业出版社,2010.(01)3石文轩,宋薇.基于单片机MCS一51的智能密码锁设计【M】.武汉工程职业技术学院学报,2004,(0

12、1)4谭浩强.C程序设计(第三版) 【M】.清华大学出版社,2005.(01)5 张毅刚,彭喜元.单片机原理与应用设计【M】.北京:电子工业出版社,2008 .4 6 张大明.单片机微机控制应用技术【M】.北京:机械工业出版社,2006.47 房小翠,王金风.单片机实用系统设计技术【M】.北京:国防工业出版社,1999.68 李朝青.单片机原理及接口技术【M】.北京:北京航空航天出版社,2005.109 李广弟.单片机基础【M】。北京.北京:北京航空航天大学出版社,1997.710 曹巧媛.单片机原理及应用【M】.大连.大连理工大学出版社.1996.511 楼然苗.51 系列单片机设计实例【M

13、】北京航空航天出版社, 2003.3附录一:电路原理图附录二:PCB板图附录三:源程序#includereg52.h#include #define uchar unsigned char#define uint unsigned intsbit p26=P26;sbit p27=P27;sbit p15=P15;uchar code seg7code=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77;uchar weixuan1=0x0e,0x0d,0x0b,0x07;uchar weixuan2=0xfe,0xfd,0xfb,0x

14、f7;uchar dis_table4=0,0,0,0;uchar times,secd_3,secd_5;uchar up_flag,down_flag,done_flag=0,str_3=0,str_5=0,oneup=0,onedown=0;uchar k,f=1;void delay(int n) uchar j=0; uint k=0; for(j=0;j0;k-);void Timer0_Init() TMOD=0x01; TH0=(65536-5000)/256; TL0=(65536-5000)%256; ET0=1; EA=1; TR0=1;void getkey(void)

15、 uchar a,b,c; P2=0xfc; a=P2; delay(1); P2=0x03; b=P2; c=a+b; switch ( c ) /判断键值(那一个键按下) case 0xfa: k=1; break; /对键值赋值 case 0xf6: k=2; case 0xee: k=3; case 0xde: k=4; case 0xbe: k=5; case 0xf9: k=6; case 0xf5: k=7; case 0xed: k=8; case 0xdd: k=9; case 0xbd: k=10; void floors(uchar floor) switch (floo

16、r) /几楼,对应位为低电平 case 1: P1|=0xe0;P1&=0xef;P3|=0xfc; case 2: P1|=0xd0;=0xdf; case 3: P1|=0xb0;=0xbf; case 4: P1|=0x70;=0x7f;P3|=0xfd; case 5: P1|=0xf0;P3|=0x3e;P3&=0xfe; case 6:P3|=0x3d;=0xfd; case 7:P3|=0x3b;=0xfb; case 8:P3|=0x37;=0xf7; case 9:P3|=0x2f; case 10:P3|=0x1f;void main() P2|=0xf0; P3|=0x3

17、f; Timer0_Init(); floors(f); while(1) if(P2!=0x03) getkey(); while(k!=0) done_flag=0; while(kf) /向上 floors(f); dis_table1=f; dis_table2=k; str_3=1;times=0;secd_3=0;dis_table0=0; while(secd_3!=3); f=f+1; str_3=0; up_flag=1; down_flag=0; while(fk) /向下 f=f-1; up_flag=0; down_flag=1; dis_table1=f; str_5

18、=1;secd_5=0; while(secd_5!=5); str_5=0; k=0; done_flag=1; void Timer0_isr(void) interrupt 1 using 1 static uchar count=0; dis_table1=f; dis_table2=k; if(str_3=1) times+;if(times=200) times=0;secd_3+;if(secd_3=4)secd_3=0; dis_table0=secd_3+1; if(str_5=1)secd_5+;if(secd_5=6)secd_5=0; dis_table0=secd_5+1; P1=P1&weixuan2count|weixuan1count; P0=seg7codedis_tablecount; count+; if(count=4) count=0; if(done_flag) if(up_flag) if(oneup) f=f+1;str_3=1;oneup=0; floors(f); if(secd_3=3)oneup=1; if(f10)f=10; if(down_flag) if(onedown) f=f-1;onedown=0; if(secd_3=3)onedown=1; if(f1)f=1;

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

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