data segment
ioport equ 0b800h-0280h
ls273a equ ioport+2a8h;点阵行选
ls273b equ ioport+2b0h;74ls273 芯片地址
io8253a equ ioport+280h;计数器 0
io8253b equ ioport+281h;计数器 1
io8253c equ ioport+283h;8253 控制端
io8255a equ ioport+288h;pa 口
io8255b equ ioport+289h;pb 口
io8255c equ ioport+28ah;pc 口
io8255 equ ioport+28bh;8255 控制端
led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;数码管的七段码
MENU DB '
****************************************************', 0DH,0AH
DB ' * elevator paogram
*',0DH,0AH
db ' * 8255cs--288h pa0~pa7-----a~g
*',0Dh,0Ah
db ' * pc0 ----8253out1
*',0Dh,0Ah
db ' * 8253cs~280h 1mhz -- clk0 vcc
--gate0,gate1 *',0Dh,0Ah
db ' * clk1--out0
*',0Dh,0Ah
db ' * ls273~2b0
*',0Dh,0Ah
db ' *
*',0Dh,0Ah
db '
****************************************************',0Dh,0Ah
DB ' 1~8*******************1 ~ 8 FLOOR! ',0DH,0AH
DB ' ENTER*****************RUN! ',0DH,0AH
DB ' V*********************DIRECT ARRIVE! ',0DH,0AH
DB ' ESC*******************EXIT! ',0DH,0AH
DB ' S*********************REPAIR! ',0DH,0AH
DB ' P*********************STOP! ',0DH,0AH,'$'
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov dx,offset menu
mov ah,09
int 21h
mov dx,io8255;8255 初始化,a 口输出方式 0,c 口输入
mov al,89h
out dx,al
mov cl,31h;cl 表示当前电梯所在楼层,为 ASCII 码中的 1