一路ADC转换.doc
上传人:sy****28 上传时间:2024-09-12 格式:DOC 页数:6 大小:31KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

一路ADC转换.doc

一路ADC转换.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT6#include<reg51.h>#include<intrins.h>sfrADC_CONTR=0xBC;//ADC控制寄存器sfrADC_RES=0xBD;//ADC高八位结果存放寄存器sfrADC_LOW2=0xBE;//ADC低两位结果存放寄存器sfrP1ASF=0x9D;//P1口模拟功能控制寄存器P1ASFsfrIPH=0xb7;sbitEADC=IE^5;sbitled=P3^1;sbitled1=P3^2;#defineADC_POWER0x80//ADC电源控制位#defineADC_FLAG0x10//模数转换器转换结束标志位#defineADC_START0x08//模数转换器(ADC)转换启动控制位#defineADC_SPEED0x20//180个时钟周期转换一次#definePADCH0x40#definePADC0x40unsignedcharch=0;//unsignedchartemp[3];//用于存放6个通道的最终处理结果unsignedcharxdataADi[5][25];//用于存放6各通道的采样值unsignedcharcodedianyashuzi[10]={"0123456789"};//用于1602显示数字字符sbitrs=P2^4;//定义1602个端口sbitrw=P2^5;sbiten=P2^6;/*--------------------------------------------延时函数---------------------------------------------*/voiddelay(unsignedchart){unsignedcharx,y;for(x=t;x>0;x--)for(y=110;y>0;y--);}/*------------------------------------------------1602判忙函数------------------------------------------------*/bitlcd_busy(void){P0=0xFF;rs=0;rw=1;en=0;_nop_();//稍作延时en=1;//高电平有效return(bit)(P0&0x80);}/*------------------------------------------------1602写入命令函数------------------------------------------------*/voidwritecom(unsignedcharcom){while(lcd_busy());rs=0;rw=0;en=1;P0=com;//写入命令delay(5);//稍作延时en=0;//下降沿有效}/*------------------------------------------------1602写入数据函数------------------------------------------------*/voidwritedate(unsignedchardate){while(lcd_busy());rs=1;rw=0;en=1;P0=date;//写入数据delay(5);//稍作延时en=0;//下降沿有效}/*------------------------------------------------1602写入字符函数------------------------------------------------*/voidsendchar(unsignedcharc,unsignedchari,unsignedcharj){if(i==1)//判断要显示字符或数字所在行数writecom(0x80+j);//写入字符或数字所在位置(第1行?elsewritecom(0xc0+j);//写入字符或数字所在位置(第2行writedate(c);//写入字符}/*------------------------------------------------1602写入数字函数------------------------------------------------*/voidsends(unsignedcharc,unsignedchari,unsignedcharj){if(i==1)