Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于51单片机的交通灯控制设计的结论_c51单片机交通灯控制

基于51单片机的交通灯控制设计的结论_c51单片机交通灯控制

作者头像
全栈程序员站长
发布于 2022-11-08 10:15:34
发布于 2022-11-08 10:15:34
2.3K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

课程设计任务书及成绩

课程名称

单片机课程设计

题目

交通灯控制设计

课程设计目标与任务、计划与进度安排:
实践教学要求与任务:

1、了解交通灯的基本工作原理; 2、用Proteus模拟实现交通灯控制; 3、用Keil C51编程实现上述功能; 4、用Keil与Proteus联调。

工作计划与进度安排:

17周查找相关资料。 18周详细设计。 19周程序测试,书写论文,进行答辩。

1 引言

交通事业蓬勃发展,交通流量年年增长,大、中、小城市的汽车、摩托车等各种车辆与日俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,机动车、非机动车、行人来往非常混乱,为了在叉口的各条干道实现合理的科学分流。本人根据单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,提出了一种用STC89c51单片机自动控制交通信号灯及时间显示的方法,同时给出了软硬件的实现方法,为交通指挥自动化提供了一种新的廉价手段,具有一定的推广意义。本文介绍了控制基本原理以及控制的表现,同时也介绍了城市交通信息系统的设计目标, 开发途径及其系统结构与功能和数据地理编码、建库, 同时, 论述了系统中交通现状、交通管理、交通规划及背景信息查询模块的建造及应用。介绍了用于城市交叉路口的三色程控交通信号时间显示器的研制方案,对其电源供电、发光二极管构成的负载结构、灯色时间检测都给出了精巧合理的优化结构,大幅度地提高了产品可靠性并降低了制造成本。

2 应用软件介绍

2.1 C语言介绍

C语言是于1972年由贝尔实验室的Dennis Ritchie在B语言的基础上开发出来的。最初的C语言是作为UNIX操作系统的开发语言而被人们所认识。此后,贝尔实验室对C语言进行了多次改进和版本的公布,C语言的优点才引起人们的普遍注意。随着UNIX操作系统在各种机器上的广范使用,使C语言得到了迅速推广。1978年由Brian W. Kernighan和Dennis M. Ritchit合著了《The C Programming Language》一书,该书对C语言作了详细的描述,这本书对C语言发展影响深远,并成为了后来C语言版本的基础,称之为标准C。随后C语言在各种计算机上快速得以推广,并导致了许多C语言版本的出现。

2.2 Keil C51

Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil 提供了包括 C 编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行 Keil软件需要 WIN98、NT、WIN2000、WINXP 等操作系统。

2.3 Proteus

Proteus 软件是英国 Lab Center Electronics 公司出版的 EDA 工具软件。它不仅具有其它EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus 是英国著名的 EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010年又增加了 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR、Keil 和 MATLAB 等多种编译器。

3 硬件资源介绍

3.1单片机简介

单片机(MCU)又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

3.2 89C51 简介

89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS8 位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 89C51 是一种高效微控制器,89C2051 是它的一种精简版本。

3.3 89C51 单片机的片内逻辑结构

3.4 89C51 硬件资源

(1)微处理器(CPU):一个 8 位 CPU。 (2)数据存储器(RAM):片内为 128B,片外最多可外扩 64KB。 (3)程序存储器(4KB Flash ROM):片内为 4KB,片外最多可外扩程序存储器至 64KB。 (4)4 个 8 位可编程并行 I/O 口(P0、P1、P2、P3),1 个全双工的串行口。 (5)定时器/计数器:片内有 2 个 16 位的定时器/计数器,具有 4 种工作方式。 (6)中断系统:具有 5 个中断源,2 级中断优先级。 (7)特殊功能寄存器(SFR): 共有 21 个特殊功能寄存器,用于 CPU 对片内各功能部件进行管理、控制和监视。 (8)1 个看门狗定时器(WDT)。

3.5 89C51 的引脚图

(1)P0 口:8 位,漏极开路的双向 I/O 口。 (2) P1 口:8 位,准双向 I/O 口,具有内部上拉电阻。 (3)P2 口:8 位,专为用户使用的准双向 I/O 口,具有内部上拉电阻。 (4)P3 口:8 位,准双向 I/O 口,具有内部上拉电阻。也可作为普通的 I/O 口使用。除此之外,P3 口还有第二功能的定义。

4 设计课题

