接口与通信的简单实验示例(程序).

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

;8253计数器地址设置 CONTROL equ 8003h COUNT0 equ 8000h COUNT1 equ 8001h COUNT2 equ 8002h ;8259中断地址设置 ICW1 EQU 00010011B ICW2 EQU 00100000B ICW4 EQU 00000001B OCW1 EQU 11111110B CS8259A EQU 9000H CS8259B EQU 9001H ;模数转换地址 CS0809 equ 0A000h ;8255地址 PA EQU
0B000H PB EQU 0B001H PC EQU 0B002H CTL EQU 0B003H ;数模转换地址
CS0832 EQU 0C000H CODE SEGMENT ASSUME CS:CODE ;中断服务程序,用于取出模数转换结果,并把结果送入8255和0832数模转换 IENTER PROC NEAR PUSH AX PUSH DX MOV DX,CS0809 MOV AL,00H OUT DX,AL MOV CX,40H LOOP $ MOV DX,CS0809 IN AL,DX MOV DX,PA OUT DX,AL MOV DX,CS0832 OUT DX,AL MOV CX,30 DELAY: LOOP DELAY MOV DX,CS8259A MOV AL,20H OUT DX,AL POP DX POP AX IRET IENTER ENDP ;中断初始化子程序 INIT PROC NEAR MOV DX,CS8259A MOV AL,ICW1 OUT DX,AL MOV DX,CS8259B MOV AL,ICW2 OUT DX,AL MOV AL,ICW4 OUT DX,AL MOV AL,OCW1 OUT DX,AL RET INIT ENDP START PROC NEAR ;设置计数器方式字和初值 mov al, 34h; 00110110B ; 计数器0,16位,方式3,二进制 mov dx, CONTROL out dx, al mov ax, 1000 mov dx, COUNT0 out dx, al ; 计数器低字节 mov al, ah out dx, al ; 计数器高字节mov al, 74h ; 01110110B ; 计数器1,16位,方式3,二进制 mov dx, CONTROL out dx, al mov ax, 1000 mov dx, COUNT1 out dx, al ; 计数器低字节 mov al, ah out dx, al ;设置8255工作方式 MOV DX,CTL MOV AL,082H OUT DX,AL ;关中断,写入中断向量CLI MOV AX,0 MOV DS,AX MOV BX,4*ICW2 MOV AX,CODE SHL AX,4 ADD AX,OFFSET IENTER MOV [BX],AX MOV AX,0 INC BX INC BX MOV [BX],AX CALL INIT STI ;开中断后执行主程序 LP: NOP JMP LP START ENDP code ends end start。

相关文档
最新文档