51单片机多路数据采集器实现以下功能:1.通过原始代码,调试光敏电阻和热敏 电阻,记录粗值。 2.通过光敏电阻实现,调光灯控制器, 根据不同的照度值,让8盏灯逐一亮灭。 3.通过热敏电阻实现,蜂鸣器发声 的程序
时间: 2024-06-09 21:07:02 浏览: 14
以下是51单片机多路数据采集器的代码实现:
```c
#include <reg52.h> // 引入51单片机头文件
sbit L1 = P1^0; // 定义8盏灯的控制引脚
sbit L2 = P1^1;
sbit L3 = P1^2;
sbit L4 = P1^3;
sbit L5 = P1^4;
sbit L6 = P1^5;
sbit L7 = P1^6;
sbit L8 = P1^7;
sbit BEEP = P2^3; // 定义蜂鸣器控制引脚
void delay(unsigned int xms) // 延时函数
{
unsigned int i, j;
for(i = xms; i > 0; i--)
for(j = 112; j > 0; j--);
}
void main() // 主函数
{
unsigned int AD_Value1, AD_Value2; // 定义两个变量存储光敏电阻和热敏电阻读取的AD值
unsigned char i = 0; // 定义循环计数器
while(1) // 循环读取AD值并进行相应控制
{
ADC_CONTR = 0x87; // 启动AD转换
delay(10); // 等待转换完成
AD_Value1 = ADC_RES; // 读取光敏电阻的AD值
ADC_CONTR = 0x85; // 启动AD转换
delay(10); // 等待转换完成
AD_Value2 = ADC_RES; // 读取热敏电阻的AD值
if(AD_Value1 < 20) // 如果光照度小于20,所有灯熄灭
{
L1 = L2 = L3 = L4 = L5 = L6 = L7 = L8 = 0;
}
else if(AD_Value1 < 50) // 如果光照度小于50,亮第一盏灯
{
L1 = 1;
L2 = L3 = L4 = L5 = L6 = L7 = L8 = 0;
}
else if(AD_Value1 < 80) // 如果光照度小于80,亮前两盏灯
{
L1 = L2 = 1;
L3 = L4 = L5 = L6 = L7 = L8 = 0;
}
else if(AD_Value1 < 110) // 如果光照度小于110,亮前三盏灯
{
L1 = L2 = L3 = 1;
L4 = L5 = L6 = L7 = L8 = 0;
}
else if(AD_Value1 < 140) // 如果光照度小于140,亮前四盏灯
{
L1 = L2 = L3 = L4 = 1;
L5 = L6 = L7 = L8 = 0;
}
else if(AD_Value1 < 170) // 如果光照度小于170,亮前五盏灯
{
L1 = L2 = L3 = L4 = L5 = 1;
L6 = L7 = L8 = 0;
}
else if(AD_Value1 < 200) // 如果光照度小于200,亮前六盏灯
{
L1 = L2 = L3 = L4 = L5 = L6 = 1;
L7 = L8 = 0;
}
else if(AD_Value1 < 230) // 如果光照度小于230,亮前七盏灯
{
L1 = L2 = L3 = L4 = L5 = L6 = L7 = 1;
L8 = 0;
}
else // 如果光照度大于230,所有灯亮
{
L1 = L2 = L3 = L4 = L5 = L6 = L7 = L8 = 1;
}
if(AD_Value2 > 100) // 如果热敏电阻的温度大于100,蜂鸣器鸣叫
{
for(i = 0; i < 50; i++) // 循环50次
{
BEEP = 0; // 蜂鸣器控制引脚输出低电平
delay(1); // 延时1ms
BEEP = 1; // 蜂鸣器控制引脚输出高电平
delay(1); // 延时1ms
}
}
else // 否则蜂鸣器不鸣叫
{
BEEP = 1; // 蜂鸣器控制引脚输出高电平
}
}
}
```
注释已经详细解释了代码实现过程。需要注意的是,此代码仅供参考,具体实现需要根据具体硬件电路和传感器参数进行调整。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)