51单片机AD采集电压通过串口每秒发送一次电压值


这个是题目要求,利用AD转换芯片ET2046每秒检测一次滑动变阻器电压,转换成ASCLL码后通过串口发送数据。同时加三个指示灯来显示现在的电压范围。
下面是这个AD芯片的电路原理图,还可以通过改变AD采集的地址来确定采集的器件(光敏电阻或者热敏电阻及外部输入等等)

主函数代码

#include “reg52.h”
#include “uart.h”
#include “rtc.h”
#include"adc.h"
sbit LED_R = P0^0;
sbit LED_Y = P0^1;
sbit LED_G = P0^2;
void main(void)
{
// unsigned char i;
unsigned char second = Ds1302Read(0X81);//读秒
unsigned long temp=0x00;
InitUart();
while(1)
{
if(second!=Ds1302Read(0X81))
{
second=Ds1302Read(0X81); //读秒
temp=Read_AD_Data(0x94);//AIN0 电位器
// SendChar(temp>>8); //高八位字节
// SendChar(temp&255); //低八位字节
temp=temp51000/4096;//转为毫伏
SendChar(temp/1000+‘0’);//千位
SendChar(‘.’);
SendChar(temp%1000/100+‘0’);//百位
SendChar(temp%1000%100/10+‘0’);//十位
SendChar(temp%1000%100%10+‘0’);//个位
SendChar(‘V’);
SendChar(‘\r’); //换行
SendChar(‘\n’);
if(temp>4000)
{
LED_R = 0;
LED_G = 1;
LED_Y = 1;
}
else if(temp>1000)
{
LED_R = 1;
LED_G = 0;
LED_Y = 1;
}
else
{
LED_R = 1;
LED_G = 1;
LED_Y = 0;
}
}
}
}

这些就是主函数代码,adc、uart等模块直接采样普通的相应模块底层代码即可,未修改

这个代码中我感觉最有意思的地方是读秒那个地方,采用的并非是定时器计数,而是通过读取ds1302的0x81(读秒地址)
second!=Ds1302Read(0X81)
second=Ds1302Read(0X81)
通过if判断秒是否变化和重新赋值来确定一秒,具体代码可看上面
这个地方我觉得还是很有趣的
然后3个LED灯就是通过很简单的if语句来判断了

自己写的51程序,亲测无误,大家有其他想法可以讨论。

51单片机AD采集滑动变阻器电压并通过串口每秒发送一次电压相关推荐

  1. 51单片机AD转换pcf8591+数码管显示+Proteus仿真二

    51单片机AD转换pcf8591+数码管显示+Proteus仿真二

  2. 51单片机--AD/DA

    AD/DA介绍 AD和DA是模拟信号和数字信号之间的转换过程. AD,全称为模拟到数字(Analog-to-Digital),指的是将模拟信号转换为数字信号的过程.在AD转换中,模拟信号经过采样.量化 ...

  3. 51单片机 AD转换

    在数逻的课程中,已经学习过AD转换的概念:将模拟信号采样.量化.编码后转换为数字信号.但是未学习过通过单片机编程,显示结果. 编码分有舍有入.只舍不入两种,量化误差前者更小.=2Vm/(2^n+1   ...

  4. 51单片机——AD/DA转换

    模数和数模转换 A:模拟量        D:数字量 模拟量:自然界连续变化的物理量.所谓连续,包含两个方面的含义: 一方面从时间上来说,它是随时间连续变化的: 另一方面从数值上来说,它的数值也是连续 ...

  5. 51单片机Proteus仿真+Keil工程-实验7-单片机AD和DA实验

    实验7-单片机AD和DA实验   之前做的一次实验,51单片机AD和DA实验,数模使用芯片0832,模数转换使用0809.在做实验时曾经遇到一个问题,模数转换0809是不是只能输出0~ 5V,能不能输 ...

  6. 基于51单片机电热水壶自动加热水温控制系统(源程序+仿真+论文)

    资料编号:210 设计任务:(注意:源程序是采用汇编语言编写) 利用单片机51单片机控制DS18B20温度传感器对水温的控制,当水温低于预设的温度值时系统开始加热(点亮红色发光二极管表示加热状态),当 ...

  7. LM335使用讲解之51单片机

    文章目录 LM335芯片讲解 Proteus仿真图 总结 资料包在此处 LM335芯片讲解 芯片手册英文版 主要特性 检测温度范围-40~100摄氏度 输出引脚TO可通过电位器改变输出电压,也可直接V ...

  8. 51单片机通过WIFI模块ESP8266控制LED灯

    完整源码下载地址:https://download.csdn.net/download/tongxin082/21440621 一.系统方案 手机APP通过ESP8266 WIFI模块与51单片机通信 ...

  9. 51单片机+ESP8266制作的门锁,含电路图、制板文件。支持密码、人脸、语音。

    51单片机+ESP8266制作的门锁,含电路图.制板文件.支持密码.人脸.语音. 硬件部分 软件部分 功能 第三方API.SDK 原理图 主要代码 程序执行流程 硬件部分 Esp-8266-01S(3 ...

最新文章

  1. E-UTRA channel bandwidths per operating band (36.101)
  2. 深度解析:会用Excel,还有必要学Python吗?
  3. CString LPCTSTR LPTSTR 类型的相互转化
  4. Windows Azure 部署 Windows 8 虚拟机
  5. 格林斯潘的一句话造成昨天(5月24日)股市大跌后爬升的分析
  6. USTC 1119 graph 图的同构
  7. bzoj 4653: [Noi2016]区间(尺取+线段树)
  8. 生成树协议计算机网络,【图片】生成树协议奇怪!我错哪了两边都绿了呀【计算机网络吧】_百度贴吧...
  9. rbf神经网络_黄小龙,陈阳舟:高阶非线性不确定多智能体系统自适应RBF神经网络协同控制...
  10. Spring整合MyBatis框架
  11. Go专栏“改善Go语言编程质量的50个有效实践”上线了
  12. shell脚本合集2
  13. 机器学习——数学基础1,方差平方差标准差均方误差均方根误差
  14. 计算机《画图》教案学生状态,电脑画图教案.doc
  15. Kinect黑客:机械人科技未来的转变者
  16. Android仿微信朋友圈查看全文/收起功能(雷惊风)
  17. Single-Domain Generalized Object Detection in Urban Scene via Cyclic-Disentangled Self-Distill阅读笔记
  18. 虚拟化在防泄密领域的缺点
  19. 盛大九年征程 盛大的娱乐帝国 盛大维稳
  20. html中写meta会乱码,网页html代码不可缺少的5个meta标签属性

热门文章

  1. 实验2 混频器性能的测试与分析
  2. 看了个电视剧《天空下的缘分》
  3. linux服务器版怎么安装桌面,如何在Ubuntu Server 18.04上安装GNOME桌面
  4. 华为数通HCIE面试项目题——100台路由器组网
  5. 常用天线 | 六种不同类型喇叭天线的介绍与仿真(附 HFSS 仿真文件下载)
  6. protel99技巧总结
  7. 云工具支持手机号md5解密、http服务端、json格式化
  8. ExoPlayer源码播放本地视频
  9. FP6291 输出5V1A,12V0.4A升压芯片
  10. 插本计算机哪个2b学校好,2019年专插本2B学校录取率有多高?(附:所有学校总录取率)...