资料编号:111 下面是相关功能视频演示:
111-基于51单片机的客车辆超载报警Proteus仿真(源码+仿真+原理图+全套资料)
功能如下:
利用单片机设计一个超载检测控制电路。
通过 2 组红外对管(类似电路模拟)检测上车人数和下车人数,通过数码管显示车内人数。
当车内人数超过报警值时,声光报警,继电器闭合切断点火装置。
报警值初始是 20 人,可以通过 3 个按键调节,可调范围是 0-99 人。
下面是部分程序展示:
//主函数
void main()
{
uchar k=0;
TMOD|=0X01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
while(1)
{
if(!in1 &&(k!=1))//上车
{
k=1;
if(num<99)
num++;
}
if(!in2 &&(k!=2))//下车
{
k=2;
if(num>0)
num--;
}
if(!k1 &&(k!=3))//设置
{
k=3;
mode=!mode;
}
if(!k2 &&(k!=4))//加
{
k=4;
if(lim<99)
lim++;
}
if(!k3 &&(k!=5))//减
{
k=5;
if(lim>0)
lim--;
}
if(in1 && in2 && k1 && k2 && k3)
k=0;
//正常显示
if(mode==0)
{
P0=smgduan[num/10];
smg1=0;
delay(100);
smg1=1;
P0=smgduan[num%10];
smg2=0;
delay(100);
smg2=1;
}
else//设置显示
{
if(time<500)
{
P0=smgduan[lim/10];
smg1=0;
delay(100);
smg1=1;
P0=smgduan[lim%10];
smg2=0;
delay(100);
smg2=1;
}
}
}
}
下面是原理图展示:
下面是该资料分享链接:
https://pan.baidu.com/s/1TDpaAPfnU-l1-sxCdqUaCg?pwd=5cgv