基于51单片机汽车胎压温度监测报警系统Proteus仿真+程序源码+原理图+元件清单

功能介绍:

采用51单片机作为主控单片机,通过采集传感器的胎压和DS18b20的温度,显示到LCD1602上面,并且可以通过按键设置温度和压力的阈值,超过此值蜂鸣器进行报警,可以及时的提醒驾驶员胎压或者温度异常,程序采用keil编写,并且有中文注释,新手容易看懂,仿真采用Proteus,全套仿真资料齐全:文末有资料分享:

225-基于51单片机汽车胎压监测报警系统(程序+仿真+原理图+元件清单)

 

程序部分展示,有中文注释,新手容易看懂

#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^0;//阀值设置
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;
sbit beep=P3^7;//蜂鸣器

uchar wendu[]="wen:25 C    40 C";//温度显示数组
uchar pasca[]="pas:100kP  000kP";//压力显示数组
uchar warn=0;  //蜂鸣器开关
uint k=0,T,Pr;
uint T_lim=40,Pr_lim=240;//报警值
//主函数
void main()
{
	wendu[6]=0xdf;
	wendu[14]=0xdf;
	Init_1602();//LCD初始化
	TMOD=0x01;//定时器0初始化
	TH0=0xfc;
	TL0=0x18;
	ET0=1;
	EA=1;
	TR0=1;

	while(1)
	{		
		/**********************************************/	
		if((T>T_lim)||(Pr>Pr_lim)) //判断报警
			warn=1;
		else
			warn=0;
		/**********************************************/
		if(!k1)
		{
			if(T_lim<99)
				T_lim++;
			while(!k1);
		}
		if(!k2)
		{
			if(T_lim>0)
				T_lim--;
			while(!k2);
		}
		if(!k3)
		{
			if(Pr_lim<999)
				Pr_lim++;
			while(!k3);
		}
		if(!k4)
		{
			if(Pr_lim>0)
				Pr_lim--;
			while(!k4);
		}
	}
}
void time0() interrupt 1
{
	if(warn) //响铃
	   beep=!beep;
	if(k<100)
		k++;
	else
	{
		k=0;
		T=Ds18b20ReadTemp();//读取当前温度
		Pr=ADC()*3;//读取压力值
		//显示计算,把结果计算到显示数组用以显示
		wendu[12]=T_lim/10+0x30;
		wendu[13]=T_lim%10+0x30;//温度个位

		pasca[11]=Pr_lim/100+0x30;
		pasca[12]=Pr_lim%100/10+0x30;//压力个位
		pasca[13]=Pr_lim%10+0x30;//压力小数位
		//阀值计算
		wendu[4]=T/10+0x30;
		wendu[5]=T%10+0x30;//温度个位

		pasca[4]=Pr/100+0x30;
		pasca[5]=Pr%100/10+0x30;//压力个位
		pasca[6]=Pr%10+0x30;//压力小数位

 

 百度云盘资料下载链接

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值