PCF8591 4路AD中的4路检测外部模拟量输入

2024-06-19 14:18

本文主要是介绍PCF8591 4路AD中的4路检测外部模拟量输入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/*-----------------------------------------------名称:IIC协议 PCF8591 AD/DA转换论坛:www.doflye.net编写:shifang修改:无内容:使用4路AD中的4路检测外部模拟量输入(main.c)
------------------------------------------------*/  
#include <reg52.h>                
#include "i2c.h"
#include "delay.h"
#include "display.h"#define AddWr 0x90   //写数据地址 
#define AddRd 0x91   //读数据地址extern bit ack;
bit ReadADFlag;unsigned char ReadADC(unsigned char Chl);
bit WriteDAC(unsigned char dat);
/*------------------------------------------------主程序
------------------------------------------------*/
main()
{unsigned char num=0,i;Init_Timer0();DelayMs(20);while (1)         //主循环{if(ReadADFlag){ReadADFlag=0; 
//连续读5次,输入通道后多读几次,取最后一次值,以便读出稳定值for(i=0;i<5;i++)num=ReadADC(0);
// x10表示把实际值扩大10,如4.5 变成 45 方便做下一步处理 x5 表示基准电压5V num=num*5*10/256;   TempData[0]=dofly_DuanMa[num/10]|0x80;    TempData[1]=dofly_DuanMa[num%10];for(i=0;i<5;i++)num=ReadADC(1);num=num*5*10/256;   // x10表示把实际值扩大10,如4.5 变成 45 方便做下一步处理TempData[2]=dofly_DuanMa[num/10]|0x80;    TempData[3]=dofly_DuanMa[num%10];for(i=0;i<5;i++)num=ReadADC(2);num=num*5*10/256;   // x10表示把实际值扩大10,如4.5 变成 45 方便做下一步处理TempData[4]=dofly_DuanMa[num/10]|0x80;    TempData[5]=dofly_DuanMa[num%10];for(i=0;i<5;i++)num=ReadADC(3);num=num*5*10/256;   // x10表示把实际值扩大10,如4.5 变成 45 方便做下一步处理TempData[6]=dofly_DuanMa[num/10]|0x80;    TempData[7]=dofly_DuanMa[num%10];//主循环中添加其他需要一直工作的程序}}
}
/*------------------------------------------------读AD转值程序
输入参数 Chl 表示需要转换的通道,范围从0-3
返回值范围0-255
------------------------------------------------*/
unsigned char ReadADC(unsigned char Chl){unsigned char Val;Start_I2c();               //启动总线SendByte(AddWr);             //发送器件地址if(ack==0)return(0);SendByte(Chl);            //发送器件子地址if(ack==0)return(0);Start_I2c();SendByte(AddRd);if(ack==0)return(0);Val=RcvByte();NoAck_I2c();                 //发送非应位Stop_I2c();                  //结束总线return(Val);}
/*------------------------------------------------写入DA转换数值
输入参数:dat 表示需要转换的DA数值,范围是0-255
------------------------------------------------*/
/*bit WriteDAC(u

这篇关于PCF8591 4路AD中的4路检测外部模拟量输入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075264

相关文章

spring-boot-starter-thymeleaf加载外部html文件方式

《spring-boot-starter-thymeleaf加载外部html文件方式》本文介绍了在SpringMVC中使用Thymeleaf模板引擎加载外部HTML文件的方法,以及在SpringBoo... 目录1.Thymeleaf介绍2.springboot使用thymeleaf2.1.引入spring

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

Window Server2016加入AD域的方法步骤

《WindowServer2016加入AD域的方法步骤》:本文主要介绍WindowServer2016加入AD域的方法步骤,包括配置DNS、检测ping通、更改计算机域、输入账号密码、重启服务... 目录一、 准备条件二、配置ServerB加入ServerA的AD域(test.ly)三、查看加入AD域后的变

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.