【毕业设计】15-基于单片机的交通灯系统设计(原理图+仿真+论文)

这篇具有很好参考价值的文章主要介绍了【毕业设计】15-基于单片机的交通灯系统设计(原理图+仿真+论文)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【毕业设计】15-基于单片机的交通灯系统设计(原理图、仿真、源代码工程+答辩论文+答辩PPT)

任务书

本设计是基于单片机的交通灯控制系统设计,通过对路口设置的交通指示灯和时间显示装置的控制,给行人和车辆的通行提供便利。
1、设计定时器或采用相关的定时芯片给系统提供时间参考信号。
2、单片机依据时间信号,控制指示灯的亮灭控制车辆和行人的通行,同时显示时间信息。
3、设计相关的硬件电路
4、自行设计软件编程

原理图工程文件
原理图截图
仿真模型工程文件
仿真截图
答辩论文低重复率19236字
英文文献及翻译
答辩PPT
visio流程图工程

设计说明书

摘要

城市交通道路已经是我们生活中不可缺少的一部分,并且随着社会的不断发展,交通必将成为一个重点的研究话题。如何疏通交通、防止道路交通堵塞、人员伤亡、交通事故的控制是当前的主要研究方向。随着微控制技术、电子技术、计算机系统的深入研究发展,将其应用在交通管理上必然是发展趋势。本次系统针对此现象设计出一款基于单片机的交通系统。
本设计以AT89C51单片机作为系统的控制核心,主要包括主控模块、交通灯指示模块、显示模块、按键模块组成。系统工作时,依据按键设定的工作模式,主控模块启动内部的定时器,开始控制不同路口交通灯的工作状态。当定时时间完成,控制系统发出切换命令,控制不同路口的交通灯切换工作状态,从而实现控制不同路口的通行状况。在系统运行时,通过数码管显示各路口的时间,为方便操作人员熟知系统的工作方式,又额外附加显示器显示系统的工作模式。
本设计具有系统结构简单、系统性能稳定、成本低廉等优点,能更好的实现传统交通灯系统的通行控制功能。

设计框架架构

【毕业设计】15-基于单片机的交通灯系统设计(原理图+仿真+论文)

前 言 1
第一章 绪论 2
第一节 课题研究背景 2
第二节 国内外研究现状与发展趋势 2
第三节 交通灯研究意义 4
第四节 本文的主要研究内容 4
第五节 本章小结 5
第二章 系统总体方案设计 6
第一节 交通灯系统工作原理 6
第二节 系统总体结构设计 6
第三节 交通灯状态逻辑方案确定 8
第四节 本章小结 9
第三章 交通灯系统硬件电路设计 10
第一节 主控模块电路设计 10
一、单片机介绍 10
二、最小系统电路设计 11
第二节 按键模块电路设计 12
第二节 显示模块电路设计 13
一、数码管显示电路设计 13
二、LED红黄绿灯电路设计 14
第四节 电源电路设计 15
第五节 系统总电路图 15
第六节 本章小结 16
第四章 系统软件设计 18
第一节 系统主程序设计 18
第二节 显示模块软件设计 19
一、数码管程序设计 19
二、交通信号灯状态程序设计 20
第三节 按键模块软件设计 21
第四节 本章小结 22
第五章 系统调试与仿真 23
第一节 开发工具 23
一、Protues软件介绍 23
二、Keil软件介绍 24
第二节 系统功能调试 24
一、系统仿真电路设计 24
二、系统功能测试 26
四、测试总结 28
第三节 本章小结 29
结 论 30
致 谢 31
参考文献 32
附 录 34
一、英文原文 34
二、英文翻译 37
三、整体电路图 39
四、源代码 40

设计说明书及设计文件

【毕业设计】15-基于单片机的交通灯系统设计(原理图+仿真+论文)【毕业设计】15-基于单片机的交通灯系统设计(原理图+仿真+论文)
【毕业设计】15-基于单片机的交通灯系统设计(原理图+仿真+论文)字数:19236字
【毕业设计】15-基于单片机的交通灯系统设计(原理图+仿真+论文)文章来源地址https://www.toymoban.com/news/detail-403019.html

源码展示

/*****************************************************
       十字路口交通灯控制 C 程序
******************************************************/
#define	uchar	unsigned char
#define	uint	unsigned int
#include	<reg52.h>
/*****定义控制位**********************/
sbit    Time_Show_LED2=P2^5;//Time_Show_LED2控制位
sbit    Time_Show_LED1=P2^4;//Time_Show_LED1控制位
sbit	EW_LED2=P2^3;	//EW_LED2控制位
sbit	EW_LED1=P2^2;	//EW_LED1控制位
sbit	SN_LED2=P2^1;	//SN_LED2控制位
sbit	SN_LED1=P2^0;	//SN_LED1控制位
sbit    SN_Yellow=P1^6;//SN黄灯
sbit    EW_Yellow=P1^2;//EW黄灯
sbit    EW_Red=P1^3;//EW红灯
sbit    SN_Red=P1^7;//SN红灯
sbit    EW_ManGreen=P3^0;//EW人行道绿灯
sbit    SN_ManGreen=P3^1;//SN人行道绿灯
sbit    Special_LED=P2^6;//交通正常指示灯
sbit    Busy_LED=P2^7;//交通繁忙指示灯
sbit    Nomor_Button=P3^5;//交通正常按键
sbit    Busy_Btton=P3^6;//交通繁忙按键
sbit    Special_Btton=P3^7;//交通特殊按键  
sbit    Add_Button=P3^3;//时间加
sbit    Reduces_Button=P3^4;//时间减
bit     Flag_SN_Yellow; //SN黄灯标志位
bit     Flag_EW_Yellow;//EW黄灯标志位
char	Time_EW;//东西方向倒计时单元
char	Time_SN;//南北方向倒计时单元
uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化赋值,正常模式
uchar EW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的变量
uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//1~~~~9段选码
uchar code S[8]={0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84};//交通信号灯控制代码
/**********************延时子程序************************/
void	Delay(uchar	 a)
	{
		uchar	i;
		i=a;
		while(i--){;}
	}
/*****************显示子函数**************************/
void	Display(void)
	{
		char h,l;
		h=Time_EW/10;
		l=Time_EW%10;
  	    P0=table[l];
		EW_LED2=1;
		Delay(2);
		EW_LED2=0;
	    P0=table[h];
		EW_LED1=1;
		Delay(2);
		EW_LED1=0;

		h=Time_SN/10;
		l=Time_SN%10;
		P0=table[l];
		SN_LED2=1;
		Delay(2);
		SN_LED2=0;
	    P0=table[h];
		SN_LED1=1;
		Delay(2);
		SN_LED1=0;
		h= EW1/10;
		l= EW1%10;
		P0=table[l];
		Time_Show_LED1=1;
		Delay(2);
        Time_Show_LED1=0;
		P0=table[h];
		Time_Show_LED2=1;
		Delay(2);
	    Time_Show_LED2=0;
} 
/**********************外部0中断服务程序************************/
void	EXINT0(void)interrupt 0 using 1
	{
		EX0=0; //关中断
if(Add_Button==0) //时间加
       { 
            EW1+=5;
            SN1+=5;
              if(EW1>=100)
			   {
			     EW1=99;
			     SN1=79;
               }
            }
if(Reduces_Button==0) //时间减
       {
            EW1-=5;
            SN1-=5;
            if(EW1<=40)
              { 
			     EW1=40;
                 SN1=20;
               }				
		    } 
if(Nomor_Button==0)//测试按键是否按下,按下为正常状态
        {
            EW1=60;
            SN1=40;
			EWL1=19;
			SNL1=19;
			Busy_LED=0;//关繁忙信号灯
			Special_LED =0;//关特殊信号灯
            }
if(Busy_Btton==0) //测试按键是否按下,按下为繁忙状态
        {
		    EW1=45;
            SN1=30;
			EWL1=14;
			SNL1=14;
			Special_LED=0;//关特殊信号灯
			Busy_LED=1;//开繁忙信号灯		
        }
if(Special_Btton==0)//测试按键是否按下,按下为特殊状态
        {
		    EW1=75;
            SN1=55;
			EWL1=19;
			SNL1=19;
			Busy_LED=0;//关繁忙信号灯
		    Special_LED =1;//开特殊信号灯                  
	    }					
		EX0=1;//开中断
	}
