1、5计算机接口技术程序00附录2附录二:实验参考程序;= D/A(调零程序) =;-D/A 0V输出(调基准电压)-;在进行D/A输出方波/锯齿波、小直流电机实验之前,必须先运行本调零程序!;装载并连续运行本程序,调节基准电压控制电位器W2,;使D/A输出端“AOUT”输出电压为0VCODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE;=DAPORT EQU 0FFE0hZXK EQU 0FFDCHZWK EQU 0FFDDH;= ORG 3480HSTART: MOV BUF,00H ;DISPLAY 0832 80 MOV BUF+1,08H MOV BUF
2、+2,03H MOV BUF+3,02H MOV BUF+4,08H MOV BUF+5,00HP5: MOV AL,80H mov dx,DAPORT out dx,al call p6 jmp p5;=p6: mov cx,0100hp8: push cx CALL DIS pop cx loop p8 ret;=DIS: MOV CL,20H MOV BX,OFFSET BUFDIS1: MOV AL,BX PUSH BX MOV BX,OFFSET LED XLAT POP BX MOV DX,ZXK OUT DX,AL MOV AL,CL MOV DX,ZWK OUT DX,AL P
3、USH CX MOV CX,0100HDELAY: LOOP $ POP CX CMP CL,01H JZ EXIT INC BX SHR CL,1 JMP DIS1EXIT: MOV AL,00H MOV DX,ZWK OUT DX,AL RETBUF DB ?,?,?,?,?,?LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H;=CODE ENDS END START;-8255A(1) -CODE SEGMENT ASSUME CS:COD
4、E,DS:CODE,ES:CODE ORG 32C0HH1: JMP STARTP1PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHSTARTP1:MOV DX,PCTL MOV AL,80H OUT DX,AL MOV AL,55HP11: MOV DX,PA OUT DX,AL INC DX OUT DX,AL INC DX OUT DX,AL MOV CX,0800H LOOP $ NOT AL JMP P11CODE ENDS END H1;-8255A(2) PA,PB-CODE SEGMENT ASSUME CS:CODE
5、,DS:CODE,ES:CODE ORG 32E0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH2: MOV DX,PCTL MOV AL,90H OUT DX,ALP2: MOV DX,PA IN AL,DX INC DX OUT DX,AL JMP P2CODE ENDS END H2;-8255A(3) -CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32F0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH3:
6、 MOV AL,88H MOV DX,PCTL OUT DX,AL ;MOD:0, MOV DX,PA MOV AL,0B6H OUT DX,AL INC DX MOV AL,0DH OUT DX,AL CALL DELAY1P30: MOV AL,75H MOV DX,PA OUT DX,AL INC DX MOV AL,0DH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08HP31: MOV DX,PA MOV AL,0F3H OUT DX,AL INC DX MOV AL,0CH OUT DX,AL CALL DELAY2 MOV DX,PA MO
7、V AL,0F7H OUT DX,AL INC DX MOV AL,0DH OUT DX,AL CALL DELAY2 LOOP P31 MOV DX,PA MOV AL,0AEH OUT DX,AL INC DX MOV AL,0BH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08HP32: MOV DX,PA MOV AL,9EH OUT DX,AL INC DX MOV AL,07H OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0BEH OUT DX,AL INC DX MOV AL,0FH OUT DX,AL C
8、ALL DELAY2 LOOP P32 JMP P30DELAY1: PUSH AX PUSH CX MOV CX,0030HDELY2: CALL DELAY2 LOOP DELY2 POP CX POP AX RETDELAY2: PUSH CX MOV CX,8000H LOOP $ POP CX RETCODE ENDS END H3;-I/O-CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3380H ;273,244PIO1 EQU 0FFE0HPIO2 EQU 0FFE4HP4: MOV DX,PIO1 IN AL,DX MOV D
9、X,PIO2 OUT DX,AL JMP P4CODE ENDS END P4;-硬件实验五 A/D转换实验-CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3390HH5: JMP STARTZXK EQU 0FFDCHZWK EQU 0FFDDHLED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3HBUF DB ?,?,?,?,?,?ADPORT EQU 0FFE0HSTART: MOV BUF,00
10、H ;DISPLAY 0809 00 MOV BUF+1,08H MOV BUF+2,00H MOV BUF+3,09H ;DISPLAY 0809 00 MOV BUF+4,00H MOV BUF+5,00HP5: MOV AL,00H ;IN0 MOV DX,ADPORT OUT DX,AL CALL DIS MOV DX,ADPORT IN AL,DX mov dx,0ffe4h ;new add - 138 Y1 not al ;new add out dx,al ;new add - 驱动发光二极管 not al ;new add CALL ADS JMP P5ADS: MOV AH
11、,AL AND AL,0FH MOV BUF+5,AL AND AH,0F0H MOV CL,4 SHR AH,CL MOV BUF+4,AH RET;-DIS: MOV CL,20H MOV BX,OFFSET BUFDIS1: MOV AL,BX PUSH BX MOV BX,OFFSET LED XLAT POP BX MOV DX,ZXK OUT DX,AL MOV AL,CL MOV DX,ZWK OUT DX,AL PUSH CX MOV CX,0100HDELAY: LOOP $ POP CX CMP CL,01H JZ EXIT INC BX SHR CL,1 JMP DIS1
12、EXIT: MOV AL,00H MOV DX,ZWK OUT DX,AL RET;-CODE ENDS END H5;-D/A(1) -;D/A 0VAsm88da_0v.asm;D/AAOUT0VCODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 33E0HDAPORT EQU 0FFE0HH6: MOV AL,0FFHP6: MOV DX,DAPORT OUT DX,AL MOV CX,0400H LOOP $ NOT AL JMP P6CODE ENDS END H6;-D/A转换实验(2) 锯齿波-;注意:进行本实验前,请先装载运行D/A
13、0V输出(调基准电压)程序Asm88da_0v.asm;使D/A输出端“AOUT”输出电压为0V,再进行本实验。CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 33F0HDAPORT EQU 0FFE0HH7: MOV DX,DAPORT MOV AL,00HP7: OUT DX,AL INC AL JMP P7CODE ENDS END H7;-8259单级中断控制器实验-CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3400HH8: JMP P8259ZXK EQU 0FFDCHZWK EQU
14、 0FFDDHLED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3HBUF DB ?,?,?,?,?,?Port0 EQU 0FFE0HPort1 EQU 0FFE1HP8259: CLI CALL WP ;初始化显示“P.” MOV AX,OFFSET INT8259 MOV BX,003CH MOV BX,AX MOV BX,003EH MOV AX,0000H MOV BX,AX CALL FOR8259 mov si,0000h STICON8
15、: CALL DIS JMP CON8;-INT8259:cli MOV BX,OFFSET BUF MOV BYTE PTR BX+SI,07H INC SI CMP SI,0007H JZ X59XX59: MOV AL,20H MOV DX,Port0 OUT DX,AL mov cx,0050hxxx59: push cx call dis pop cx loop xxx59 pop cx mov cx,3438h push cx STI IRETX59: MOV SI,0000H CALL WP JMP XX59;=FOR8259:MOV AL,13H MOV DX,Port0 OU
16、T DX,AL MOV AL,08H MOV DX,Port1 OUT DX,AL MOV AL,09H OUT DX,AL MOV AL,7FH ;IRQ7 OUT DX,AL RET;-WP: MOV BUF,11H ;初始化显示“P.” MOV BUF+1,10H MOV BUF+2,10H MOV BUF+3,10H MOV BUF+4,10H MOV BUF+5,10H RET;-DIS: MOV CL,20H MOV BX,OFFSET BUFDIS1: MOV AL,BX PUSH BX MOV BX,OFFSET LED XLAT POP BX MOV DX,ZXK OUT D
17、X,AL MOV AL,CL MOV DX,ZWK OUT DX,AL PUSH CX MOV CX,0100HDELAY: LOOP $ POP CX CMP CL,01H JZ EXIT INC BX SHR CL,1 JMP DIS1EXIT: MOV AL,00H MOV DX,ZWK OUT DX,AL RET;-CODE ENDS END H8;-/ 8253-CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3490HH9: MOV DX,0FFE3H MOV AL,36H OUT DX,AL MOV DX,0FFE0H MOV AL
18、,00H OUT DX,AL MOV AL,10H OUT DX,AL JMP $CODE ENDS END H9;-继电器控制-CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 34B0HH10: MOV DX,0FFDBH ;8255CTL ?J0: MOV AL,00H OUT DX,AL ;PC0=0 CALL JDL MOV AL,01H OUT DX,AL ;PC0=1 CALL JDL JMP J0JDL: MOV CX,0004HJDL1: PUSH CX MOV CX,0FFFFH LOOP $ POP CX LOOP JDL1
19、RETCODE ENDS END H10;-8251串口实验 自发自收-Z8251 EQU 0FFE1HD8251 EQU 0FFE0HZXK EQU 0FFDCHZWK EQU 0FFDDHCODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 35C0H ;TX=RX;=修改开始START: MOV DX,Z8251 MOV AL,00H OUT DX,AL MOV AL,00H OUT DX,AL MOV AL,00H OUT DX,AL MOV AL,40H OUT DX,AL MOV AL,0CEH OUT DX,AL MOV AL,25H O
20、UT DX,AL;=修改结束 MOV AL,01H MOV BX,0400H MOV BX,ALSR0: CALL WP MOV SI,4000H MOV DI,5000H MOV CX,0010HSR1: MOV AH,SI CALL SEND CALL RX MOV DI,AH INC SI INC DI LOOP SR1SR2: CALL DIS JMP SR2RX: MOV DX,Z8251RX1: IN AL,DX TEST AL,02H JZ RX1 MOV DX,D8251 IN AL,DX MOV AH,AL RET;-WP: MOV BUF,11H MOV BUF+1,10H
21、 MOV BUF+2,10H MOV BUF+3,10H MOV BUF+4,10H MOV BUF+5,10H RET;-SEND: MOV DX,Z8251W1: IN AL,DX TEST AL,01H JZ W1 MOV DX,D8251 MOV AL,AH OUT DX,AL RET;-DIS: MOV CL,20H MOV BX,OFFSET BUFDIS1: MOV AL,BX PUSH BX MOV BX,OFFSET LED XLAT POP BX MOV DX,ZXK OUT DX,AL MOV AL,CL MOV DX,ZWK OUT DX,AL PUSH CX MOV
22、CX,0100HDELAY: LOOP $ POP CX CMP CL,01H JZ EXIT INC BX SHR CL,1 JMP DIS1EXIT: MOV AL,00H MOV DX,ZWK OUT DX,AL RET;-LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3HBUF DB ?,?,?,?,?,?;-CODE ENDS END START;=8251串行通信实验:接收端=;1.编译连接装载本程序;2.装载完毕后,退出Dais集成开
23、发环境,释放串行口;3.从键盘输入3FD0入口地址,按EXEC键连续运行;4.运行“PC发送程序.exe”,选择相关串行口,使用默认2400波特率,单击“打开端口”;5.在“PC发送程序”上点击相应发送数字按钮,实验系统LED即显示接收到的数字CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3FD0HZ8251 EQU 0FFE1HD8251 EQU 0FFE0HSTART: CALL FOR8253 ;#1,f1=1.8432m/48=38.4khz CALL FOR8251 ;BPS=f1/16=2400 MOV DS:077AH,1702H
24、 MOV DS:077CH,0501H MOV DS:077EH,0802H MOV DS:0740H,077FHwatrxd: call disp CALL YRX MOV BX,DS:0740HCON: mov ds:bx,al CMP BX,077ah jz serial dec BX MOV DS:0740H,BX jmp watrxdserial: mov ds:0740h,077fh jmp watrxddisp: push cx mov dx,077fh mov ah,20hdisp0: mov cx,00ffh mov bx,dx mov bl,ds:bx mov bh,0h
25、push dx mov dx,0FFDCH mov al,bx+OFFSET DATA1 out dx,al mov dx,0FFDDH mov al,ah out dx,aldisp1: loop disp1 pop dx dec dx shr ah,01h jnz disp0 pop cx retdata1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h db 80h,90h,88h,83h,0c6h,0a1h,86h,8eh db 0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh db 90h,0a3h,0a1h,86h,8fhFOR8253:MOV DX,0FFE7H MOV AL,76H OUT DX,AL MOV DX,0FFE5H MOV AL,30H OUT DX,AL MOV DX,0FFE5H MOV AL,00H OUT DX,AL RETFOR8251:MOV DX,Z82
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1