51单片机温度报警器用热敏电阻
时间: 2023-10-05 10:04:30 浏览: 48
您好,针对您的问题,我可以提供一些建议。首先,您可以选择一款适合您应用的热敏电阻,一般来说,热敏电阻的阻值随着温度的升高而下降。因此,在设计温度报警器时,您需要根据您的应用需要选择合适的热敏电阻。其次,您需要将热敏电阻与51单片机相连接,并编写相应的程序来读取电阻值,计算温度,并进行温度报警。最后,您可以选择适合您应用的报警方式,例如LED灯闪烁、蜂鸣器响铃等方式。希望这些建议对您有所帮助。
相关问题
51单片机温度报警器用热敏电阻的程序
以下是51单片机温度报警器使用热敏电阻的程序示例,仅供参考:
```c
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P2^3; //蜂鸣器
void Delay10ms(uint c) //延时函数
{
uchar a,b;
for(;c>0;c--)
for(b=199;b>0;b--)
for(a=1;a>0;a--);
}
uchar GetADCResult() //获取ADC结果
{
uchar i,result=0;
for(i=0;i<8;i++)
{
result=result>>1;
P1_7=1;
Delay10ms(20); //等待电压稳定
P1_7=0;
if(P1_6==1)
result=result|0x80;
Delay10ms(20); //等待ADC转换
}
return result;
}
void main()
{
uchar temp;
while(1)
{
temp=GetADCResult(); //获取ADC结果
if(temp>0x90) //判断温度是否超过阈值
beep=0; //超过阈值时蜂鸣器响铃
else
beep=1;
}
}
```
在这个程序中,我们首先使用了一个延时函数`Delay10ms()`来等待电压稳定和ADC转换完成。然后,我们使用了`GetADCResult()`函数来获取ADC结果,该函数通过判断P1.6引脚的电平来获取电阻值。最后,我们可以根据温度阈值来控制蜂鸣器的响铃。当温度超过阈值时,蜂鸣器响铃,否则蜂鸣器不响铃。请注意,这只是一个示例程序,您可以根据您的具体应用需求进行修改。
51单片机温度报警器keil
以下是51单片机温度报警器使用热敏电阻的Keil工程示例,仅供参考:
1. 创建一个新的Keil工程,选择您喜欢的文件夹,并命名您的工程。
2. 将下面的代码复制到main.c文件中:
```c
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P2^3; //蜂鸣器
void Delay10ms(uint c) //延时函数
{
uchar a,b;
for(;c>0;c--)
for(b=199;b>0;b--)
for(a=1;a>0;a--);
}
uchar GetADCResult() //获取ADC结果
{
uchar i,result=0;
for(i=0;i<8;i++)
{
result=result>>1;
P1_7=1;
Delay10ms(20); //等待电压稳定
P1_7=0;
if(P1_6==1)
result=result|0x80;
Delay10ms(20); //等待ADC转换
}
return result;
}
void main()
{
uchar temp;
while(1)
{
temp=GetADCResult(); //获取ADC结果
if(temp>0x90) //判断温度是否超过阈值
beep=0; //超过阈值时蜂鸣器响铃
else
beep=1;
}
}
```
3. 在工程选项中打开“Target”选项卡,并选择您的目标硬件的型号和时钟频率。
4. 在工程选项中打开“C/C++”选项卡,并将C语言扩展名设置为.c。
5. 在工具栏中单击“Build”按钮,编译您的代码。
6. 点击“Flash”按钮,将您的代码烧录到单片机中。
7. 将热敏电阻连接到您的单片机,并将其放置在需要监测温度的位置。
8. 开启电源,您的温度报警器就可以正常工作了。
请注意,这只是一个示例程序,您可以根据您的具体应用需求进行修改。