#include "includes.h"
sbit K1 = P1^1;
sbit K2 = P1^2;
sbit K3 = P1^3;
sbit K4 = P1^4;
uint AD_value;
void delay_ms(unsigned char ms)
{
unsigned char i;
while(ms--)
for(i = 0; i < 100; i++);
}
void Init_Uart()//初始化串口
{//***晶振:11.0592MHZ,波特率:9600***
TMOD=0x20;
SCON=0x50;
TH1=0xfA;
TL1=0xfA;
PCON=0x80;
TR1=1;
EA=1;
//ES=0;
RI=0;
TI=0;
SM0=0;
SM1=1;
REN=1;//允许串行接收位
EA=1;
ES=1;
}
void PutChar(uchar i)
{
SBUF=i;
while(!TI);
TI=0;
}
void main()
{
init();
Init_Uart();
while(1)
{
if(K1 == 0)
{
delay_ms(20);
while(!K1)
{
write_com(0x01);
}
AD_value = (uint)((4.096 * 2 * ADC_ave(0) * 1000)/65535);
write_com(0x80);
write_date(tab[AD_value/10000]);
write_date(tab[AD_value%10000/1000]);
write_date('.');
write_date(tab[AD_value%1000/100]);
write_date(tab[AD_value%100/10]);
write_date(tab[AD_value%10]);
write_date('V');
PutChar('A');
PutChar('D');
PutChar('0');
PutChar(tab[AD_value/10000]);
PutChar(tab[AD_value%10000/1000]);
PutChar('.');
PutChar(tab[AD_value%1000/100]);
PutChar(tab[AD_value%100/10]);
PutChar(tab[AD_value%10]);
}
if(K2 == 0)
{
delay_ms(20);
while(!K2)
{
write_com(0x01);
}
AD_value = (uint)((4.096 * 2 * ADC_ave(1) * 1000)/65535);
write_com(0x80 + 8);
write_date(tab[AD_value/10000]);
write_date(tab[AD_value%10000/1000]);
write_date('.');
write_date(tab[AD_value%1000/100]);
write_date(tab[AD_value%100/10]);
write_date(tab[AD_value%10]);
write_date('V');
PutChar('A');
PutChar('D');
PutChar('1');
PutChar(tab[AD_value/10000]);
PutChar(tab[AD_value%10000/1000]);
PutChar('.');
PutChar(tab[AD_value%1000/100]);
PutChar(tab[AD_value%100/10]);
PutChar(tab[AD_value%10]);
}
if(K3 == 0)
{
delay_ms(20);
while(!K3)
{
write_com(0x01);
}
AD_value = (uint)((4.096 * 2 * ADC_ave(2) * 1000)/65535);
write_com(0xc0);
write_date(tab[AD_value/10000]);
write_date(tab[AD_value%10000/1000]);
write_date('.');
write_date(tab[AD_value%1000/100]);
write_date(tab[AD_value%100/10]);
write_date(tab[AD_value%10]);
write_date('V');
PutChar('A');
PutChar('D');
PutChar('2');
PutChar(tab[AD_value/10000]);
PutChar(tab[AD_value%10000/1000]);
PutChar('.');
PutChar(tab[AD_value%1000/100]);
PutChar(tab[AD_value%100/10]);
PutChar(tab[AD_value%10]);
}
if(K4 == 0)
{
delay_ms(20);
while(!K4)
{
write_com(0x01);
}
AD_value = (uint)((4.096 * 2 * ADC_ave(3) * 1000)/65535);
write_com(0xc0 + 8);
write_date(tab[AD_value/10000]);
write_date(tab[AD_value%10000/1000]);
write_date('.');
write_date(tab[AD_value%1000/100]);
write_date(tab[AD_value%100/10]);
write_date(tab[AD_value%10]);
write_date('V');
PutChar('A');
PutChar('D');
PutChar('3');
PutChar(tab[AD_value/10000]);
PutChar(tab[AD_value%10000/1000]);
PutChar('.');
PutChar(tab[AD_value%1000/100]);
PutChar(tab[AD_value%100/10]);
PutChar(tab[AD_value%10]);
}
if(AD_value > 5000)
{
}
}
}
51单片机实现用ADS1115采集0~5V电压
5星 · 超过95%的资源 需积分: 42 121 浏览量
2015-10-20
23:12:34
上传
评论 13
收藏 57KB ZIP 举报
蒲公英291
- 粉丝: 103
- 资源: 22
最新资源
- 基于CSS的响应式鲜花网站全屏效果设计源码
- 基于JavaScript的访客预约系统设计源码
- 基于Vue和ECharts的工作租房数据可视化系统设计源码
- 1040g0cg310ravpiu6ibg5pg00tsipsln3ju2d0g 2
- 基于Python的SAR图像去噪CNN-NLM设计源码
- redhat6升级到redhat7,过程redhat6.x-> redhat6.10->rehat7.9 主版本最高版本
- 基于Django的流程引擎设计源码
- 基于Node.js的Express框架与MySQL的后台管理系统设计源码
- 基于Java的Flink流批一体数据处理快速集成开发框架设计源码
- FirstFilterOrderCompare
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页