资源描述
课程名称:微机原理与接口技术实验名称:8位A/D转换实验(中断方式)一 实验目的掌握模/数信号转换的基本原理,掌握ADC0809芯片中断采样编程方法。二 实验内容从ADC0809通道0输入+5V可变电压,使用中断方式采集数据,并将转换数据在7 段数码管上16 进制数显示。拧电位器后发现数码显示管数字改变,并且两盏灯明亮程度不同。附上源代码:.MODEL SMALL.386DATA SEGMENTNUM DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H,7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HBUF DB 100 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXIN AL, 21HAND AL, 11011111B;开放 IRQ5OUT 21H, ALCLICLDMOV AX,0MOV ES,AXMOV DI,4*35HMOV AX,OFFSET ADSTOSWMOV AX,SEG ADSTOSWMOV AX,DATA ;恢复数据段MOV DS,AXMOV DX,200H;启动转换MOV AL,00HOUT DX,ALBEGIN: STIHLT ;等待中断JNZ BEGININ AL,21H ; 关闭 MIR5AND AL,20HOUT 21H,ALMOV AH, 4CHINT 21HDIS PROC NEAR ;显示程序MOV CX, 0FFHNEXT: MOV AL, DIMOV AH, ALPUSH CXMOV CL, 4SHR AL, CLPOP CXMOV BX, 0MOV BL, ALMOV AL, NUMBXMOV DX, 210H OUT DX, ALMOV DX, 211HMOV AL, 00100000BOUT DX, ALCALL DELAYAND AH, 00001111BMOV BX, 0MOV BL, AHMOV AL, NUMBXMOV DX, 210H OUT DX, ALMOV DX, 211HMOV AL, 00010000BOUT DX, ALCALL DELAY LOOP NEXTRETDIS ENDPAD PROC NEAR ;中断程序PUSH AX;保存寄存器PUSH DXPUSH DICLIMOV DX, 201H;读取转换结果IN AL, DXNOPMOV DI, POINTMOV DI, AL ;保存转换结果 CALL DIS ;调用显示程序INC DIMOV POINT, DIMOV AL, 20H ;中断结束命令 OUT 20H, ALMOV DX, 200H;开启转换MOV AL, 00HOUT DX, ALPOP DI ;恢复寄存器内容POP DXPOP AXSTIIRET ;中断返回AD ENDPCODE ENDSEND START
展开阅读全文