交通灯控制设计: 1.了解一个十字路口交通灯基本工作原理,要求分主次干道,并加入倒计时功能 2.用Keil C51编程实现上述功能 3.用Proteus模拟实现十字路口交通灯控制电路。 4.用Keil与Proteus联调

5.方案设计

5.1交通灯四种通行模式及行车方向指示

按照简单的交通路口规则,有四种模式

  1. 南北绿灯亮 东西红灯亮
  2. 南北黄灯闪 东西红灯亮
  3. 南北红灯亮 东西绿灯亮
  4. 南北红灯亮 东西黄灯闪

5.2 交通灯控制系统

实用交通灯控制系统主要CPU控制模块为了、信号灯显示模块、倒计时显示模块等组成,如下图所示:

其中控制模块是最核心的部分,控制核心采用AT89C51单片机,利用AT89C51单片机内部定时器实现交通指示灯控制的计时功能,在正常情况下产生相应的控制信息控制倒计时显示电路,信号灯显示电路的正常运行。 信号灯显示模块采用四个集成交通指示灯来模拟红、黄、绿交通指示灯,用单片机的P1口控制发光二极管的亮灭状态。 倒计时显示模块的接口电路有静态显示和动态显示两种方式,由于动态显示方式在仿真软件中不易于查看,所以本次采用静态显示方式,这种方式优点是易于操作,缺点是浪费单片机接口资源。 为了倒计时更加准确,采用外加晶振电路方法实现其功能。

6硬件系统设计

6.1 信号灯显示模块

由于南北方向的信号灯始终是同一种状态,所以南北信号灯为一组,只需将对应的信号灯并联即可,东西方向同理。

6.2 倒计时显示模块

选取8个7段数码管分别模拟显示四个方向的倒计时,数码管采用共阴极接法。 为了提高P0、P2端口的电流输出能力,保证数码管亮度,保护端口引脚,在P0端口与数码管之间增加了74LS245芯片。

6.3 复位模块

此系统可以通过复位按键实现从新工作,电路图如图所示:

7软件系统设计

7.1 中断服务程序框图

7.2 主程序框图

7.3 程序代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<reg51.h>
sbit g1=P1^0; 	//位定义
sbit r1=P1^1; 
sbit y1=P1^2; 
sbit g2=P1^3; 
sbit r2=P1^4; 
sbit y2=P1^5; 
unsigned char f=0;
unsigned char nanbei_time=15;	 //定义南北的时间长度
unsigned char dongxi_time=11;    //定义东西的时间长度
unsigned char m; 
unsigned char code  t[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x27,0x7F,0x6F}; 
void init_timer0(void) 	   //中断初始化函数
	{
  	TMOD=0x01;  
  	TH0=(65536-50000)/256;  
 	 TL0=(65536-50000)%256;  
 	 ET0=1;  
 	 EA=1;  
  	TR0=1; 
 	 } 
 void display(unsigned char x) 
 	 {  
  	unsigned char m,n;  
	m=x/10;  
	n=x%10;  
	P0=t[m];  
	P2=t[n]; 
	} 
void timer(void) interrupt 1 using 1  //中断服务函数
{
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    f++;
    if(f==20)
    {
        f=0;
        m--;
    }
}
void main() 
{
	m=nanbei_time;
   	P1=0x00;  
	init_timer0(); 
   	while(1)  {  
  	 do   {   
	 display(m);   
   		g1=1;  
		r1=0;
        g2=0;
        r2=1;
        }
        while(m!=3);
        do
        {        
            if(m<=3)
            {
                y1=~y1;
				r1=0;
				g1=0;
                r2=1;
				g2=0;
                     }
        display(m);    
        		r1=0;
        g2=0;
        r2=1;
        }
        while(m!=3);
        do
        {        
            if(m<=3)
            {
                y1=~y1;r1=0;g1=0;
                r2=1;g2=0; 
             }
        display(m);    
        }
		while(m!=0);
		if(m==0)
{        m = dongxi_time;
		y1 = 0;
		y2 = 0;
    }
	do{
	display(m);
	g1 = 0;
	r1 = 1;
	g2 = 1;
	r2 = 0;
	}
	while(m!=3);
	do{
	      if(m<=3)
            {    
                r1=1,g1=0;
                y2=~y2,r2=0,g2=0;
          }
        display(m);
        }while(m!=0);
            if(m==0)
            {
                m=nanbei_time;
                y1=0;
                y2=0;
            }
    }
}

8 电路仿真

开始仿真:

