预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

接口作业4: DA:中断方式的D/A转换系统 目的 熟悉DAC0832数模转换器的特性和接口方法,掌握D/A输出程序的设计和调试方法。该实验使用了8259A,DAC0832来完成一个D/A转换系统的设计,目的是掌握D/A转换器的硬件设计和中断程序的编写方法,是综合实验能力的训练。 内容 根据TPC实验平台指导书中关于DAC0832的内容,外加该平台中断模块,实现每按一次PLUS按钮产生一次中断信号,向8259A发出中断请求信号。CPU响应中断后,在中断服务中,对中断次数进行计数。用示波器观测D/A输出的变化情况。第一次中断ADC0832要输出三角波,第二次中断ADC0832要输出锯齿波,第三次中断ADC0832要输出梯形波,第四次中断ADC0832转换结束,停机。 现象 根据中断次数的不同,从DAC0832的输出端可以观测到三角波、锯齿波、梯形波。 接线图 题图连线图 流程图 程序清单 .MODELSMALL .386 CODESEGMENT ASSUMECS:CODE START: MOVCX,0 CLI;关386CPU中断 ;写入中断屏蔽字OCW1时,采用读取-修改-写入的顺序 INAL,21H ANDAL,11011111B;MASKBYTE OUT21H,AL ;将中断入口地址写入中断向量表 PUSHDS MOVBX,0 MOVDS,BX LEAAX,CS:INT_PROC;将中断程序的入口地址给AX MOVBX,5H;N=IRX中断IR5 MOVSI,30H;BASE=30H基址 ADDSI,BX;基址+IR5=中断类型号为35H SALSI,2 ;中断类型号为35HX4=中断向量存于SI MOVDS:[SI],AX ;将入口地址AX送到中断向量表中 PUSHCS POPAX MOVDS:[SI+2],AX POPDS STI;开386CPU中断 WAITING:CMPCX,0 JZWAITING L: CMPCX,1 JNZL1 MOVDX,200H MOVAL,0H TN1: OUTDX,AL INCAL JNZTN1 MOVAL,0FFH TN2: OUTDX,AL DECAL JNZTN2 JMPL L1: CMPCX,2 JNZL2 MOVDX,200H MOVAL,0H TN: OUTDX,AL INCAL JNZTN JMPAA L2: CMPCX,3 JNZL3 MOVBX,0 CALLFORMAT MOVDX,200H AGA: MOVBX,0H PUSHCX MOVCX,9 AGA1: MOVAL,BYTEPTR[BX] OUTDX,AL INCBX LOOPAGA1 POPCX CMPCX,4 JZL3 JMPAGA L3: CLI HLT INT_PROC: PUSHAX PUSHDX CLI INCCX MOVAL,20H OUT20H,AL STI POPDX POPAX IRET FORMAT: MOVBYTEPTR[BX],00H INCBX MOVBYTEPTR[BX],55H INCBX MOVBYTEPTR[BX],0AAH INCBX MOVBYTEPTR[BX],0FFH INCBX MOVBYTEPTR[BX],0FFH INCBX MOVBYTEPTR[BX],0FFH INCBX MOVBYTEPTR[BX],0FFH INCBX MOVBYTEPTR[BX],0AAH INCBX MOVBYTEPTR[BX],55H RET CODEENDS ENDSTART