和大家分享我写地AD0832地程序,已调试通过.docVIP

  • 2
  • 0
  • 约1.56万字
  • 约 23页
  • 2018-08-22 发布于江苏
  • 举报

和大家分享我写地AD0832地程序,已调试通过.doc

和大家分享我写地AD0832地程序,已调试通过

?和大家分享我写的AD0832的程序,已调试通过. uchar adc0832(uchar channel)?? //读ADC0832函数,采集并返回 { uchar i=0; uchar j; uint dat2=0; uchar ndat=0; if(channel==0)channel=2; if(channel==1)channel=3; AD_CS=0;NOP;??//拉低CS端,AD片选 DI=1;NOP; ?? //在第一个脉冲下降之前 DI 必须是高电平,表示启始信号 SCK=1;NOP;?? SCK=0;NOP; SCK=1;?????????????????? DI=channel0x1;NOP;//在第二和第三个脉冲下降之前 DI 输入两位表示通道 SCK=0;NOP;?? SCK=1;?????????????????? DI=(channel1)0x1;NOP; SCK=0;???????????????????? //写命令完成,DI失去输入作用 DI=1;NOP;???? dat2=0; for(i=0;i8;i++) ?????? //读出8字节数据 { dat2|=DO; SCK=1;NOP; SCK=0;NOP; dat2=1; if(i==7)dat2|=DO; } ?? for(i=0;i8;i++) { j=0; j=j|DO; SCK=1;NOP; SCK=0;NOP; j=j7; ndat=ndat|j; if(i7)ndat=1; } AD_CS=1; SCK=0; DO=1; dat2=8; dat2|=ndat; return(dat2);??????????????//返回数据 } 调试 HYPERLINK /partno/AD0832.htm \o AD0832货源和PDF资料 \t _blank AD0832时遇到的问题。根据时序图,在第四脉冲下降沿至第十九脉冲为有效数据输出。可是问题是,不仅得到的高位先输出的结果和低位先输出的结果不同,且都不等于实际输入值。输入的模拟电压为直流电压源。换算公式: 255÷51=5.00V 程序如下: AD_DATAEQU40H AD_CSEQUP1.2 AD_DOIEQUP1.1 AD_CLKEQUP1.0 ORG0000H AD: CLRAD_CS NOP SETBAD_CS NOP LCALL DEL1MS CLRAD_CS SETBAD_DOI;设置CH0, LCALL PULSE1 CLRAD_DOI LCALL PULSE1 SETBAD_DOI LCALL PULSE1 nop nop MOVR5,#08H MOVA,#00H AD_READ1: LCALL PULSE1;读8位AD结果,存于B MOVC,AD_DOI;读D7,D6,D5,D4,D3,D2,D1,D0带进位循环左移移位 RLCA DJNZR5,AD_READ1 MOVB,A MOVR5,#07H RRA AD_READ2: LCALL PULSE1;比较两次结果 MOVC,AD_DOI;读D0,D1,D2,D3,D4,D5,D6,D7带进位循环右移移位 RRCA DJNZR5,AD_READ2 CJNEA,B,AD SETBAD_CS CLRAD_CLK SETBAD_DOI MOVAD_DATA,A RET PULSE1: SETBAD_CLK nop nop CLRAD_CLK RET DEL1MS: NOP MOVR7,#1 DELAY: MOVACC,#250 DEL: NOP NOP DJNZACC DJNZR7,DELAY RET END 请问这个问题该怎么解决?很急,谢了。对了,无论模拟输入电压为多少,第四脉冲下降沿DO输出始终为1。 标签: 无标签 HYPERLINK /zhaoyushan/36611/message.aspx \l # AD0832 二.???????????? 串行AD转换器ADC0832的使用 单片机控制系统中通常要用到AD转换,根据输出格式,常用的AD转换方式可分为并行AD和串行AD。并行方式一般在转换后可直接接收,但芯片的引脚比较多;串行方式所用芯片引脚少,封装小,但需要软件处理才能得到所需要的数据。可是单片机I/O引脚本来就不多,使用串行器件可以节省I/O资源。 ADC0832是8位逐次逼近模数转换器,可支持两个单端输入通道和一个差分输入通道。相同功能的器件还有ADC0834,ADC0838,ADC0831。所不同的是它们的输入通道数量不同。它们的通道选择和配置都是通过软件设置。AD0832的主要特点如下: ● 易于和微处理器接口或独立使用; ● 可满量程工作; ● 可用地址逻辑多路

文档评论(0)

1亿VIP精品文档

相关文档