上传者: chenb6chen
|
上传时间: 2022-12-07 21:46:05
|
文件大小: 57KB
|
文件类型: DOC
1、由8031内部定时器1,按方式1工作,即作为16位定时器使用, 每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L0,L2亮,第二秒钟L1,L3亮,第三秒钟L4,L6亮,第四秒钟L5,L7亮,第五秒L0,L2,L4,L6亮,第六秒钟L1,L3,L5,L7亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L0,L2亮,然后L1,L3亮......一直循环下去。
2、在下面写出你的代码(下面的代码不全,请进行补充)
ORG 0000H
AJMP START
ORG ;T1中断入口地址
AJMP INT_T1
ORG 0100H
START:
MOV SP,#60H
MOV ;置T1为方式1
MOV ;延时50mS的时间常数
MOV
MOV
MOV R1,#20
SETB
SETB ET1
SETB EA ;开中断
SJMP $
INT_T1: ;T1中断服务子程序
PUSH ACC ;保护现场
PUSH PSW
PUSH DPL
PUSH DPH
CLR ; 停止计数
MOV ;延时50mS常数
MOV
SETB ; 启动计数
DJNZ
MOV R1,#20 ;延时一秒的常数
MOV ;置常数表基址
MOV A,R0 ;置常数表偏移量
MOVC A,@A+DPTR ;读常数表
MOV ;送P1口显示
INC R0
ANL 00,#07H
EXIT:
POP DPH ;恢复现场
POP DPL
POP PSW
POP ACC
RETI
;LED显示常数表
DATA1: DB 0FAH,0F5H,0AFH,05FH,
3、回答下面几个问题
1)ANL 00,#07H 有什么作用,请你用其他的语句实现这个功能,并将你的代码写在下面。
2)简要回答程序的思路。