资源描述:
《电梯自动控制系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.上海理工大学计算机科学与工程系实验报告实验名称:电梯自动控制系统设计课程名称:微机与接口课程设计姓名:张德臻学号:0722020117日期:2010-7-6地点:学院机房组员:原彧鑫、张德臻教师:张幸一、实验要求设计一个电梯自动控制系统,由电机驱动控制系统,1路A/D输入,12个按键,4个8段的LED显示器,8个LED指示灯,1路声控报警系统组成。4个8段的LED显示器,8个LED指示灯及12个键盘作为控制系统的控制台设计,以提供人机交互,控制电机的停启。1路模拟输入主要对电梯中人员重量进行控制,若超重
2、,电梯停止运行,并提示报警。电梯运行按现实电梯运行规则实现。二、设计方案实验结构示意图软件设计流程图实验使用AEDK-DJ6机电实验平台以实现8段数码管显示、步进电机的控制,通过使用两片8255芯片来分别操作各个设备,电梯按键输入非编码键盘,所以键盘操作的去抖动、防串键、按键识别和键码产生4个基本功能都有软件来完成,键盘程序分2部分,一个是键盘扫描程序,主要完成扫描键盘上是否有键按下,另一个是键处理程序,用于完成对各个按键的处理。重量检测部分使用0809数模转换芯片完成,在本实验中,出于简化硬件设计和便于
3、调试的考虑,采用电位器模拟质量感应设备。本系统可以划分的任务模块为以下:初始化子程序:只在程序的最开始运行一次,负责电机归0,8255初始化,变量初始化等操作。八段管显示子程序:根据当前显示缓存的值,通过查询码表显示对应的字符,同时本程序也兼具延时功能。LED指示子程序:控制台上有8个LED指示灯,用来指示当前那个楼层有请求的需要,在内存中开辟8个单元,每个单元表示对应的楼层的请求情况,当该单元的值为0,表示该楼层没有请求,当该单元的值为0FFH,表示该楼层有请求,子程序根据楼层的请求而点亮或熄灭对应的L
4、ED指示灯键盘处理子程序...:对控制台命令监听,所以是程序主要核心,该程序包含2部分,一个是键盘扫描子程序,主要完成扫描键盘上是否有键按下,另一个是按键处理程序,用于完成对各个按键的处理,键盘分数字键和功能键。键处理程序仅记忆/修改程序的相关状态变量,具体操作的执行则在相关的执行程序里完成。电机控制子程序:根据相关的楼层请求、运行状态制定出相应的电机运行策略,设置相应的参数交由电机走拍程序电机走拍子程序:控制电机的实时运转,根据方向按拍表的内容走步,由既定的步数走到相应的楼层,根据请求表,做相关的处理。
5、重量检测子程序:通过对ADC0809的模拟量检测,滤波(采集8次求平均值)判断是否超重(模拟量的大于4.5V),如超重,则进行相应的错误处理(该子程序不在主流程中,在关门按键按下时调用一次)关于方案改进:实时系统中尽量少软件延时,本系统中键处理中防抖动,步进电机拍与拍之间间隔都用了软件延时,用此方法因为系统实时性并不高,只有控制台键盘输入,但软件延时会影响显示,所以延时的地方用调用显示来完成,这样延时的精度会受影响,改进的方法就是用定时中断,可使用8253,8259来完成,特别是步进电机的走步程序,如按此
6、方案,走步程序就在中断服务程序里完成,同时可根据步进电机的特性,走出升降曲线,使电机控制在更佳状态。三、源程序代码DATASEGMENT;数据段KCROWDB0;键盘扫描行设置KEYIDDB0;键值DRSTATDB0FFH;电机开关门状态(0表示开门,0FFH表示关门,1表示走拍)ALARMDB0;电机故障指示(0无故障,0FFH有故障)FLOORDW1;电机当前运行的楼层DIRECTDB0;电机运行方向(0表示正走,0FFH表示反走)STEPDB0;电机在走拍程序中4拍的位置STPNUMDW0;电机走拍
7、次数STPTABDB08H,04H,02H,01H;拍表FLRQDB8DUP(0);楼层请求(0无请求,1有请求)DCACHEDB4DUP(0FH);显示缓存(4个字节);LED段码表LCODEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;[0123456789]000H~009HDB79H,50H,73H,37H,5CH,00H;[ErPNo]00AH~00FH;8255(1)端口定义A键盘输入B片选输出C屏幕输出PA1EQU208HPB1EQU209HPC1EQU
8、20AHP1CTLEQU20BH;8255(2)端口定义A电机输出BLED输出PA2EQU218HPB2EQU219HPC2EQU21AHP2CTLEQU21BH;CSAD端口定义CSADEQU202H;???TRHLDEQU0E6H;0.0V=00H5.0V=FFHFLSTPNEQU0C70H;有效键值表KID_FL1EQU000H;一楼KID_FL2EQU001H;
9、KID_FL3EQU002H;
10、KID_FL4EQU00