浅析51单片机的adc0809c程序代码.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅析51单片机的adc0809c程序代码

#include at89c51.h #define uchar unsigned char#define uint unsigned int sbit st=P3^2; //ST 为转换启动信号。当 ST 上跳沿时,所有内部寄存器清零; //下跳沿时,开始进行 A/D 转换;在转换期间,ST 应保持低电平sbit oe=P3^1; // OE 为输出允许信号,用于控制三条输出锁存器向 //单片机输出转换得到的数据,OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态sbit eoc=P3^0; //EOC 为转换结束信号。当 EOC 为高电平时,表明转 //换结束;否则,表明正在进行 A/D 转换uchar code tab[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};// 数码管显示段码uchar code td[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};// 通道先择数组uint ad_0809,ad_data1,ad_data2,ad_data3,ad_data0; uchar m,number; uchar x[8];//八通道数据待存数组void delaynms(uint x);//nms 延时程序void display();//显示程序void ad0809();//芯片启动程序void key();//键扫描程序void main() {number=1; P1=0x00; while(1) { ad0809();//调 AD0809 启动子程序key();//调按键子程序ad_0809=x[number];//把相关通道数据给 ad_0809 display();//调显示}} //nms 延时程序void delaynms(uint x) { uchar i; while(x--0) { for(i=0;i125;i++) {;}}} void display() { uchar a; ad_data1=(ad_0809*49/25)/100; // 读得的数据乘以 2 再乘以 98%除以 100 得百位ad_data2=((ad_0809*49/25)%100)/10; // 读得的数据乘以 2 再乘以 98%再分出十位ad_data3=(((ad_0809*49/25)%100)%10); // 读得的数据乘以 2 再乘以 98%再分出个位for(a=0;a10;a++) { P0=tab[ad_data3]; //送小数点后第二位显示P2=0x07; //选通第一个数码管delaynms(3); P0=tab[ad_data2]; //送小数点后第一位显示P2=0x0b; //选通第二个数码管delaynms(3); P0=tab[ad_data1]; //送整数显示P0_7=0; //点亮第三个数码管小数点P2=0x0d; // 选通第三个数码管delaynms(3); P0=tab[number]; //送通道号显示P2=0x0e; delaynms(3); }} void ad0809() { uchar i,m=1; for(i=0;i8;i++) { P0=td[i]; //选通通道oe=0; //以下三条指令为起动 AD0809 st=0; st=1; st=0; delaynms(1); while(!eoc); //等待转换结束oe=1; //取出读得的数据x[m]=P2; //送相关通道数组oe=0; m++; }} void key() { if(!P3_5) //P3.5 是否按下{ delaynms(20); //延时判误if(!P3_5) //再一次判断 P3。5 是否按下 { while(!P3_5); //等待 P3。5 为高电平number++; //通道号

文档评论(0)

jcc001 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档