基于单片机交通灯红绿灯信号灯控制器Proteus仿真(含全部资料)

  全套资料包含:Proteus仿真源文件+keil C语言源程序+AD原理图+流程图+元器件清单+说明书等

资料下载:

链接: https://pan.baidu.com/s/1Rc0fm-6g1rfAnENdw5uTfA?pwd=dnayhttps://pan.baidu.com/s/1Rc0fm-6g1rfAnENdw5uTfA?pwd=dnay 提取码: dnay


目录

资料下载:

Proteus仿真功能

项目文件资料:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、Keil c语言程序源代码


项目功能:

基于51单片机汽车倒车防撞报警系设计:
1、采用单片机+C语言进行设计,实现倒车测距报警功能。
2、使用超声波实现倒车测距,如果距离过小进行声光报警。
3、使用LCD1602显示汽车倒车距离和温度信息。
4、使用按键设定汽车报警距离越近,报警声音频率越高。


项目文件:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、器件清单

CategoryQuantityReferencesValue
Capacitors2C1-C230PF
Capacitors1C322uF
Resistors9R1,R18-R19,R22-R23,R26-R27,R29-R3010k
Resistors8R2,R15-R17,R20-R21,R24-R25200
Resistors12R3-R14100
Integrated Circuits1U1单片机
Transistors8Q1-Q8PNP
Diodes4D1,D4,D7,D10LED-RED
Diodes4D2,D5,D8,D11LED-YELLOW
Diodes4D3,D6,D9,D12LED-GREEN
Miscellaneous1RP1RESPACK-8
Miscellaneous1X1CRYSTAL

五、Keil c语言程序源代码(部分)

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit shi_B1 = P2^4;
sbit ge_B1 = P2^5;
sbit shi_B2 = P2^6;
sbit ge_B2 = P2^7;
unsigned char int_time;        //记录中断次数
unsigned char second_A=24;        //储存秒(东西)
unsigned char second_B=28;        //储存秒(南北)
int Time_Count = 0; 
uchar Flash_Count = 0,Operation_Type = 1;
unsigned char code Tab[]={
              0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
              0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf};//共阳数码管0~F

/***********************************************************************
函数功能:快速动态扫描延时,延时约0.6毫秒
************************************************************************/
void delay(void)
{
  unsigned char i;
  for(i=0;i<200;i++)
        ;
}
void delay_ms(uint z)
{
unsigned int y;
for(;z>0;z--)
for(y=110;y>0;y--);
}
/***********************************************************************
函数功能:显示秒
入口参数:k
出口参数:无
************************************************************************/
 void DisplaySecond_A(unsigned char k)
{
   
   shi_A1=0;        
   ge_A1=1; 
   shi_A2=0;        
   ge_A2=1;
   P0=Tab[k/10];          //显示十位
   delay_ms(10); 
	 shi_A2=1;        
   ge_A2=0;
   P0=Tab[k%10];         //显示个位
   delay_ms(10);
	shi_A2=1;        
  ge_A2=1;
	P0=0xff;        //显示个位
  delay_ms(10);
}			  
 void DisplaySecond_B(unsigned char k)
{
   
   shi_B1=0;        
   ge_B1=1;
	 shi_B2=0;        
   ge_B2=1;
   P0=Tab[k/10];          //显示十位
   delay_ms(10);
	
   shi_B1=1;        
   ge_B1=0;
	 shi_B2=1;        
   ge_B2=0;
   P0=Tab[k%10];         //显示个位
   delay_ms(10);
		
	  shi_B1=1;        
    ge_B1=1;
	  shi_B2=1;        
    ge_B2=1;
		P0=0xff;        //显示个位
   delay_ms(10);
}

void main()
{
  char flag = 0;
	TMOD = 0x01;
	IE = 0x82;
	TR0 = 1;

	while(1)
	{
			 DisplaySecond_A(second_A); //时间显示
		   DisplaySecond_B(second_B);	//时间显示
  }
}

void T0_INT() interrupt 1
{
 	TH0 = -50000/256;
	TL0 = -50000%256;
	int_time ++;        //每来一次中断,中断次数int_time自加1	
		if(int_time==20)   //够20次中断,即1秒钟进行一次检测结果采样
		{
			int_time=0;    //中断次数清0
			second_A--;    //秒加1
			second_B--;
			if(second_A==0)
				second_A =0;
			if(second_B==0)
				second_B =0;
		}
			  if(flag_difengfirst==0)
			  {
			    Operation_Type=1;
				  second_A=24;  
		      second_B=28;
				  flag_difengfirst=1;
				  flag_gaofengfirst=0;
			  }
    switch(Operation_Type)
	{
	 	case 1:
			RED_A=1;YELLOW_A=1;GREEN_A=0; //东西绿,南北红
			RED_B=0;YELLOW_B=1;GREEN_B=1; 
		  GREEN_A=1;
		  second_A=4;////4S
		  second_B=4;
			break;
	  	case 2:                  //A东西黄,B南北红都是
			RED_A=1;YELLOW_A=0;GREEN_A=1; 
			RED_B=0;YELLOW_B=1;GREEN_B=1; 
			if(++Time_Count != 80) return;
			Time_Count=0;
			Operation_Type = 3;
		  YELLOW_A=1;
		  second_A=52;     //A东西红,B南北绿
			second_B=48;
			break;	
	}
}

六、全套资料包含

七:项目资源获取

需要完整的资料可以点击下面的名片关注,回复“资料”!

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小飞鹰工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值