9设计总结 通过这次单片机课设,我不仅学到了许多新的知识,而且加深了我对以前学习的理论知识的掌握。以前我们学的东西仅限于课本,对实实在在的应用还比较模糊,这次课程设计有利于同学们学习目的的明确性和主动性。通过这次课程设计,我们知道了哪些东西是应该确实掌握的,在实践中填充我理论知识的不足,可以将理论很好地应用到实际当中去。 10参考文献 1.《单片机原理及接口技术》 张毅刚 人民邮电出版社 2.《单片机课程设计指导书》 皮大能 北京理工大学出版社

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月25日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
51单片机24C04存储音乐及喇叭播放
51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
电子工程师成长日记
2025/08/11
860
51单片机24C04存储音乐及喇叭播放
设计分享|单片机LED模拟交通灯
单片机LED模拟交通灯实现:东西绿灯2秒,东西黄灯闪烁5次,南北红灯;东西切换到红灯,南北绿灯2秒,南北黄灯闪烁5次。
电子工程师成长日记
2022/12/14
9410
设计分享|单片机LED模拟交通灯
基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计
本系统采用STC89C51单片机以及单片机最小系统和74HC245驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。设计通过两位一体共阴极数码管显示,并能通过按键对定时进行设置。
全栈程序员站长
2022/11/08
1.3K0
基于单片机的交通信号灯控制系统设计论文_交通信号灯控制设计
C51单片机,点亮小灯的入门级教程
链接:https://pan.baidu.com/s/1LI7ucKVBFwpx2VMOoHFmMg
远方的星
2021/08/02
1.3K0
C51单片机,点亮小灯的入门级教程
设计分享|基于51单片机的交通灯指示模拟
51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
电子工程师成长日记
2025/03/17
1530
设计分享|基于51单片机的交通灯指示模拟
基于单片机的智能交通灯控制系统的设计实验_单片机控制系统红绿灯设计
基于单片机的智能交通灯控制系统的设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告和相关PPT等文档,供大家参考学习。也可在本博客主页找到更多下载资源、学习资料请访问CSDN下载频道.
全栈程序员站长
2022/11/09
1.6K0
基于单片机的智能交通灯控制系统的设计实验_单片机控制系统红绿灯设计
数电设计–交通灯控制系统「建议收藏」
题目:交通灯控制系统 交通灯控制系统是典型的数字电路系统,通过该系统的设计、仿真、制板、答辩和报告等环节,同学可得到数字电路及系统的综合训练。本课程要求设计一个十字路口的交通灯控制器,控制A、B两条交叉道路上的车辆通行。
全栈程序员站长
2022/11/08
5.1K0
数电设计–交通灯控制系统「建议收藏」
设计分享|单片机LED模拟交通灯
51单片机LED模拟交通灯实现:东西绿灯2秒,东西黄灯闪烁5次,南北红灯​;东西切换到红灯,南北绿灯2​秒,南北黄灯闪烁5次​。​
电子工程师成长日记
2022/08/25
1.4K0
设计分享|单片机LED模拟交通灯
交通灯控制逻辑电路设计实验报告_交通灯控制电路的设计报告
  这是一个数电实验,交通灯,如果使用FPGA或者单片机来完成的话,会简单很多,这里采用的是使用常规的计数器,触发器,门电路等基本器件搭建,扩展部分可以完成总通行时间在100s内任意设置,红、黄、绿灯亮的时间长短之和在100s内任意设置,其实想要超过100s只需要扩展相应的计数器,以及门电路即可,限制功能的往往是资源;
