基于at89c51单片机的交通灯控制设计

article/2025/9/18 1:48:33

**

单片机自主学习项目*设计分析 —模拟LED交通灯

**

一、开发背景与需求

1 开发背景

交通事业蓬勃发展,交通流量年年增长,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,为了在叉口的各条干道实现合理的科学分流。本人根据单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,提出了一种用at89c51单片机自动控制交通信号灯及时间显示的方法,同时给出了软硬件的实现方法,为交通指挥自动化提供了一种新的廉价手段,本文介绍了控制基本原理以及控制的表现,大幅度地提高了产品可靠性并降低了制造成本。

2 开发需求
交通灯在安全行车过程中起着十分重要的作用,现在交通同等一般设在十字路口口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。

二、技术分析与总体设计

1 技术分析
共阳极多位数码管的显示
LED灯的点亮
2 总体设计

在这里插入图片描述

图片:
在这里插入图片描述

运行代码

#include<reg51.h>
#define int unsigned int
#define char unsigned char
char print[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
int out[2]={6,0};
char outL[2]={0x01,0x02};
char type[4]={0x21,0x12,0x0c,0x12};
void delay(int s);
void left(int ty,int mtime,int nextTy);int big=10;
int min=5;
void main(){left(0,big,1);
}void left(int ty,int mtime,int nextTy){int ms=mtime;int i;int p,time;P2=type[ty];while(ms!=-1){out[0]=ms/10;out[1]=ms%10;time=1000;while(time){for(i=0;i<2;i++){p=out[i];P3=0xff;P3=print[p];P1=outL[i];sleep(1);time--;}}ms--;}if(nextTy==0){left(0,big,1);}if(nextTy==1){left(1,min,2);}if(nextTy==2){left(2,big,3);}if(nextTy==3){left(3,min,0);}
}void delay(int s){int i,j;for(i=s;i>0;i--)for(j=110;j>0;j--);
}

四、系统运行和测试(展示运行结果,用图来表示)

1东西绿灯,南北红灯

在这里插入图片描述

2东西南北变黄灯

在这里插入图片描述

3东西红灯,南北绿灯

在这里插入图片描述

4东西南北变黄灯

在这里插入图片描述

5再次循环

在这里插入图片描述

五、系统开发总结(谈对单片机应用程序开发的认识)

通过这次课程设计报告不仅更加了解了单片机的使用和功能的强大,还解决了软件闪退问题,收获满满!各位喜欢就拿走吧~
解决方法:Proteus8.9 安装教程、闪退问题解决https://blog.csdn.net/weixin_44578655/article/details/106593468?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase


http://chatgpt.dhexx.cn/article/lSDEklj3.shtml

相关文章

以梦为马之89c51单片机驱动lcd

路有千万条&#xff0c;我要选择那条最难的走&#xff0c;这才是我该走的路 控制LCD实际上就是控制两个牛屎芯片 观察lcd1602&#xff0c;它有16个引脚&#xff0c;其含义如下图所示 查看数据手册看到如下时序图 再看说明书看到时序图介绍&#xff1a; 芯片手册混合写的&a…

AT89C51单片机的C语言代码和仿真模拟学习

单片机定时器学习 一、代码图片与仿真模拟图 #include <reg51.h>/*定义KEY*/ sbit KEY1 P1^0; sbit KEY2 P1^1;void Delay100ms() //12.000MHz延时100ms {unsigned char i, j;i 195;j 138;do{while (--j);} while (--i); }//判断KEY值并执行程序 void Judgefunctio…

AT89C51单片机制作简易密码锁

51单片机课程设计—制作密码锁 文章目录 51单片机课程设计---制作密码锁1.设计要求2.设计流程图3.重要代码解释4.仿真电路设计5.完整代码设计6.仿真结果图7.工程源码及protues仿真下载 1.设计要求 1.1能设定一组4位的数字开启密码&#xff08;设定密码功能&#xff09; 1.2用L…

AT89C51单片机万年历仿真图+代码

首先申明&#xff0c;这篇博客是用作记录本人实训内容的&#xff0c;代码我个人一字一字码的&#xff0c;就上网查了下数字温度传感器DS18B20的处理方法&#xff0c;基本都是个人完成的。 在这里吐槽下&#xff0c;本人辛辛苦苦码的代码&#xff0c;最后实训分数还没那些抄的人…

基于AT89C51单片机的电子万年历系统

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87708258 源码获取 主要内容&#xff1a; 电子万年历系统以实时时钟芯片DS1302和AT89C52单片机为主要研究对象&#xff0c;着重进行51单片机控制系统的设计研究和如…

c51单片机时钟c语言程序设计,AT89C51单片机为核心的时钟电路的程序设计

当前位置:电工之家 > 电工知识 > 单片机 > 正文 AT89C51单片机为核心的时钟电路的程序设计 时间:2018-06-05 08:38 来源:电工之家 AT89C51单片机为核心的时钟电路的程序设计 1.主程序设计及系统主流程图 设计中采用定时器T0中断完成,其余状态循环调用显示子程序。系…

AT89C51单片机

目录 一、AT89S51单片机的I/O端口二、AT89S51单片机的中断系统  1、中断处理过程  2、AT89S51单片机的中断源&#xff08;2&#xff09;AT89S51单片机的中断控制&#xff08;3&#xff09;AT89S51单片机的中断优先级&#xff08;4&#xff09;AT89S51单片机中断系统的结构&…

89c51c语言程序,AT89C51单片机流水灯c语言程序及详解

许多朋友不知道怎么用C语言编程实现AT89C51单片机流水灯&#xff0c;这里给大家讲解一下。 首先将单片机的头函数导入。 #include"reg51.h" 定义单片机P1口的8个管脚&#xff0c;使其分别代表流水灯的8个led。 sbit p0P1^0; sbit p1P1^1; sbit p2P1^2; sbit p3P1^3; …

keil ISIS AT89C51单片机

突然想起大学时候学习的知识&#xff0c;最近空余时间较多&#xff0c;想回顾一下&#xff0c;然后发现连最简单的编辑器的名字都快忘记了&#xff0c;于是赶紧抓紧时间复习一遍&#xff0c;在此记录一下这个过程遇到的问题。 首先是对于keil的安装&#xff0c;我是直接从网上…

AT89C51单片机性能介绍

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器&#xff08;FPEROM—Falsh Programmable and Erasable Read Only Memory&#xff09;的低电压&#xff0c;高性能CMOS8位微处理器&#xff0c;俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造&#xff0c;与工业标…

微机基础与89C51单片机部分知识

1&#xff0c;微机基础知识 微机: 具有完整运算及控制能力的计算机。包括微处理器&#xff0c;储存器&#xff0c;接口适配器&#xff0c;输入输出设备。 微处理器&#xff1a; 控制器&#xff1a;由程序计数器&#xff0c;指令寄存器&#xff0c;指令译码器&#xff0c;时序发…

基于AT89C51单片机的计算器设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87772564 源码获取 主要内容: 本设计是基于51系列的单片机进行的设计,可以完成计算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。设计过…

基于 AT89C51 单片机的数字时钟设计

目录 1.设计目的、作用 2.设计要求 3.设计的具体实现 3.1 设计原理 3.2 硬件系统设计 3.2.1 AT89C51 单片机原理 3.2.2 晶振电路设计 3.2.3 复位电路设计 3.2.4 LED 数码管显示 3.3 系统实现 3.3.1 系统仿真与调试 3.3.2 演示结果 4.总结 附录 附录 1 附录 2 1.…

89C51单片机之寄存器

文章目录 片内RAM中的寄存器内容介绍 低128字节片内RAM4组工作寄存器 高128字节片内RAM&#xff08;SFR区&#xff09;部分特殊功能寄存器累加器 ACC寄存器 B程序状态寄存器 PSW栈指针 SP数据指针 DPTRI/O端口 P0~P3 中断系统中的特殊寄存器定时器控制寄存器 TCON 之中断定时器…

【89c51汇编语言】51单片机结构及其原理

单片机结构及其原理 51单片机的内部结构单片机CPU控制器控制器&#xff1a;程序计数器&#xff1a;PC 控制器&#xff1a;数据指针寄存器&#xff1a;DPTR运算器累加器APSW程序状态字CY&#xff08;PSW.7&#xff09;进位标志AC&#xff08;PSW.6&#xff09;辅助进位标志RS1和…

89c51单片机

89c51是一款很大众化的入门级单片机&#xff0c;ATMEL、NXP、STC、和SST等公司生产的与80c51兼容低功耗、高性能8位89c51/s51单片机具有比80c31更丰富的外设资源。 89c51/s51单片机芯片内包括&#xff1a; ①一个8位的80c51微处理器&#xff08;CPU&#xff09; ②片内256字…

关于会话(session),你应该了解这些

一、什么是会话 会话Session代表的是客户端与服务器的一次交互过程&#xff0c;这个过程可以是连续也可以是时断时续的。在Servlet中&#xff08;jsp&#xff09;&#xff0c;一旦用户与服务端交互&#xff0c;服务器tomcat就会为用户创建一个session&#xff0c;同时前端会有…

ZooKeeper客户端源码(一)——向服务端建立连接+会话建立+心跳保持长连接

首发CSDN&#xff1a;徐同学呀&#xff0c;原创不易&#xff0c;转载请注明源链接。我是徐同学&#xff0c;用心输出高质量文章&#xff0c;希望对你有所帮助。 一、从ZooKeeper实例初始化开始 ZooKeeper 提供了原生的客户端库&#xff0c;虽然不好用&#xff0c;但是能够更好…

会话劫持安全攻击

什么是会话劫持&#xff1f; TCP 会话劫持是对受保护网络上的用户会话的安全攻击。会话劫持最常见的方法称为 IP 欺骗&#xff0c;攻击者使用源路由 IP 数据包将命令插入网络上两个节点之间的活动通信中&#xff0c;并将自己伪装成经过身份验证的用户之一。这种类型的攻击是可能…

HTML sessionStorage会话存储

sessionStorage会话存储 sessionStorage 是HTML5新增的一个会话存储对象&#xff0c;用于临时保存同一窗口(或标签页)的数据&#xff0c;在关闭窗口或标签页之后将会删除这些数据。本篇主要介绍 sessionStorage(会话存储)的使用方式。包括添加、修改、删除等操作。 目录 1. 介…