毕业设计之光照感应模块ADC0832的运用 您所在的位置:网站首页 adc0832实物图 毕业设计之光照感应模块ADC0832的运用

毕业设计之光照感应模块ADC0832的运用

2024-07-12 14:17| 来源: 网络整理| 查看: 265

在这里插入图片描述 ADC0832的作用: 将电路中的模拟量转化为数值量 ①采样 采样间隔t, 采样频率1/t 必须是最高频率的两倍 ②量化 将采样的电平转化为数字量 在本设计中,给定采光电路的电压0~5V,所以被ADC所收到的数据也是0 ~ 5V之间的数值,举个例子来说,若接收到一个2.5V的电压,在量化时就可以得到数量级大概在为128,由于8位分辨率位256级,每一级对应的电压为5/256 = 19.53mv, (128/256*19.53)=2.5V,所以单片机通过接收到1000 0000就知道数量级为128,从而得到2.5V的电压。

ADC0832编程: 在这里插入图片描述 时序图 在这里插入图片描述 ADC0832芯片第一个时钟DI为高电平,第二第三个时钟选择通道,1 0选通道0,0 1选通道1,从第三个时钟开始到第11个时钟,接收8bit数据,从12到19个时钟第二次接收数据,如果两次接收的一样,就输出。 代码: u8 ADC0832_read(u8 CHX); //CHX是单片机发送给ADC0832的第三位,该位确定芯片选择哪个通道进行工作,函数返回ADC0832芯片DO的得到的数字量,该数字量即为模数转化芯片的通过量化取得数量级,通过该值进行一定的计算就得到了电路中电压的值。

#ifndef _ADC0832_H_ #define _ADC0832_H_ #include #define u8 unsigned char /** 下面是芯片需要与单片机连接的引脚 除了下面的引脚之外,还需要将Vcc接5V供电与GND引脚接地 **/ sbit ADC_CS = P2^7; sbit ADC_CLK = P2^3; sbit ADC_DO = P2^2; sbit ADC_DI = P2^2; /** void ADC0832_start(); 按照时序图所示: 为ADC0832启动的代码,CHIP SELECT(CS)一个下降沿 DATA(DI)为为高电平 CLOCK(CLK)为低电平置低 **/ void ADC0832_start() { ADC_CS = 1; //禁用ADC0832芯片 ADC_CS = 0; //开始 ADC_DI = 1; ADC_CLK = 1; ADC_CLK = 0; //第一个下降沿DI为1 } /** u8 ADC0832_read(u8 CHX) 参数:CHX 表示选择芯片的通道 返回值:获得光照强度的值,该值为0~255之间的某一个量化的数值,例如00010000 32 **/ u8 ADC0832_read(u8 CHX) //通道0 第二位为1,第三位为0 { //通道1 第二位为1,第三位为1 u8 temp,i; ADC0832_start(); if(CHX == 0) //选择通道0,下降沿触发 { ADC_DI = 1; ADC_CLK = 1; ADC_CLK = 0; ADC_DI = 0; ADC_CLK = 1; ADC_CLK = 0; } else //选择通道1 { ADC_DI = 1; ADC_CLK = 1; ADC_CLK = 0; ADC_DI = 1; ADC_CLK = 1; ADC_CLK = 0; } ADC_CLK = 1; ADC_CLK = 0; for(i =8 ;i>0 ;i--) //接受8位数从高位向低位 { temp gz_value = ADC0832_read(0); //将获得光照强度的数值保存在gz_value gz_value = ((gz_value*5)/255);// gz_value = gz_value/5*100;//可以将光照强度转化为1~99之间的数值 }

完整的电路图 毕业设计论文 基于单片机的智能窗帘控制系统的设计与实现 单片机各模块设计脑图 时钟模块设计 时钟模块设计详细设计 光照感应模块 光照感应模块详细设计



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有