(实验1图.docVIP

  • 17
  • 0
  • 约1.47万字
  • 约 15页
  • 2017-02-01 发布于北京
  • 举报
(实验1图

A/D转换结束时,EOC为高电平,经单稳电路74LS123送入PC4端,供CPU查询A/D转换结束否。一旦A/D转换结束,则将其转换结果由8255A的A口读入CPU。 图2.24 由ADC0809构成的64路数据采集系统 接口程序 由图2.24可看出:8255A的A口为输入口且工作于方式1,B口为输出口且 工作于方式0,C口的PC7为输出、PC4为输入。 设8255A的A口、B口、C口及控制寄存器的端口地址分别为60H、61H、62H 和63H。64路模拟通道的地址分别为80H ~ BFH,并对64路巡回检测24次。则 查询方式程序如下: DATA SEGMENT BUF DB 1536 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOVE AX,DATA MOV DS,AX MOV DI OFFSET BUF CLD ;清DI,地址增量 MOV AL OUT 63H,AL 设控制字,初始化8255A MOV DL,18H ;设巡检次数初值(18H=24) LOOP1:MOV BX,4080H ;设采样通道数(40H=64送BH) 及通道地址初值(80H送BL) LOOP2:MOV AL,BL OUT 61H,AL 选择通道,由B口送出 MOV CX,006FH LOOP3:DEC CX 延时,使输入信号保持稳定 JNZ LOOP3 MOV AL,0FH (使PC7=“1”)启动A/D转换 OUT 63H,AL 并使采样保持器处于保持状态 MOV AL,0EH 使PC7复位 OUT 63H,AL AGAIN:IN AL,62H TEST AL 检测PC4的IBFA 信号 JZ AGAIN IN AL,60H 由A口读出转换数据 STOSB 并送内存 MOVE CX,1525H LOOP4:DEC CX 延时20ms,控制采样周期 JNZ LOOP4 INC BL ;通道地址加1 DEC BH ;采样次数减1 JNZ LOOP2 ;未完,继续采样 DEC DL ;巡检次数减1 JNZ LOOP1 ;未完,继续巡检 MOV AX,4C00H INT 21H 返回 CODE:ENDS END START 例二:由AD574A构成的16路A/D卡线路 1.硬件构成(如图2.25所示) 图3 由AD574A构成的16路A/D卡线路 由图2.25可看出: 1)端口地址的设置 该线路的接口采用8255、量值比较器74LS688和位置拨动开关DIP构成。因而,A/D卡线路的口地址可以通过拨动开关DIP来灵活选择。 由前述已知:根据PC系列I/O口地址分配要求,欲使扩展槽上的I/O板被选中,其地址应在200 H~3FFH范围内,为此需保证A9=1。当DIP设定的地址与执行软件时送出的地址(A9~ A2)一致,则74LS688选通,其19端输出的信号作为8255的片选信号(CS)。设8255的A、B、C口地址及控制端口分别为300H~303H,则口地址的设置如下所示: A9 A8 ,A7 A6 A5 A4 , A3 A2 A1 A0 1 1 ,0 0 0 0 ,0 0 0 0 300H ~ ~ 1 1 ,0 0 0 0 , 0 0 1 1 303H

文档评论(0)

1亿VIP精品文档

相关文档