/**********************T0中断服务程序*******************/
	void timer0(void)interrupt 1 using 1
{
	static uchar count;
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	count++;	
	if(count==10)
	{
	  if(Flag_SN_Yellow==1) //测试南北黄灯标志位
	  {SN_Yellow=~SN_Yellow;}
	  if(Flag_EW_Yellow==1)  //测试东西黄灯标志位
	  {EW_Yellow=~EW_Yellow;} 
	}
	if(count==20)
	{
	Time_EW--;
	Time_SN--;
	if(Flag_SN_Yellow==1)//测试南北黄灯标志位
	    {SN_Yellow=~SN_Yellow;}
	if(Flag_EW_Yellow==1)//测试东西黄灯标志位
	    {EW_Yellow=~EW_Yellow;}
	count=0;
	}	
}
/*********************主程序开始**********************/
void	main(void)
{ 
	Busy_LED=0;
	Special_LED=0;
	IT0=1;	//INT0负跳变触发	
    TMOD=0x01;//定时器工作于方式1
	TH0=(65536-50000)/256;//定时器赋初值
	TL0=(65536-50000)%256;
	EA=1; //CPU开中断总允许
	ET0=1;//开定时中断
	EX0=1;//开外部INTO中断
    TR0=1;//启动定时
     while(1)
{				/*******S0状态**********/
				EW_ManGreen=0;	//EW人行道禁止
	            SN_ManGreen=1;//SN人行道通行
                Flag_EW_Yellow=0;	   //EW关黄灯显示信号
				Time_EW=EW;	
				Time_SN=SN;		
				while(Time_SN>=5)
			    {P1=S[0];	 //SN通行,EW红灯
		         Display();}
				/*******S1状态**********/
			    P1=0x00;
				while(Time_SN>=0)
			   {Flag_SN_Yellow=1;	 //SN开黄灯信号位
			    EW_Red=1;      //SN黄灯亮,等待左拐信号,EW红灯			 
			     Display();
				}
				/*******S2状态**********/
			    Flag_SN_Yellow=0; //SN关黄灯显示信号
				Time_SN=SNL;
				while(Time_SN>=5)
				{P1=S[2];//SN左拐绿灯亮,EW红灯
				 Display();}
			  /*******S3状态**********/
				P1=0x00;
				while(Time_SN>=0)
			   {Flag_SN_Yellow=1;	//SN开黄灯信号位
			    EW_Red=1;      //SN黄灯亮,等待停止信号,EW红灯			   	
			    Display();}
			   /***********赋值**********/
				EW=EW1;
				SN=SN1;
				EWL=EWL1;
				SNL=SNL1;
				/*******S4状态**********/
				EW_ManGreen=~EW_ManGreen;//EW人行道通行
	            SN_ManGreen=~SN_ManGreen;//SN人行道禁止
				Flag_SN_Yellow=0;  //SN关黄灯显示信号
				Time_EW=SN;
				Time_SN=EW;
			    while(Time_EW>=5)
			    {P1=S[4];	 //EW通行,SN红灯
				 Display();}
				/*******S5状态**********/
				P1=0X00;
				while(Time_EW>=0)
			   {Flag_EW_Yellow=1;//EW开黄灯信号位
			    SN_Red=1;//EW黄灯亮,等待左拐信号,SN红灯	
			    Display();}
				/*******S6状态**********/
				Flag_EW_Yellow=0;	    //EW关黄灯显示信号
				Time_EW=EWL;
				while(Time_EW>=5)
				{P1=S[6];//EW左拐绿灯亮,SN红灯
				 Display();}
				/*******S7状态**********/
				P1=0X00;
				while(Time_EW>=0)
			   {Flag_EW_Yellow=1; //EN开黄灯信号位
			    SN_Red=1;//EW黄灯亮,等待停止信号,SN红灯	
			    Display();}			
			   	 /***********赋值**********/
			    EW=EW1;
				SN=SN1;
				EWL=EWL1;
				SNL=SNL1;
			}
	}

