基于51单片机和ADC0809数模转换的C程序.doc

基于51单片机和ADC0809数模转换的C程序.doc

ID:55128983

大小:24.00 KB

页数:5页

时间:2020-04-28

基于51单片机和ADC0809数模转换的C程序.doc_第1页
基于51单片机和ADC0809数模转换的C程序.doc_第2页
基于51单片机和ADC0809数模转换的C程序.doc_第3页
基于51单片机和ADC0809数模转换的C程序.doc_第4页
基于51单片机和ADC0809数模转换的C程序.doc_第5页
资源描述:

《基于51单片机和ADC0809数模转换的C程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#defineucharunsignedchar#defineuintunsignedint/********************定义LCD1602接口信息********************************/sbitlcdrs=P3^0;//数据命令选择位sbitlcden=P3^1;//使能位sbitlcdrw=P3^2;/********************定义ADC0808接口信息*******************************

2、*/sbitADA=P2^0;sbitADB=P2^1;sbitADC=P2^2;sbitEOC=P2^3;sbitCLK=P2^4;sbitSTART=P2^5;sbitOE=P2^6;/*****************键盘管脚定义*************/sbitkey1=P3^3;sbitkey2=P3^7;/*********************定义数据********************************/uchartab1[]={48,46,48,48,48,46,48,48,48,46,48,48,48

3、,46,48,48};//存放AD采集数据uchartab2[]={48,46,48,48,48,46,48,48,48,46,48,48,48,46,48,48};uchartab3[]="TONGLU:";uchartab4[]="DIANYA:";uchartab5[]="";ucharnum,m=0,getdata=0;uinttemp=0;/*延时函数*/voiddelay(uchart){ucharx,y;for(x=t;x>0;x--)for(y=110;y>0;y--);}voiddelayl(ucharltime){

4、uchari;for(i=ltime;i>0;i--)delay(255);}/*写命令函数*/voidwrite_com(ucharcom){lcdrs=0;P0=com;delay(10);lcden=1;delay(10);lcden=0;}/*写数据函数*/voidwrite_data(uchardate){lcdrs=1;P0=date;delay(10);lcden=1;delay(10);lcden=0;}voiddisp(ucharh,l,uchar*p){write_com(0x80+h*0x40+l);while(

5、*p!=''){write_data(*p);p++;}}/*初始化函数*/voidLcdInit(){lcdrw=0;delay(5);lcden=0;//使能位置低电平write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);delayl(20);}voidTimeInit(){TMOD=0x10;//定时器1工作于方式1,16位不重装初值TH1=(65536-200)/256;//定时200us(5KHz)TL1=(6553

6、6-200)%256;EA=1;ET1=1;TR1=1;}voidAdTr(bitADDA,ADDB,ADDC,ucharchannel){START=0;OE=0;START=1;START=0;//A/D转换启动信号,正脉冲启动选中的模拟信号开始转换ADA=ADDA;ADB=ADDB;ADC=ADDC;delay(5);while(EOC==0);//启动转换后EOC变为L,转换结束后变为HOE=1;getdata=P1;temp=getdata*1.0/255*500;OE=0;if(channel<4){tab1[4*chan

7、nel]=temp/100+0x30;tab1[4*channel+2]=(temp%100)/10+0x30;tab1[4*channel+3]=(temp%100)%10+0x30;}if(channel>=4){channel=channel-4;tab2[4*channel]=temp/100+0x30;tab2[4*channel+2]=(temp%100)/10+0x30;tab2[4*channel+3]=(temp%100)%10+0x30;}}voidkeyscan()/*按键2进行减1*/{uintk;if(key

8、1==0){m--;if(m<5){write_com(0x80+0x07);write_data(tab5[m-1]);write_com(0x80+0x47);for(k=0;k<4;k++)write_data(t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。