实验内容:
1.利用0809完成1个通道的模拟量采集,并利用8255输出二进制码。
2.利用0832产生锯齿波输出,并在直流电机上观察结果。
1.利用0809完成1个通道的模拟量采集,并利用8255输出二进制码
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,293H;8255初始化
MOV AL,10010000B
OUT DX,AL
XX:MOV DX,280H;启动转换
OUT DX,AL
NO: MOV DX,290H;读入8255A口状态
IN AL,DX
TEST AL,01H;检测是否为高电平
JZ NO;是,继续循环等待
MOV DX,280H;否,读入数据
IN AL,DX
MOV DX,292H;8255B口输出
OUT DX,AL
JMP XX;循环检测该代码
CODE ENDS
END START
2.利用0832产生锯齿波输出,并在直流电机上观察结果
CODE SEGMENT
ASSUME CS:CODE
START:
;8255初始化
MOV DX,293H
MOV AL,10010000B
OUT DX,AL
;产生锯齿波
JUCHI: MOV AL,0
AGAIN: INC AL
MOV DX,280H
OUT DX,AL
DELAY: MOV CX,65535;软延时程序
LOOP1:LOOP LOOP1
CMP AL,0
JNZ AGAIN;AL不为0,继续循环,为零则退出
OUT DX,AL
;8253初始化,延时1s
MOV DX,2BBH
MOV AL,00110101B
OUT DX,AL
MOV DX,2B8H
MOV AL,00H
OUT DX,AL
MOV AL,20H
OUT DX,AL
MOV AL,01110111B
MOV DX,2BBH
OUT DX,AL
MOV DX,2B9H
MOV AL,00H
OUT DX,AL
MOV AL,20H
OUT DX,AL
;8255A口读入
TEST1: MOV DX,290H
IN AL,DX
TEST AL,01H;检测是否为高电平
JNZ TEST1;是,继续循环等待
JMP JUCHI;循环检测该代码
CODE ENDS
END START