【019】基于51单片机的交通灯Proteus仿真设计

本文档详细介绍了基于51单片机的交通灯系统设计,包括Proteus仿真模型、Keil源代码分享,以及实战视频教学。通过步骤展示了如何实现倒计时显示、三灯控制和急停功能。

一、资料内容

  • (1)、基于51单片机的交通灯proteus仿真设计一份;
  • (2)、基于51单片机的交通灯proteus仿真设计keli源代码一份;
  • (3)、基于51单片机的交通灯proteus仿真设计视频讲解一份;

二、设计要求

  • (1)、要求以51系列单片机为核心,设计一款交通灯;
  • (2)、系统需要采用数码管显示倒计时数据,各方向具有红绿黄三灯;
  • (3)、系统拥有急停功能,按下急停按键后,各个方向红灯全部点亮,数码管关闭;

三、相关截图

图1. 系统proteus仿真图

图2. 系统keil源代码工程文件截图

图3. 实物设计图

四、视频讲解

源代码:

#include<include.h>

sbit NS_GRE = P2^5;      
sbit NS_YEL = P2^4; 
sbit NS_RED = P2^3;   
sbit EW_GRE = P2^2;  
sbit EW_YEL = P2^1;  
sbit EW_RED = P2^0;   



uint8  EW_Timer = unused8;  //东西方向红灯定时器
uint8  NS_Timer = unused8;  //南北方向红灯定时器
uint8  YEL_Timer = unused8; //黄灯 5s定时器

int main(void)
{

    Timer_Init();    //定时器初始化
    INT0_Init();     //外部中断初始化    
    EA=1;            //打开全局中断
    
    NS_GRE = OFF;    //所有的灯都灭    
    NS_YEL = OFF; 
    NS_RED = OFF;   
    EW_GRE = OFF;  
    EW_YEL = OFF;  
    EW_RED = OFF;   
    P3 = 0xFF;      //所有显示灭

模拟交通灯控制系统的设计 一、功能要求 利用红、绿、黄三种不同颜色的LED显示不同的通行情况,利用2个数码管进行1秒倒计时 显示,最大定时时间为90秒;要求LED点亮时间和倒计时时间准确;完成单片机最小系统 及其扩展设计,焊接电路板,组成功能完整的样机。模拟实际交通灯控制系统功能,完 成控制软件的编写与调试。 二、方案论证 采用标准AT89C51单片机作为控制器;东、西、南、北各方向通行倒计时显示采用2位 LED数码管,LED显示采用直接驱动方式;模拟交通信号灯采用直径为ψ5mm的圆形发光二 极管;紧急车辆通行采用实时中断完成;通过蜂鸣器实现盲人提示功能。按以上系统构 架设计单片机端口资源刚好满足要求,该系统设计方便,电路简单。 三、系统硬件电路的设计 整套电路系统由控制系统模块、通行灯控制显示模块、时间显示模块、特种车辆通行 控制模块和盲人提示电路模块等组成。 主控制系统 主控制器采用AT89C51单片机的P1.0~P1.5脚用于控制东西及南北方向的通行灯,P1. 6脚用于控制盲人提示电路;P0口及P2 口用于4组2位LED计时器的控制;特种车辆通过时使用外部中断0口(P3.2). 通行灯输出控制 模拟交通信号灯采用直径为ψ5mm的圆形发光二级管,东西南北方向各3个,颜色分别为红 、黄、绿。为使电流小于10mA应串联一个阻值为330Ω的限流电阻。 时间显示模块 道口通行剩余时间采用高亮红色7段LED发光数码管显示,采用共阴数码管,为了提高 亮度给数码管的位选串联一个NPN型三极管,给段选并联一个驱动芯片74LS245。 紧急车辆通行控制模块 运用外部中断0口,当有特种车辆通过时,按下开关,各个方向的红灯就会同时亮起 ,并且在延时10秒后自动恢复以前的状态。 盲人提示电路模块 道口控制系统设计中也考虑到了方便盲人过人行道的声音提示电路,采用蜂鸣器作为 声音提示装置,当绿灯倒计时10s时开始发声,当黄灯亮时,即行人结束通行,蜂鸣器停 止发声,东西方向和南北方向的提示音音频不同(东西方向1s钟蜂鸣器发声两次,南北 方向1s钟发声一次)。 四、系统主要程序的设计 道口交通控制系统控制程序主要分为以下几个模块:初始化程序、主程序、子程序( 包括信号灯提示、数码管倒计时显示、盲人提示功能和紧急车辆通行功能等)。 初始化程序 初始化程序主要包括声明IO口的连接对象、声明7段LED数码管驱动信号数组、声明基本 变量、定义无返回函数(延时函数)。 主程序 主程序主要负责总体程序管理功能,实现信号灯显示与数码管倒计时显示,以及蜂鸣 器提示和特种车通行提示。 主程序流程图如下 子程序流程图如下 状态1 状态2 状态3 状态4 状态5 五、调试及性能分析 1、硬件部分首先应用Proteus软件对电路原理图进行检查,检查无误后进行焊接,焊接 结束后利用万用表检查线路是否为通路。 2、软件部分首先应用keil u4软件对程序进行编译和调试,调试成功后,利用Proteus软件进行在线仿真,经过对程 序多次地修改后,仿真效果达到了预期的要求。 3、将最终调试好的程序烧录到单片机内,观察效果。 本系统以STC89C51单片机为核心,采用高亮度两位7段数码管并应用74LS245对数码管进 行驱动,可以很直观地显示红绿灯的开放及关闭时间;功能完善,不仅有普通交通灯的 指示功能,还增加了特种车辆通行和盲人提示功能。其控制功能与效果与真实道口管理 红绿灯完全一致。 六、小组成员总结 心得体会 问婉茹 为期两周的课程设计已接近尾声,此次课程设计我们的任务是交通灯,刚开始的时 候,几乎没有一点头绪,不知从何下手,可是真正完成了之后,觉得其实也并不是特别 困难,只要找到线头,顺着它一步步往下走,就可以顺利到达终点。通过这一学期对单 片机的学习,已经对单片机有了基本的了解,但那要说真正理解,我觉得差的还不是一 点点,毫无疑问,这次的课程设计就给了我们一个深入学习单片机,提高动手能力与团 结合作的大好机会。 这次课程设计中,我负责的主要是硬件,包括各种元件的检查,电路的焊接。提到 焊接就感到惭愧,由于以前在这方面经验比较少,加之为了元件排版美观,导致电路板 背面得导线焊得一塌糊涂,正如杨老师所说,一碗面条。以后在焊接方面还是有待提高 ,多动手。虽然没有负责软件,但比起以前,还是对程序以及此次用到的几个软件有了 一点了解。总之,这次课程设计还是让我收获挺多的不管是软件,硬件还是团结协作方 面。当然,任何事情都不是一次就能成功的,必须经过多次的尝试并改善才能得到最好 的。在这次设计中,我们也不可避免的遇到了同样的问题,在完成程序并通过软件仿真 之后,经过多次的尝试,我们还是遇到了问题,八个数码管中始终有五个很暗,刚开始 以为是电流过小,不能驱动这么多数码管,老师建议我们加个74
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

B站小邓子分享官

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

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

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

打赏作者

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

抵扣说明:

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

余额充值