监控系统课程设计-基于单片机的电梯控制(编辑修改稿)内容摘要:
MOV A, 30H CPL A ANL A, 38H ; 取得电梯间下降请求 RR A RR A ORL 21H, A MOV A, 21H CPL A ANL A, 0EH RL A RL A ORL 32H, A MOV A, P0 ANL A, 0C0H ORL A, 32H MOV P0, A ; 刷新上升、下降请求指示灯 MOV A, 31H ANL A, 0FH ; 取得电梯内目标楼层请 求 ORL 22H, A MOV A, 22H CPL A MOV P2, A ; 刷新电梯内目标楼层指示灯 TIME12: MOV A, 6EH RETI 楼层选择按键功能程序 存储单元分配: 20H—— 电梯间上升请求: —— 1 楼; —— 2 楼; —— 3 楼, —— 4 楼 21H—— 电梯间下降请求: —— 1 楼; —— 2 楼; —— 3 楼; —— 4 楼。 22H—— H 电梯内目标楼层请求: —— 1 楼; —— 2 楼; —— 3 楼; —— 4 楼。 20H—— 22H: 0=无请求; 1=有请求。 堆栈栈底: 70H 单元。 T1 中断服务程序中 6EH 单元保护累加器 A 的内容。 30H, 31H 单元分别临时存放 P1, P3 按键状态。 32H 作为单元按键及指示灯处理的中间单元。 R3 作为 Stop 键曾经按下过的记录。 电梯模型 电梯上电后,系统一直等待,电梯的起始位置为一楼,等待控制台 Start 按键按下,数码管显示“ 1”。 当 Start 按键 按下后,电梯开始向上运动,电动机开始转动,控制台的上升指示灯 UP 亮。 到达二楼,电梯运行经过楼层检测传感器时, R4 计数加 1, 送到数码管显示“ 2并在二楼停留 5 s,然后继续上升。 每楼层停留 5 s, 直到四楼后,在四楼停留 5 s 后开始下降,控制台的下降指示灯 DOWN 亮。 每层楼停留 5 s,直到一楼。 然后重复上述过程。 ( 1)如果按下过 Stop 键,强制电梯直接下降到一楼,然后电梯停止工作。 直到再次按下 Start 键后重新恢复工作。 ( 2)中断服务程序每 10ms 一次检查所有按键状态,并记录在相应存储单元,同时控制相应指示 灯。 ( 3)定时器 T0定时 100ms, R2 作为 5s 定时的计数器。 T0每中断一次 R2 加 1,当 R2=50时, 5s 计时完成。 程序清单如下:。 *********START 启动程序 *********** START: MOV TMOD, 11H MOV IE, 8AH MOV TH0, 3CH ; 定时 100ms MOV TL0, 0B0H MOV TH1, 0ECH ; 定时 10ms MOV TL1, 78H SETB TR0 MOV SP, 6FH。 *********STOP 停止程序 *********** STOP: CLR CLR MOV R3, 0 MOV P3, 1FH ; 数码管显示 “1” JB , $ ; 等待开始工作指令 SETB SETB TR1 ; 启动 T1 ; 10ms 一次读取按键。 *********一楼上升按键选择程序 *********** UP1: MOV A, 20H ; 目前在 1 楼 ORL A, 21H ; 取得 1 楼请求情况 ORL A, 22H ANL A, 0EH JZ UP1 ; 无请求 , 则等待 CLR ; 上升指示灯亮 ACALL DLY ; 上升 2s。 *********二楼上升按键选择程序 *********** UP2: MOV P3, 2FH ; 到达 2 楼 , 数码管显示 “2” JB , UP21 ; 是 2 楼电梯间的上升请 求 , 转 UP21 JB , UP21 ; 是电梯内目标 2 楼请求 , 转 UP21 SJMP UP22 UP21: CLR ; 清二楼电梯间上升请求标志位 CLR ; 清电梯内目标 2 楼请求标志位 SETB ; 上升指示灯灭 MOV R2, 0 ; 5s 定时开始 CJNE R2, 50, $ ; 等待 5s 延时 UP22: MOV A,20H ORL A,21H ORL A,22H ANL A, 0CH ; 取得 2 楼请求情况 JNZ UP23 AJMP DOWN22 ; 2 楼无请求 , 转 2 楼下降 UP23: CLR ; 上升指示灯 亮 ACALL DLY ; 上升 2s。 *********三楼上升按键选择程序 *********** UP3: MOV P3, 3FH ; 到达 3 楼 , 数码管显示 “3” JB , UP31 ; 是 3 楼电梯间的上升请求 , 转 UP31 JB , UP31 ; 是电梯内目标 3 楼请求 , 转 UP31 SJMP UP32 UP31: CLR ; 清 3 楼电梯间上升请求标志位 CLR ; 清电梯内目标 3 楼请求标志位 SETB ; 上升指示灯灭 MOV R2, 0 ; 5s定时开始 CJNE R2, 50, $ ; 等待 5s延时 UP32: MOV A, 20H ORL A, 21H ORL A, 22H ANL A, 08H ; 取得 3 楼请求情况 JNZ UP33 AJMP DOWN32 ; 3 楼无请求 , 转 3 楼下降 UP33: CLR ; 上升指示灯亮 ACALL DLY ; 上升 2s UP34: MOV P3, 4FH ; 到达 4 楼 , 数码管显示 “4”。 *********四楼下降按键选择程序 *********** UP41: CLR ; 清 4 楼电梯间下降请求标志位 CLR ; 清电梯内目标 4 楼请求标志位 SETB ; 上升指示灯灭 MOV R2, 0 ; 5s 定时开始 CJNE R2, 50, $ ; 等 待 5s 延时 UD4: MOV A, 50H ORL A, 21H ORL A, 22H ANL A, 07H ; 取得 4 楼的请求情况 JNZ DOWN4 AJMP UD4 DOWN4: CLR ; 下降指示灯亮 ACALL DLY ; 下 降 2s。 *********三楼下降按键选择程序 *********** DOWN3: MOV P3, 3FH ; 到达 3 楼 , 数码管显示 “3” JB , DOWN31 ; 是 3 楼电梯间的下降请求 , 转 DOWN31 JB , DOWN31 ; 是电梯内目标 3 楼请求 , 转 DOWN31 S JMP DOWN32 DOWN31: CLR ; 清 3 楼电梯间下降请求标志位 CLR ; 清电梯内目标 3 楼请求标志位 SETB ; 下降指示灯灭 MOV R2,0 ; 5s 定时开始 CJNE R2,50,$ ; 等待 5s 延时 DOWN32: MOV A, 20H ORL A, 21H ORL A, 22H ANL A, 03H ; 取得 3 楼的请求情况 JNZ DOWN33 AJMP UP32 ; 3 无楼请求 ,转 3 楼上升 DOWN33: CLR ; 下降指示灯亮 ACALL DLY。 *********二楼下降按键选择程序 ***********。监控系统课程设计-基于单片机的电梯控制(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。