全栈程序员站长
2022/09/29
2.7K0
交通灯控制逻辑电路设计实验报告_交通灯控制电路的设计报告
基于51单片机的模拟交通灯控制系统
(1)利用51单片机设计一个交通灯控制系统,来实现行人与车流的分流的目的。该系统主要应用在十字路口,纵向为主干道,横向为支干道;
芯动大师
2024/05/26
2530
基于51单片机的模拟交通灯控制系统
设计分享|基于51单片机的门铃设计
51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
电子工程师成长日记
2025/03/10
2150
设计分享|基于51单片机的门铃设计
【Electronics】数字电路实验——交通灯设计
为了确保十字路口的车辆顺利、畅通地通过,往往都采用自动控制信号灯来进行指挥。其中红灯(R)亮,表示该条道路禁止通行;黄灯(Y)亮表示停车;绿灯(G)亮表示允许通行。 本文探讨了简单的交通灯逻辑控制电路设计,设计了南北和东西两个方向的十字路口交通灯控制电路,同时实现简单的倒计时功能。
全栈程序员站长
2022/09/14
2.4K0
基于单片机的红绿灯/交通灯系统,自定义时间调节,C编程,仿真搭建
(1)利用51单片机设计一个交通灯控制系统,来实现行人与车流的分流的目的。该系统主要应用在十字路口,纵向为主干道,横向为支干道;
蒋宇智
2024/03/27
5910
基于单片机的红绿灯/交通灯系统,自定义时间调节,C编程,仿真搭建
设计分享|51单片机定时器Timer0控制4个LED滚动闪烁
51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
电子工程师成长日记
2024/10/18
2100
设计分享|51单片机定时器Timer0控制4个LED滚动闪烁
基于51单片机八路抢答器课程设计(含proteus仿真图及代码)
一、设计要求: 1、可满足8个选手的抢答 2、具有主持者控制开关,用来控制系统清零和抢答开始 3、抢答器具有数据锁存功能、显示功能和声音提示功能 4、抢答开始后,若有选手按动抢答器按钮,编号立即锁存,并在LED数5、码管上显示选手的编号,同时灯亮且伴随声音提示,还要禁止其后的抢答输入 二、实验设计和分析 1 总体设计方案 方案一:采用数字电路控制。 采用数字显示电路的好处就是设计简单。用以在P0口外接电阻做输出口并接数码管来显示时间 ,共设了8个用户输入键,当抢答的时候,其中只有1个是有效按键,其它的都是干扰按键,若按下干扰键,将无反应只显示第一位抢答编号,如果用户抢答的时间剩下5秒(一般情况下,用户不会超过5秒,若用户觉得不便,还可以修改)电路将报警。 电路由两大部分组成:显示器电路和主电源电源(UPS),其中设置时间调整是为了可以合理的调节时间更加的人性化和用于不同的场合。 方案二:采用一种是用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的抢答器功能,还能添加调节功能等等。 通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,故本次设计采用方案二。 1.1 系统设计方案 本方案采用一种是用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的抢答显示功能。 初步设计思路如下: 抢答器用按钮为了更加方便直观的使用。 LED数码管显示第一位抢答号以及抢答时间以及限时时间。 用发光二极管代替报警的电路,发光表示倒计时已经进入5秒计时。 到计时间到,系统报警。 打开电源后,显示器显示“F FF”,只要第一个按下抢答器的就会显示抢答号。这样可预防抢答的时候出现不必要的麻烦。 按“复位”键,清除显示器为“F FF”。 按开始键开始抢答倒计时,当有人抢到第一个诞生那么主持人开始问问题,并且按下限时按钮开始倒计时,一共为二十秒,抢答人必须要在20秒内讲出答案如果进入最后5秒那么开始报警闪光提示,当闪光介绍那么就说明答题介绍并且蜂鸣器鸣叫以提示。然后进入第二轮的抢答要按下复位按钮,来更好的完成接下来的任务。
全栈程序员站长
2022/11/01
5.3K0
基于51单片机八路抢答器课程设计(含proteus仿真图及代码)
单片机入门:点亮多个LED灯
本设计需要点亮4个LED小灯,熄灭4个LED灯。 LED(发光二极管)正极接+5V电源,负极接单片机P1口,这样只要单片机P1口输出低电平就可以导通二极管,实现LED灯的点亮。
电子工程师成长日记
2022/07/21
4.1K0
单片机入门:点亮多个LED灯
设计分享|单片机按键控制发音
51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
电子工程师成长日记
2023/09/22
2810
设计分享|单片机按键控制发音
设计分享|单片机按键控制LED灯亮灭
51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
电子工程师成长日记
2022/12/14
8440
设计分享|单片机按键控制LED灯亮灭
51单片机入门:LED灯实现不同频率闪烁
在上一篇文章中,我们用51单片机实现了单个LED灯的闪烁,但闪烁频率固定的。下面我们实现LED灯不同频率的闪烁!
电子工程师成长日记
2022/07/21
4K0
51单片机入门:LED灯实现不同频率闪烁
基于单片机的交通信号灯系统设计开题报告_51单片机交通信号灯设计
4、东西和南北方向各有两个数码管,分别显示时间,东西和南北的时间是不一样的,相差黄灯的时间才是正确的;
全栈程序员站长
2022/09/27
8900
基于单片机的交通信号灯系统设计开题报告_51单片机交通信号灯设计
推荐阅读
相关推荐
51单片机24C04存储音乐及喇叭播放
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验