×

adc0809与单片机连接图(附程序)

消耗积分:0 | 格式:doc | 大小:327KB | 2017-04-21

李武

分享资料个

adc0809与单片机连接图(附程序)

程序

#include《reg51.h》

#include《intrins.h》

sbit CLOCK=P2^7;

sbit OE=P2^6;

sbit START=P2^5;

unsigned char _data;

void init()

{

SM0=0; //SM01组合代表8位uart方式,波特率可变

SM1=1;

REN=1; //允许串行接受

TH1=0xF3; //波特率2400,误差0.12%

TL1=0XF3;

TMOD=0X20; //定时器1工作于8位自动重载模式, 用于产生波特率

EA=1; //总开关中断方式

ET1=0; //定时器1 不允许中断

ES=1; //允许串口中断

TR1=1; //计时器启动控制位

START=0;

OE=0;

}

void wait(unsigned char time) //产生时钟

{

unsigned char i,j;

for(i=0;i《time;i++)

for(j=0;j《125;j++)

{CLOCK=0;_nop_();_nop_();_nop_();_nop_();_nop_();

CLOCK=1;_nop_();_nop_();_nop_();_nop_();_nop_();}

}

void get()//获取数据

{

START=1;wait(10);

START=0;wait(10);

wait(10);

OE=1;

_data=P0;

OE=0;

START=0;

}

void show()//发送到串口与led灯

{

P1=_data;

TI=0;

SBUF=_data;

while(!TI);

TI=0;

}

void main()

{

unsigned char i;

int j=0;

init();//初始化

while(1)

{

P2=0;

j=0;

for(i=0;i《10;i++)//测10次后显示

{get();//获得数据

j+=_data;

}

_data=j/10;

show();//发送数据

adc0809与单片机连接图(附程序)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !