单片机设计AD转换(含有C程序和仿真).docVIP

单片机设计AD转换(含有C程序和仿真).doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机设计AD转换(含有C程序和仿真) ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路 模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实 际使用时采用ADC0809进行A/D转换。    \o 查看图片 ?? ADC0808管脚图 内部结构   ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。 引脚功能(外部特性)   ADC0808芯片有28条引脚,采用双列直插式封装,如右图所示。各引脚功能如下:   1~5和26~28(IN0~IN7):8路模拟量输入端。   8、14、15和17~21:8位数字量输出端。   22(ALE):地址锁存允许信号,输入,高电平有效。   6(START): A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。   7(EOC): A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。   9(OE):数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。   10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。   12(VREF(+))和16(VREF(-)):参考电压输入端   11(Vcc):主电源输入端。   13(GND):地。   23~25(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路    \o 查看图片 ??通道选择 通道选择 极限参数   电源电压(Vcc):6.5V   控制端输入电压:-0.3V~15V   其它输入和输出端电压:-0.3V~Vcc+0.3V   贮存温度:-65℃~+150℃   功耗(T=+25℃):875mW   引线焊接温度:①气相焊接(60s):215℃;②红外焊接(15s):220℃ 抗静电强度:400V 在protuse上的仿真图 在KEIL.C上的程序 #include reg51.h #define uchar unsigned char //======================= //声明 uchar n,j,k,i,A1,A2,A2t,A3,ad_value; sbit dula=P2^7; //start sbit wela=P2^6; //EO sbit P25=P2^5; //百位 sbit P24=P2^4;//十位 sbit P23=P2^3;//个位 sbit P22=P2^2; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //====================== //子函数 void delay(uchar i) //延时函数 { for (j=i;j0;j--) for (k=125;k0;k--) ; } //==================== //主函数 void main(void) { EA=1; EX0=1; IT0=1; dula=1; delay(2); dula=0; //开启start while(1) { P25=0; P24=1; P23=1; P22=1; P0=table[A1]; delay(1);//百位 P0=0x00; P25=1; P24=0; P23=1; P22=1; P0=table[A2]; delay(1); //十位 P0=0x00; P25=1; P24=1; P23=0; P22=1; P0=table[A3]; delay(1); //个位 P0=0x00; } } //======================== //中断函数 void time_0() interrupt 0 {P1=0xff; wela=1;//开启EO delay(2); ad_value=P1;

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档