模拟电梯控制系统-微机原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机应用系统设计》课程设计报告
题目:基于数码管的电梯显示系统
专业班级:电子信息科学与技术12101班
设计学生:
指导教师:
完成时间:2014年6 月23 日
物理与电子科学学院
源程序:
DATA SEGMENT
SEGCOD DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
LDKEY DW ? ;保存的楼层
LDKEY1 DW ? ;取到的楼层
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE
ORG 100H
START: MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV LDKEY,AX ;将变量的值赋值为0
;初始化8255,
MOV DX,0206H ;8255控制口地址
MOV AL,83H ;A口作为输出,B口作为输入,C口低4位作为输入,高4
位作为输出
OUT DX,AL
;初始化8253
MOV DX,0406H ;初始化8253工作方式
MOV AL,36H ;计数器0,方式3
OUT DX,AL
MOV CX,0
MOV DX,0400H ;装入计数初值
MOV AL,7CH ;37500分频
OUT DX,AL
MOV AL,92H
OUT DX,AL
;楼层处理部分
XU: CALL KEY ;调用扫描按键
GO: MOV DX,0204h
IN AL,DX
TEST AL,1
JNZ GO ;等待按下OK键
MOV AX,LDKEY1
CMP AX,LDKEY
JB JIAN ;取到的楼层比目前楼层低
JMP JIA
;上升处理
JIA: CMP AX,LDKEY
JE XU ;按键与原来值相等,则继续扫描
MOV CX,10H
CALL DENG ;点亮上升灯
CALL DELAY
MOV AX,LDKEY1
JIAE: MOV CX,LDKEY ;LDKEY加1
ADD CX,1
MOV LDKEY,CX
CALL DISP
CALL DELAY
CMP AX,LDKEY
JNZ JIAE
CALL SPEAK
JMP XU
;下降处理
JIAN: MOV CX,20H
CALL DENG ;点亮下降灯
CALL DELAY
MOV AX,LDKEY1
JIANE: MOV CX,LDKEY ;LDKEY减1
SUB CX,1
MOV LDKEY,CX
CALL DISP
CALL DELAY
CMP AX,LDKEY
JNZ JIANE
CALL SPEAK
JMP XU
;发声子程序
SPEAK: MOV DX,0204H
MOV AL,40H
OUT DX,AL
CALL DELAY
MOV DX,0204H ;灯灭部分
MOV AL,0H
OUT DX,AL
RET
;灯显示
DENG: MOV DX,0204H ;PC口地址
MOV AX,CX
OUT DX,AL
RET
;数码管显示
DISP: MOV BX,OFFSET SEGCOD
ADD BX,LDKEY
MOV AL,[BX]
MOV DX,0200H ;向端口A输出,使数码管显示
OUT DX,AL
SUB BX,LDKEY ;将BX值变为原来值
MOV AX,LDKEY1
RET
;按键扫描
KEY: MOV DX,0202H
IN AL,DX
CMP AL,0FFH
JZ KEY ;等待按键按下
NOT AL ;将键值取反
MOV BL,1
MOV CX,8
JIXUY: SHR AL,1 ;判断按键值
JC FOUND
INC BL
JMP JIXUY
FOUND: MOV BH,0
MOV LDKEY1,BX
RET
;延迟子程序
DELAY: MOV CX,0FFFFH
DELAY1: NOP
NOP
NOP
LOOP DELAY1
RET
CODE ENDS
END START
设计总结: