大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
内容介绍
原文档由会员 ½ӨӨ 发布
交通灯控制系统设计
1万字 32页
包括程序代码,系统原理图,Proteus仿真过程
摘要
本设计是交通信号灯控制系统,随着社会的不断的进步,社会的不断发展。交通也日渐复杂,交通的自动化也不断更新,交通的一些指挥系统光靠人来完成是远远不够的,这就需要设计各种交通指挥自动化系统来完成这些复杂的工作。从而使交通指挥系统更加有秩序,更加安全。至此本人设计了交通信号灯控制系统,来指挥十字路口车辆的停通,使红绿灯指挥系统实现自动化,无人化。
该交通灯控制系统控制的是东西和南北两个方向上的车辆通行,系统共采用6个发光二极管来模拟各路交通信号灯,4个LED七段数码管以倒计时的方式显示各个方向上允许通行或禁止通行的信号灯剩余的时间。停35S,准备5S,之后通行30S,并在东西和南北两个方向上这两种状态不断循环。此系统核心元件为单片机AT89C51,单片机)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。对其编写相关程序来控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况。此设计的硬件电路不是很复杂,关键在于软件的设计,即程序的编写。本设计采用的程序编写语言为现在流行的C语言,简单又便于阅读。编写程序的原则是:1.满足设计的要求。2.尽量采用最好,最有效的算法。3.编写时应尽量用最简洁的语言。编写好源程序后,采用keil软件对其进行编译,使其生成单片机可以识别的.hex文件,再把此文件导入单片机89C51中即可。
硬件电路和源程序及目标文件都设计完后,我们可以采用相关软件进行仿真,以使交通信号灯控制系统的设计更加准确,可靠。设计者采用PROTUES软件进行仿真调试,仿真时注意此软件使用,从而进一步熟悉并学习此软件。仿真成功后,就做好本次设计报告,写出此次设计的心得与体会。
目录
1 概述 3
1.1 交通灯设计方案选择与论证: 3
1.2设计要求及目的: 3
1.2.1基本要求: 3
1.2.2提高要求: 3
1.2.3设计目的: 4
1.3交通灯控制系统的简单说明: 4
2 系统总体方案及硬件设计 5
2.1 硬件电路各元件介绍: 5
2.1.1核心芯片AT89C51单片机的说明 5
2.1.2两位八段式数码管 7
2.1.3其它元件的说明 9
2.2总电路的设计及过程说明 10
2.2.1设计基本框架图:(如图6所示) 10
2.2.2总体电路的工作原理: 10
2.2.3各端口控制作用: 11
2.2.4复位和时钟电路: 12
2.3设计思想: 13
3 软件设计 14
3.1交通灯状态的分析: 14
3.2主程序流程图:(如图一,图二所示) 15
3.3中断程序流程图:(如图三所示) 17
4 Proteus软件仿真 18
4.1仿真过程: 18
(1)南北红,东西绿 18
4.2检测与调试: 20
5课程设计体会 22
5.1心得体会: 22
参考文献 22
附1:源程序代码 23
附2:系统原理图 28
1.2设计要求及目的:
1.2.1基本要求:
(1)采用AT89C51单片机控制交通信号灯;
(2)以南北方向的交通灯为例,结合实际情况,控制红、黄、绿交通灯的亮和灭;
(3)红、黄、绿交通灯的亮和灭的时间可调节。
1.2.2提高要求:
(1)采用LED数码管显示红或绿交通信号灯亮的剩余时间;
(2)可由拨盘开关强制设置为东西红,南北绿//东西绿,南北红//东西南北都为红;
(3)控制东西方向和南北方向的红、黄、绿交通灯的亮和灭;
(4)控制系统的原理图和接线图采用PROTEL等专用绘图软件绘制。
参考文献
[1]余发山。单片机原理及应用技术。中国矿业大学出版社
[2] 何立民.单片机应用技术大全.北京:北京航空航天大学出版社
[3] 张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社
[4] 谭浩强.单片机课程设计. 北京:清华大学出版社
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192928.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...