根据由0809连接电路图和IN指令时序可知:读入转换结果程序段:CLKA9~A0001000000010MOVDX,202HINAL, DXD7~D0IOR地址可为200~207h中的任一个OE在I0R低电平期间,0809的OE为高电平,将内部三态门打开将转换结果送至数据线,进入CPU的AL中
T T1 T2 T3 Tw 4 A9~A0 CLK D7 ~ D0 IOR OE 读入转换结果程序段: MOV DX, 202H IN AL, DX 地址可为 200~207h中的任一个 在IOR低电平期间,0809的OE为高电平,将内部三态门打开, 将转换结果送至数据线,进入CPU的AL中。 根据由0809连接电路图和IN指令时序可知: 0010 0000 0010
利用上例0809的基本连线图,分别采用程序延时、查询、中断方式进行A/D转换转换100H个数据,将结果放在定义的缓冲区buffer中。INOD0~D7D7~D02Z222222A0ABCAL200~207H译码A9~A3ALE≥1START1OW≥1OEIOREOC转换完成信号EOC,根据CPU读取数字量的方式连线
利用上例0809的基本连线图, 分别采用程序延时、查询、中断方式进行A/D转换, 转换100H个数据,将结果放在定义的缓冲区 buffer中。 转换完成信号EOC,根据CPU读取数字量的方式连线。 D0~D7 D7~ D0 START IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 A0 A1 A2 A B C ALE OE IOW IOR A9~A3 译码 200~207H EOC ≥1 ≥1
1)程序延时方式硬件线路中,EOC信号不用连线IMOVAX,DATA设置缓冲区首址MOVDS,AX设置转换个数LEADI, buferMOVCX, 100H启动A/D转换MOVDX. 202h;启动转换next:OUTDX,AL延时等待;延时CALLdelayA/D转换结束MOVDX,202H;读取结果INAL, DX读取A/D转换结果MOV[D]],ALDIINC转换下一数据量LOOPnextNI
1) 程序延时方式 硬件线路中,EOC信号不用连线 、 MOV AX,DATA MOV DS,AX LEA DI, bufer MOV CX, 100H next: MOV DX, 202h ;启动转换 OUT DX, AL CALL delay ;延时 MOV DX, 202H ;读取结果 IN AL, DX MOV [DI],AL INC DI LOOP next 、 启动A/D转换 读取A/D转换结果 延时等待 A/D转换结束 Y N 设置缓冲区首址 设置转换个数 转换下一数据?
2)程序查询方式在启动转换后,查询EOC的状态,待EOC为高电平后,再读取转换结果。EOC信号不能直接与数据总线连,应通过并行端口连入。模拟输入INxA~CALESTARTEOCOE三态数字输出D7~DO
2) 程序查询方式 在启动转换后,查询EOC的状态, 待EOC为高电平后,再读取转换结果。 EOC 信号不能直接与数据总线连,应通过并行端口连入。 数字输出D7~D0 EOC OE 模拟输入INx A~C ALE START 三 态