计算机硬件上机实验程序5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五次实验
P126 2)实验内容①②(自己完成全部编程)
P1332)实验内容①②③(③自己完成)
说明:
1)8254口地址:20CH~20FH
2)8255口地址:208H~20BH
3)8259口地址:20H~21H
P133 ①B口控制8个发光二极管,L1,L3,L5,L7为一组;L2,L4,L6,L8为一组
交替点亮1组和2组
CODE SEGMENT
ASSUME CS:CODE
START: MOV AL, 80H; 10000000B,初始化
MOV DX, 20BH
OUT DX, AL
MOV DX, 209H
MOV BL,55H;灯的初始亮灭状态
AGAIN: MOV AH, 1 ; 有键按下就结束程序
INT 16H ;(思考:如果要求按下退出键‘Esc’结束,
JNZ DONE ; 应该怎样实现?)
MOV AL,BL
OUT DX, AL
MOV CX,1000H ;延时
DELAY: NOP
LOOP DELAY
XOR BL, 0FFH; 灯的亮灭状态取反
JMP AGAIN
DONE: MOV AH, 4CH
INT 21H
CODE ENDS
END START
②按下K1,则一个L从左到右循环点亮;按下K1,K2,两个L从左到右循环点亮,以此类推;直到八个K全部按下,结束程序
核心代码
MOV AL, 82H ;初始化1000010B
MOV DX,20BH
OUT DX, AL AGAIN: MOV DX, 209H
IN AL, DX
CMP AL,0FFH
JZ DONE
CMP AL, BL
JZ NEXT
MOV BL, AL
MOV BH, AL NEXT: MOV AL, BH
MOV DX, 20AH
OUT DX,AL
MOV CX, 0F000H DELAY: NOP
LOOP DELAY
ROL BH, 1
JMP AGAIN DONE: MOV AH, 4CH
INT 21H。