基于89C52单片机设计温度报警器,并写出代码
时间: 2023-08-11 22:04:43 浏览: 60
好的,以下是基于89C52单片机设计温度报警器的代码:
```
#include<reg52.h>
#include<intrins.h>
sbit beep=P1^5; // 蜂鸣器输出口
sbit led=P1^4; // LED输出口
void Delay10us() // 延时函数
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
void Delay500ms() // 延时函数
{
unsigned char i,j,k;
for(i=49;i>0;i--)
for(j=6;j>0;j--)
for(k=255;k>0;k--)
Delay10us();
}
void main()
{
unsigned char temp;
TMOD=0x01; // 定时器T0工作在模式1下
TH0=0xFC; // 给定初值,定时1ms
TL0=0x18;
TR0=1; // 启动定时器
ET0=1; // 使能定时器T0中断
EA=1; // 使能总中断
while(1)
{
temp=P1; // 读取温度传感器数据
if(temp>30) // 当温度超过30时触发报警器
{
beep=0; // 蜂鸣器响
led=0; // LED亮
Delay500ms();
beep=1; // 蜂鸣器停止响
led=1; // LED灭
Delay500ms();
}
}
}
void T0_Time() interrupt 1 // 定时器T0中断服务程序
{
TH0=0xFC; // 给定初值,定时1ms
TL0=0x18;
}
```
注:本代码仅供参考,具体实现还需根据您选用的温度传感器和报警器进行相应的修改。