单片机:模数转换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模数转换
一.单片机对ADC0809的控制过程
先选择一个模拟输入通道,本连接选择IN4。当执行MOVX @DPTR,A是,单片机WR有效,产生脉冲。脉冲给ADC0809的START,开始对模拟信号进行转换。当转换结束后EOC为高电平。一次转换结束。
二.单片机与ADC0809的连接
1.单片机P0.0-P0.7数据线接ADC0809的OUTI-OUT8.
2.单片机的地址线低8位接锁存器输出接ADC0809的三根地址线A,B,C.选通IN0-IN7通道。
3.START 为启动信号输入端,OE为输出允许端。由于ADC0809没有片选端,用P2.7与单片机的WR,RD进行控制。WR与P2.7接或非门控制START。RD 与P2.7接或非控制OE。
因为START与ALE连在一起,所以ADC0809A在锁存通道地址的同时,启动并进行转换。
4.单片机的CLK输出是被6分频之后的1MHZ,接一个触发器之后降频到500K 后与ADC0809连接使其正常运行。
三.单片机在读取ADC转换结果时有查询和中断两种方式
1.查询方式
程序如下
ORG 0000H
SJMP MAIN
EOC EQU P3.0
MAIN: MOV SP,#60H SP初值赋60H
MOV DPTR,#7FFCH IN4的地址7FFCH给DPTR
LL: MOV A,#0
MOVX @DPTR,A A值给7FFCH.启动转换器,开始转换
LCALL DL 延时程序,跳过EOC的延时
JNB P3.0,$ EOC变低电平。当EOC变高电平是转换完成。
MOVX A,@DPTR RD为低电平,OE为高电平,允许输出。
MOV P1,A 输出到P1口
SJMP LL
DL: MOV R7,#10
DJNZ R7,$
RET
END
2.中断方式
程序如下
ORG 0000H
SJMP MAIN
ORG 0003H
LJMP BB
MAIN: SETB EX0 打开外部中断子开关
SETB IT0 选择边沿触发方式
SETB EA 打开中断总开关
MOV DPTR,#7FFCH IN4地址给DPTR
MOV A,#0
MOVX @DPTR,A A值给7FFCH.启动转换器
SJMP $
中断程序
BB: MOVX A,@DPTR RD为低电平,OE为高电平,允许输出MOV P1,A
MOV A,#0
MOVX @DPTR,A A值给7FFCH.启动转换器
RETI 返回程序
END
四.示波器波形