ADC0809 :8 位逐次逼近型A/D转换器

来源:互联网 发布:linux 终端关闭全屏 编辑:程序博客网 时间:2024/05/30 07:14

ADC0809A/D转换器:cs0809接地址x

IN0-IN7:8 条模拟量输入通道的地址为:[x、x+1、x+2、x+3、x+4、x+5、x+6、x+7]

ADC0809 EOC(EOC 为转换结束信号。当EOC 为高电平时,表明转换结束(我实验中是低电平时,表明转换结束)接到8255的pc0上(8255(8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口)pc口设为为输入)。

ADC0809启动:

l:mov dx,INx的地址      ;启动0809输出任意值到INx端口)

out dx,al

判断是否转换完成

tst:

mov dx,8255的C口地址(CS8255地址+2          ;读8255的C口

in al,dx

test al,00000001b

jnz tst ;测0809EOC的值(理论上当EOC 为高电平时,表明转换结束(我实验中是低电平时,表明转换结束))

读输入数据

mov dx,INx的地址;读0809INx

in al,dx


mov dx,输出地址

out dx,al

jmp l

使用ADC0809和DAC0832等模块独立完成输入输出通道的实验:通过模拟量信号控制直流电机的转速。Lines:8255:220 pc0接0809 EOC0809:210  IN3接电位器0832:200  OUT接电机.model small.codestart:mov al,10001001b   ;初始化8255mov dx,223hout dx,all:mov dx,213h       ;启动0809out dx,altst:mov dx,222h            ;读8255的C口in al,dxtest al,00000001bjnz tstmov dx,213h  ;读0809in al,dxmov dx,203h;输出到OUT口out dx,aljmp lend start





0 0
原创粉丝点击