当前位置:首页 > ADC0809与单片机的接口设计
二,ADC0808/0809与8031单片机的接口设计
ADC0808/0809与8031单片机的硬件接口有三种方式,查询方式,中断方式和等待延时方式.究竟采用何种方式,应视具体情况,按总体要求而选择. 1.延时方式
ADC0809编程模式
在软件编写时,应令p2.7=A15=0;A0,A1,A2给出被选择的模拟通道的地址; 执行一条输出指令,启动A/D转换; 执行一条输入指令,读取A/D转换结果. 通道地址:7FF8H~7FFFH
下面的程序是采用延时的方法,分别对8路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采样转换程序.
START: MOV R1, #50H ;置数据区首地址 MOV DPTR, #7FF8H ;P2.7=0且指向通道0 MOV R7, #08H ;置通道数
NEXT: MOVX @DPTR,A ;启动A/D转换 MOV R6, #0AH ;软件延时 DLAY: NOP NOP NOP
DJNZ R6, DLAY
MOVX A, @DPTR ;读取转换结果 MOV @ R1, A ;存储数据 INC DPTR ;指向下一个通道 INC R1 ;修改数据区指针
DJNZ R7, NEXT ;8个通道全采样完了吗 ........
2.中断方式
将ADC0808/0809作为一个外部扩展的并行I/O口,直接由8031的P2.0和脉冲进行启动.通道地址为FEF8H~FEFFH
用中断方式读取转换结果的数字量,模拟量输入通路选择端A,B,C分别与8031的P0.0,P0.1,P0.2(经74LS373)相连, CLK由8031的ALE提供.
INTADC:SETB IT1 ;选择为边沿触发方式 SETB EA ;开中断 SETB EX1 ;
MOV DPTR, #0FEF8H ;通道地址送DPTR MOVX @DPTR,A ;启动A/D转换 ……
PINT1: ……
MOV DPTR, #0FEF8H ; 通道地址送DPTR
MOVX A, @ DPTR;读取从IN0输入的转换结果存入 MOV 50H, A ;50H单元
MOVX @DPTR,A ;启动A/D转换 RETI ;中断返回
三,接口电路设计中的几点注意事项
1.关于ADC0808/0809最高工作时钟频率的说明
由于ADC0808/0809芯片内无时钟,所以必须靠外部提供时钟;
外部时钟的频率范围为10KHZ~1280KHZ.在前面的ADC0808/0809通过中断方式与8031单片机接口的电路中,8031单片机的主频接为6MHZ,ALE提供ADC0808/0809的时钟频率为1MHZ(1000KHZ); 实际应用系统使用证明,ADC0808/0809能够正常可靠地工作.但在用户进行ADC0808/0809应用设计时,推荐选用640KHZ左右的时钟频率. 2,ADC0816/17与ADC0809的主要区别
ADC0816/0817与ADC0808/0809相比,除模拟量输入通道数增至16路,封装为40引脚外,其原理,性能结构基本相同.
ADC0816和ADC0817的主要区别是: ADC0816的最大不可调误差为±1/2LSB,精度高,价格也高; ADC0817的最大不可调误差为士1LSB,价格低.
共分享92篇相关文档