模拟电梯控制系统-微机原理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

设计总结:

相关文档
最新文档