微型计算机接口及控制技术 作者 古辉 第10章 AD与DA转换器接口2.pptVIP

  • 5
  • 0
  • 约6.84千字
  • 约 44页
  • 2015-12-09 发布于广东
  • 举报

微型计算机接口及控制技术 作者 古辉 第10章 AD与DA转换器接口2.ppt

10.5 中断方式的A/D转换器接口设计 中断技术应用的两种情况 用户自行设计和配置的中断系统:从硬件到软件,从初始化到具体的中断操作,都需要由用户自己来设计。 利用微机系统的中断资源:用户不作硬件设计,只作软件编程,而且不作8259A的初始化。 10.5 中断方式的A/D转换器接口设计 一、单板机系统的中断方式数据采集系统设计(P276) 10.5 中断方式的A/D转换器接口设计 10.5 中断方式的A/D转换器接口设计 程序设计 10.5 中断方式的A/D转换器接口设计 ;堆栈段 STACK SEGMENT PARA STACK ’STACK’ DB 200 DUP(0) STACK ENDS ;数据段 DATA SEGMENT BUFR DB 512 DUP(0) ADC EQU 0FFD4H ;ADC端口 PIC0 EQU 0FFDCH ;8259A的偶地址端口,A0=0 PICl EQU 0FFDEH ;8259A的奇地址端口,A0=1 DAC EQU 0FFD6H ;DAC端口 DATAENDS 10.5 中断方式的A/D转换器接口设计 ;代码段 CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK ;中断向量装入 START:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,00H MOV ES,AX ;段基址指向中断向量表的存储区 MOV BX,200H ;中断号(80H)*4=200H→BX MOV ES:[BX],OFFSET READ_INT ;向量偏移值 10.5 中断方式的A/D转换器接口设计 PUSH CS POP AX ;取主程序的段址作为服务程序的段址 MOV ES:[BX+2],AX ;装入中断向量的段值 MOV DI,OFFSET BUFR ;设置数据区首址 MOV CX,512 ;设采样次数 ;8259A初始化 CLI ;关中断 MOV AL,13H ;写ICW1(边沿触发,单片,需要ICW4) MOV DX,PICO ;8259A端口(A0=0) OUT DX,AL 10.5 中断方式的A/D转换器接口设计 MOV AL,80H ;写ICW2(中断号高5位) MOV DX,PICl ;8259A端口(A0=1) OUT DX,AL MOV AL,01H ;写ICW4(非缓冲,正常结束,16位机) OUT DX,AL ;8259A端口(A0=1) ;开放IR0中断请求 MOV DX,PICl ;8259A端口(A0=1) IN AL,DX ;写OCW1(允许IR0请求中断) AND AL,0FEH OUT DX,AL 10.5 中断方式的A/D转换器接口设计 ;启动转换 AGAIN:MOV AX,00H ;写入的数据可以取任意值 MOV DX,ADC ;启动转换(CS、WR同时有效) OUT DX,AL STI ;开中断 HLT ;等待中断请求 CLI ;关中断 INC DI DEC CX ;次数减1 JNZ AGAIN ;次数未到,继续启动转换 10.5 中断方式的A/D转换器接口设计 ;屏蔽IR0中断请求 MOV DX,PICl ;8259A端口(A0=1) IN AL,DX ;次数已到,屏蔽IR0 OR AL,01H OUT DX,AL MOV AX OFFBOH ;返回监控 PUSH AX MOV AX,0000H PUSH AX RET 10.5 中断方式的A/D转换器接口设计 ;中断服务程序 READ_INT PROC FAR PUSH AX ;寄存器进栈 PUSH

文档评论(0)

1亿VIP精品文档

相关文档