到了这里,关于【毕业设计】15-基于单片机的交通灯系统设计(原理图+仿真+论文)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【单片机毕业设计】【mcuclub-dz-196】基于单片机下的新型智能花盆设计

    项目名:基于单片机下的新型智能花盆设计 项目名:花盆(实物) 项目编号:mcuclub-dz-196 单片机类型:STM32F103C8T6 具体功能: 1、通过防水式DS18B20测量土壤温度,当温度高于设置最大值时,进行风扇降温,低于设置最大值,进行防水加热 2、通过土壤湿度传感器检测湿度值,

    2024年02月19日
    浏览(93)
  • 【单片机毕业设计】【mcuclub-dz-032】基于单片机的智能门禁控制系统设计

    项目名:基于单片机的门禁的设计 单片机:STM32F103C8T6 mcuclub-dz-032 功能简介: 1、通过扫码枪进行扫描二维码,当二维码识别成功,10s内需触发红外避障管,并通过红外测温模块进行测温,如果温度正常,则自动开锁,如果温度异常,则声光报警3次,锁不打开 2、通过RFID进行

    2024年01月18日
    浏览(67)
  • 毕业设计 - 基于单片机的智能饮水机系统设计与实现 (物联网 嵌入式 单片机)

    Hi,大家好,学长今天向大家介绍一个 单片机项目 基于单片机的智能饮水机系统设计与实现 大家可用于 课程设计 或 毕业设计 这次设计的智能饮水机就是单片机结合传感器的一个应用。 该系统设计综合单片机以及电子技术理论,从生活实际出发,完善了饮水机的功能。整个

    2024年02月03日
    浏览(104)
  • 【毕业设计】基于单片机控制的交通灯毕业设计(附源代码)

    目 录 摘   要 Abstract 前   言 一、工程简介 ( 一)、概述 ( 二 ) 、 工艺 流程图 二、工程设计 (一)、控制方案的确定 (二)、硬件部分 ( 1 )、交通灯控制系统的硬件设计 ( 2 )、硬件系统的设计具备以下原则 ( 3 ) 、硬件结构框图 (如图 3 所示) ( 4 ) 、交通灯控

    2024年04月23日
    浏览(74)
  • 【单片机毕业设计】【mcuclub-dz-177】基于32单片机的自动扶梯控制系统设计

    项目名:基于32单片机的自动扶梯控制系统设计 项目名:扶梯(实物) 项目编号:mcuclub-dz-177 单片机类型:STM32F103C8T6 具体功能: 1、通过MX1508驱动两个直流电机模拟上下扶梯(一个正转代表上行,一个反转代表下行) 2、每个扶梯都有两个红外对射管,进行人数计数,如果扶

    2024年02月21日
    浏览(68)
  • 【单片机毕业设计】【mcuclub-dz-112】基于单片机的智能饮水机系统设计与实现

    项目名:基于单片机的智能饮水机系统设计与实现 项目名:基于单片机的饮水机的设计 单片机:STC89C52 功能简介: 1、通过一个按键模拟加热电源的开关 2、通过防水式DS18B20检测水温,当电源打开时,温度小于设置最小值,进行自动加热,直到加热到最大值时停止; 3、通过

    2024年03月09日
    浏览(141)
  • 毕业设计 基于单片机的导盲拐杖设计(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月05日
    浏览(76)
  • 毕业设计 基于51单片机的电子秤设计(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月11日
    浏览(59)
  • 毕业设计 基于51单片机控制LED点阵显示器的设计

    序 🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的

    2024年02月02日
    浏览(67)
  • 毕业设计 基于单片机的GSM智能快递柜设计(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年01月23日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包