基于STC单片机的交通灯毕业设计(精校版)
- 格式:doc
- 大小:907.22 KB
- 文档页数:79
毕业设计说明书基于单片机的交通灯控制系统设计专业 电气工程及其自动化学生姓名 郭 恒 燕 班级 BD 电气042 学号0420610228 指导教师 张 兰 红 完成日期2008年6月10日基于单片机的交通灯控制系统设计摘要:对基于单片机的交通灯控制系统进行了设计。
系统功能为:以MCS-51系列单片机作为控制核心,设计并制作交通灯控制系统,东西南北四个方向具有左拐、右拐、直行及行人4种通行指示灯,用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。
在对系统功能分析的基础上,提出了三种设计方案,经比较,选择性能较优的LED动态循环显示方案进行了设计。
设计包括硬件和软件两大部分。
硬件部分包括单片机最小系统、时间显示、交通灯显示三部分。
选用Atmel公司的AT89S52单片机作为控制核心,东西南北四个方向设置了LED时间显示和交通灯显示,时间显示采用三位LED显示器,交通灯显示则采用红绿双色高亮发光二极管来模拟。
软件采用了模块化的设计方法,主要分为主程序、定时器中断服务子程序、倒计时显示子程序、交通灯模拟显示子程序四部分。
在实验板上制作了基于单片机的交通灯控制系统样机,对硬件和软件部分分别进行了调试,再进行了软硬件联调,得到的交通灯控制系统样机实物,可圆满地完成毕业设计任务书所要求的功能。
关键词: 交通灯;单片机;AT89S52Design of traffic light control system based on SCMAbstract: Traffic light control system based on SCM (Single Chip Microcomputer) is designed in this paper. System requires that MCS-51 series SCM is used as CPU. Traffic light control system should be designed and made .There are four groups light which indicate to turn left, turn right, and go straight ahead and pedestrian access in east, west, north and south four directions. Timer shows traffic conversion remainder time. When special vehicles, such as 119,120 go through, the system can automatically allow special vehicles running and other vehicles is prohibited.Based on analysis of the system functions, three schemes are put forward .By comparison, LED dynamic cycle display scheme has better functions and it is selected to be designed. The design includes hardware part and software part. Hardware has three parts .They are SCM system, LED time display, traffic lights.AT89S52 SCM is selected as control CPU. LED display and traffic lights are set in east, west, north and south four directions. Three LED monitors are used to show time. Highlight and red-green two color traffic lights are used as traffic lights. Software is designed by module. It is divided into main program, timer interrupting service subroutine, LED display subroutine, traffic display subroutine.The model of traffic lights control system is made in experiment board. Hardware and software is debugged respectively, then hardware and software are combined and debugged .The model of traffic lights control system can meet the requirement of design task book perfectly.Key words:Traffic light;SCM;AT89S52目录1概述 (1)1.1 课题研究背景与意义 (1)1.2 课题设计内容 (1)2系统设计 (1)2.1设计方案论证 (1)2.2系统硬件设计 (3)2.2.1控制模块 (3)2.2.2通行灯显示模块 (5)2.2.3时间显示模块 (5)2.2.4电源电路模块 (5)2.2.5硬件电路中器件选择 (6)2.3 系统软件的设计 (11)2.3.1主程序 (11)2.3.2定时中断服务程序 (11)2.3.3特种车中断服务程序 (13)2.3.4算法分析 (14)3系统调试 (14)3.1硬件调试 (15)3.1.1静态检查 (15)3.1.2通电检查 (15)3.2软件调试及软硬件联调 (15)3.2.1仿真器选择 (15)3.2.2仿真过程 (16)3.2.3通行灯输出调试 (17)3.2.4时间显示模块调试 (18)3.2.5特种车中断程序调试 (18)3.2.6脱机调试 (18)3.2.7实验结果 (19)4结束语 (20)参考文献 (21)致谢 (22)附录 (23)附录1 基于单片机的交通灯控制系统电路原理图 (23)附录2 基于单片机的交通灯控制系统PCB图 (23)附录3 基于单片机的交通灯控制系统程序清单 (23)基于单片机的交通灯控制系统设计1 概述1.1 课题研究背景与意义随着经济的增长和人口的增加,人们生活方式不断变化,人们对交通的需求不断增加。
目录1 系统设计 (3)1.1 设计要求 (3)1.2 硬件设计部分 (3)1.2.1 交通灯系统电路 (3)1.2.2 单片机最小系统电路(见附录1) (4)1.2.3 复位电路 (4)1.2.4 晶振电路 (4)1.2.5 74HC573的功能(见附录2) (5)1.2.6 发光二极管 (6)1.2.7 数码管 (6)2 软件设计(见附录3) (7)3 电路原理图的制作 (7)3.1电路原理图的设计 (7)3.2 PCB的制作 (8)结论 (11)参考文献 (12)摘要本次设计系统有交通灯设置电路、单片机、显示电路等构成。
信号灯控制的实现是通过电路与C语言程序的结合来完成,其中信号灯的模拟采用了发光二极管,发光二极管有熄灭、点亮和闪烁三种信号,其中闪烁信号的产生运用了延时程序来实现,而时间倒数方面引进了LED数字显示,克服了人们在等待时的心急的心情,减少了红灯未灭,闯红灯的现象。
电路部分原理图是通过用 Protel 99SE软件绘制设计,C语言程序的设计与调试都在KEIL上完成。
本系统功能设计完善,采用AT89C52单片机为核心,具有实用,方便,灵活的特点。
随着电子技术的广泛应用,车辆日益增多将成为一种发展趋势,所以要有一套安全可靠的交通指示灯。
单片机AT89S52为控制核心,以红、绿、黄三种LED发光管作为直行和左右拐弯以及行人通行的指示,以LED数码管作为倒计时指示,完成了题目要求的所有功能。
在此基础上对系统进行了优化设计,整体性好,人性化强、可靠性高。
关键词:单片机;交通灯;显示1 系统设计1.1 设计要求南北方向红灯与东西方向绿灯同时亮,倒计时30秒,数码管显示;南北方向黄灯与东西方向黄灯亮,倒计时3秒,数码管显示;南北方向绿灯与东西方向红灯亮时,倒计时30秒,数码管显示。
1.2 硬件设计部分根据本设计交通灯的模型和实现的功能,硬件部分可以分为以下两个大的系统:单片机系统、交通灯演示系统。
《单片机原理及应用》课程设计题目基于STC89C52单片机的交通灯控制系统设计学生姓名沈邦振学号学院信息与控制学院专业测控技术与仪器指导教师孙伟二O一二年六月五日基于 STC89C52 单片机的交通灯控制系统沈邦振1.项目概述随着我国经济的高速发展,私家车、公家车的增加,无疑会给我国道路交通系统带来沉重的压力,很多大城市都不同程度的受到交通堵塞问题的困扰。
下面以STC89C52单片机为核心,设计出以人性化、智能化为目的的交通信号灯控制系统。
2.项目意义用 STC89C52单片机控制一个交通信号灯系统,晶振采用 12MHz。
设 A 车道与 B 车道交叉组成十字路口, A 是主道, B 是支道。
设计要求如下:(1)用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。
(2)正常情况下, A、B 两车道轮流放行, A 车道放行 9s ,其中 3s 用于警告; B 车道放行 6s, 其中 3s 用于警告。
(3)在交通繁忙时,交通信号灯控制系统应有手控开关,可人为的改变信号灯的状态,以缓解交通拥挤状况。
在 B 车道放行期间,若 A 车道有车而 B 车道无车,按下开关 K1 使 A 车道放行 5s;在 A 车道放行期间,若 B 车道有车而 A 车道无车,按下开关 K2 是 B 车道放行 5s。
( 4)有紧急车辆通过时,按下K3 使 A、 B 车道均为红灯,禁行5s。
3系统设计交通控制系统主要控制A、B 两车道的交通,以STC89C52单片机为核心芯片,通过控制三色LED的亮灭来控制各车道的通行;另外通过3 个按键来模拟各车道有无车辆的情况和有紧急车辆的情况。
根据要求,制定总体设计思想如下:(1)正常情况下运行主程序,采用 0.5s 延时子程序的反复调用来实现各种定时时间。
( 2)一车道有车,而另一车道无车时,采用外部中断 1 执行中断服务程序,并设置该中断为低优先级中断。
(3)有紧急车辆通过时,采用外部中断 0 执行中断服务程序,并设置该中断为高优先级中断,实现二级中断嵌套。
基于单片机的交通灯控制系统设计毕业论文摘要:随着城市交通的日益发展,交通信号灯的控制方式也在不断地更新和优化。
本文基于单片机设计了一种交通灯控制系统,该系统具有高效、稳定和可靠的特点。
首先介绍了交通信号灯的发展背景和现有的控制系统,然后详细介绍了系统的硬件和软件设计,包括信号灯的控制逻辑、硬件电路的设计和单片机程序的编写等。
最后进行了实验测试,验证了系统的性能和可靠性。
实验结果表明,该交通灯控制系统能够有效地提高道路交通的效率和安全性,具有较好的应用前景。
关键词:交通灯控制系统、单片机、硬件设计、软件设计、实验测试第1章绪论1.1研究背景随着社会的不断发展和人口的快速增长,城市道路上的交通流量也在不断增加。
如何保障道路交通的安全和顺畅,成为了一个十分重要的问题。
交通信号灯作为一种重要的交通控制设备,对于减少交通事故和提高道路通行效率具有重要的作用。
传统的交通信号灯控制方式主要基于定时控制,缺乏智能化和动态性。
因此,我们需要开发一种新的交通灯控制系统,以满足现代交通需求。
1.2研究目的与意义本文旨在设计一种基于单片机的交通灯控制系统,提高交通灯的控制精度和灵活性,优化道路通行效率和交通安全性。
该系统具有高效、稳定和可靠的特点,适用于各种道路交通场景,并且可以根据实际情况进行灵活的调整。
第2章系统设计与实现2.1系统框架本系统由三个交通信号灯组成,分别为红灯、黄灯和绿灯。
这三个信号灯通过单片机控制,根据交通情况和车辆流量的变化来调整信号灯的显示状态。
2.2硬件设计本系统的硬件设计包括电源电路、信号灯电路和单片机控制电路等。
其中,电源电路提供系统所需的电源电压和电流;信号灯电路负责控制信号灯的亮灭;单片机控制电路负责接收和处理输入信号,并控制信号灯的显示状态。
2.3软件设计本系统的软件设计主要包括单片机程序的编写。
其中,单片机程序通过交通信号灯的控制逻辑和状态机设计,实现对信号灯的控制和调度。
第3章实验测试与结果分析为了验证系统的性能和可靠性,我们进行了一系列实验测试。
基于STC90C51单片机的智能交通灯设计智能交通灯是一种通过感知道路车辆、行人等信息,根据交通流量和
需求来控制交通的一种系统。
它能够根据道路的实际情况及交通流量自动
调整红绿灯的时间,并通过显示屏来提醒司机行车注意事项,从而提高道
路交通的效率和安全性。
本文将基于STC90C51单片机,设计一个智能交
通灯系统。
首先,我们需要一块合适的开发板,STC90C51是一片广泛应用的单
片机,并且具有丰富的外设接口,适合作为智能交通灯系统的控制主板。
我们可以通过这个单片机来实现对交通灯的控制,以及对传感器信号的处理。
其次,交通灯的设计需要注意车辆和行人的感知和控制。
我们可以通
过红外传感器来感知车辆和行人的存在。
通过对传感器信号的采集和处理,我们可以确定交通流量,从而根据实际情况来调整交通灯的通行时间。
接下来,我们需要一个显示屏来提醒司机行车注意事项。
我们可以通
过数码管或LCD显示屏来显示交通灯的状态,如红灯、绿灯和黄灯的时间等,以便司机及时了解当前交通情况。
最后,我们需要一个交通灯控制算法来实现智能交通灯的自动调整。
在实际交通中,不同道路的通行需求以及交通流量是不断变化的,因此需
要一个智能的算法来根据实时数据来调整交通灯的时间。
可以根据不同情
况设置不同的时间参数,如高峰期和低峰期,根据实际情况来灵活调整交
通信号灯的时间。
总结起来,基于STC90C51单片机的智能交通灯设计,需要考虑交通灯的感知和控制、显示屏的显示和交通灯的控制算法。
通过合理设计和实现,可以提高道路交通的效率和安全性,为人们的行车提供更好的体验。
毕业论文(设计)论文题目:基于单片机的交通灯控制电路设计学生:董仁龙学号:所在院系:电气信息工程学院专业名称:自动化届次:2011 届指导教师:井田目录摘要: (1)1.设计任务要求及目的 (2)1.1设计任务 (2)1.2基本要求 (2)1.3设计目的 (2)2.设计思路 (3)2.1设计原理: (3)2.2设计方案及其总体设计框图 (3)3.交通灯控制系统的硬件设计 (4)3.1系统硬件电路构成及外部硬件件的选取 (4)3.2系统工作原理 (5)3.3单片机小系统的基本组成及硬件图 (8)3.4外围电路工作原理及系统硬件图 (8)4.系统软件程序的设计 (14)5.课程设计心得体会 (15)6.参考文献 (13)7.附录: (14)8.致谢 (19)基于单片机的交通灯控制电路设计学生:董仁龙(指导老师:井田)(淮南师范学院电气信息工程学院)摘要:实现这井然秩序靠的是交通信号灯的自动指挥系统的交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATSC51和可编程并行IO接口芯片80C51为中心器件来设计交通灯控制器,完成对A 、B道上均有车辆要求通过时各自顺时放行;在一道有车而另一道无车和有紧急车辆要求通过时,系统做出正确应急控制。
本系统实用性强、操作简单、扩展功能强。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,本系统还应根据具体硬件结构软硬件结合加以完善。
关键词: MSC-51系列单片机ATSC51;交通灯控制器;IO接口芯片1.设计任务要求及目的1.1设计任务(1)单片机最小系统的焊制并以其为核心,设计并制作一个交通灯控制系统。
(2)按设计要求学习并使用Proteus软件绘制电路图。
(3)编写相应程序,按要求实现相应的控制。
(4)已编写的程序用Proteus仿真,对程序进行反复测试。
(5)按要求撰写毕业设计报告。
1.2基本要求(1)A 通道和B通道上均有车辆要求通过时,A、B通道轮流放行。
本科毕业设计基于单片机的交通灯控制系统设计摘要随着社会经济的发展,交通在人们的日常生活中占有重要的地位,城市交通问题越来越引起人们的关注。
人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。
所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。
本设计采用MSC-51系列单片机STC89C52为中心器件来设计交通灯控制器,利用发光二极管和数码管实现了设置红、绿灯亮灭时间的功能,红绿灯循环点亮,绿灯倒计时结束为5秒的黄灯闪烁警示,利用按键使得系统具有倒计时,时间设置,紧急情况处理,根据具体情况手动控制和车辆违规检测等功能。
软件上采用KEIL C 编程,主要编写了主程序,数码管显示程序,中断程序,延时程序等。
经过PROTUES调试,实现了对十字路口交通灯的模拟。
经过对整个设计系统的测试,本系统倒计时每60秒显示误差为0.5秒以内,交通状态信号灯交替显示正常。
按下相应的功能按键,都能正常运行,执行相应的操作。
车辆违规检测当有车辆闯红灯会有1个违规信号输出。
本系统能够在不停的运行1个小时以上,稳定性够强。
总的来说,本系统能够很好地实现本次设计要求的功能,还拥有增减倒计时时间、南北通行、东西通行和紧急模式等5个功能,而且精确度够高、操作简单、稳定性较强。
关键词:交通灯单片机车辆违规检测模拟Traffic Light Control System Based on Single Chip DesignChen Wenxing(College of Engineering,South China Agricultural University,Guangzhou 510642,China) Abstract:With the development of social economy, the transportation is very important in People's Daily life, the urban transportation problem more and more aroused people's concern. People, cars, the road three relations coordination, has become a traffic management department needs to solve one of the important issues. So, how to adopt the suitable control method, make the best use of costly to build urban freeway, relieve the main road and on-ramp, urban traffic congestion and surrounding areas, increasingly become the traffic transportation management major problems to be solved and the urban planning department.This system adopts the MSC - 51 series microcontroller STC89C52 device for the center to design the traffic light controller, using digital tube LED and a set of red and green light will consume time function, traffic light cycle light, green light for 5 seconds of the end of the countdown yellow lights Flashing warning, using the button makes the system has a countdown, time Settings, emergency processing, manual control and vehicle violation detection based on the specific situation, and other functions.In the light of the KEIL C software programming, mainly to write the main program, LED digital tube display program, interrupt program delay procedures, etc. After PROTUES debugging, has realized the simulation of traffic lights at an intersection.After testing on the design of the whole system, this system the countdown display error is 0.5 seconds, traffic status lights alternate display normal. Press the corresponding function key, can run normally, perform the corresponding operation. Vehicle violation detection when vehicles running red lights will have a bad signal output. This system can constantly running more than one hour, stability is strong enough. In general, this system can well realize the design requirements of function, also has a countdown time increase or decrease, north-south traffic, traffic and four road ban and other five function, precision and high stability, simple operation, strong enough.Key words: traffic light single chip microcomputer vehicle violation detection simulation目录1 前言 (1)1.1 交通灯的研究背景 (1)1.2 交通灯的研究意义 (1)1.3 交通灯的发展前景 (2)1.4 交通灯的设计目的 (3)2 总体方案确定 (3)2.1 设计方案论证 (3)2.2 总体设计框图 (4)3 系统硬件设计 (4)3.1 系统硬件电路构成 (4)3.2 主要芯片器件介绍 (4)3.2.1 单片机STC89C52功能与引脚说明 (4)3.2.2 数码管 (7)3.2.3 发光二极管 (8)3.3 单元电路设计 (9)3.3.1 单片机最小系统 (9)3.3.2 车辆违规检测 (10)3.3.3 数码管显示 (10)3.3.4 发光二极管信号灯显示 (11)3.3.5 按键操作 (11)4 系统软件设计 (12)4.1 理论基础知识 (12)4.1.1 定时器原理 (12)4.1.2 软件延时原理 (12)4.1.3 中断原理 (13)4.2 系统程序设计 (13)4.2.1 主程序设计 (13)4.2.2 倒计时功能 (15)4.2.3 数码管显示 (15)4.2.4 交通灯的功能按键 (17)4.2.5 延时程序模块 (18)4.2.6 车辆违规检测 (19)5 系统的调试与结果 (19)5.1 硬件调试 (20)5.2 软件调试 (20)5.3 软硬联试 (21)5.4 性能测试结果 (22)6 结论 (23)6.1 设计总结 (23)6.2 改进与建议 (23)参考文献 (25)附录交通灯控制C 程序 (1)致谢............................................................................................................ 错误!未定义书签。
基于S T C C单片机的智能交通灯设计HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】基于STC90C51单片机的交通灯设计1、设计题目基于STC90C51单片机的智能交通灯设计2、设计要求、系统功能(1)按照交通规则,控制宝田路和前进路方向及其人行道的交通信号灯(红﹑黄﹑绿)的通断。
(2)设置信号灯的通断时间。
(3)可人工干预,使交通信号灯开启不同模式。
、性能参数:(1)电源:5VDC(2)LED灯电流:10mA(3)定时时间:10s-200s3、总体设计根据系统功能和设计要求,系统采用单片机控制的方案,基于HC6800S开发板,由STC90C51,74HC573,交通灯模块,动态数码显示管以及4*2独立按键组成。
系统工作原理在十字路口,分为宝田路和前进路,正常情况下,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。
其具体状态如下:(1)普通模式:状态一:宝田路通行阶段(宝田路及其人行道亮绿灯30秒、前进路及其人行道亮红灯30秒);状态二:黄灯阶段(宝田路和前进路亮黄灯5秒、两侧人行道亮红灯5秒);状态三:前进路通行阶段(前进路及其人行道亮绿灯30秒、宝田路及其人行道亮红灯30秒);状态四:黄灯阶段(宝田路和前进路亮黄灯5秒、两侧人行道亮红灯5秒);返回到状态一。
(2)高峰期模式(设宝田路为主干道):按下按键2(key2),开启高峰期模式;状态一:宝田路通行阶段(宝田路及其人行道亮绿灯60秒、前进路及其人行道亮红灯30秒);状态二:黄灯阶段(宝田路和前进路亮黄灯5秒、两侧人行道亮红灯5秒);状态三:前进路通行阶段(前进路及其人行道亮绿灯30秒、宝田路及其人行道亮红灯30秒);状态四:黄灯阶段(宝田路和前进路亮黄灯5秒、两侧人行道亮红灯5秒);返回到状态一;按键2释放,回到普通模式。
(3)紧急模式:按下按键1(key1),开启紧急模式,所有道路及其人行道均红灯亮,数码管不显示。
基于单片机STC89C52RC的交通灯摘要:本交通灯系统采用STC89C52RC作为核心控制器,控制红绿黄三盏灯,来达到模拟日常交通灯系统,其中倒计时时间通过1602显示出来。
关键词:交通灯1602液晶一、设计方案整个模拟交通灯系统用单片机STC89C52RC作为核心控制器,有序的控制着红黄绿三盏灯的运行,实际交通灯系统所需的倒计时时间采用1602显示出来,并且其倒计时时间可通过独立式键盘进行调整。
系统框图二、主程序流程图三、附录------源程序(C)一、the main function of this system/**用stc52实现简易交通灯*/#include<reg52.h>#include<intrins.h>#include "define.h"#include "lcd_1602.h"#include "delay.h"#include "some_inits.h"#include "control.h"/****************************************主函数void main()****************************************/void main(){sys_init();while(1){key_scan(); //扫描键盘delay_ms(100);}}二、include Some .h files(1)defines.h#ifndef _define_h#define _define_h#define uchar unsigned char#define unint unsigned int/* 液晶数据区*/sfr lcd_bus=0x80; //液晶数据口sbit E=P2^7;sbit RW=P2^6;sbit RS=P2^5;/* 定义三盏led */sbit red=P2^0;sbit green=P2^1;sbit yellow=P2^2;/* 定义三个开关*/sbit jia=P1^0; //加一键sbit jian=P1^1; //减一键sbit ok=P1^2; //确认键uchar flag=1; //1,2,3:绿灯,黄灯,红灯bit first=0;/* 蜂鸣器*/sbit bell=P1^4;uchar sec_h; //秒针十位uchar sec_l; //秒针个位uchar g_h=1,g_l=0;//绿灯计时数据uchar y_h=1,y_l=0;//黄灯计时数据uchar r_h=1,r_l=0;//红灯计时数据#endif(2)some_inits.h#ifndef _some_inits_h#define _some_inits_h#include "lcd_1602.h"#include "define.h"//state some functionsvoid L1602_init();void Time0_init();/*系统初始化*/void sys_init(){flag=1; //绿灯green=1;red=0;yellow=0;L1602_init();//1602液晶初始化Time0_init();//定时器0初始化}/*1602初始化*/void L1602_init(void){enable(0x01);enable(0x38);enable(0x0c);enable(0x06);enable(0xd0);L1602_string(1,2,"traffic lights");sec_h=g_h;sec_l=g_l;L1602_char(2,8,sec_h+0x30);L1602_char(2,9,sec_l+0x30);}/* 定时器0初始化*/void Time0_init(){TMOD=0x01; //time0,time1工作在方式一IE=0x8a; //开EA,允许ET0,允许ET1TH0=0x4c; //50ms,晶振是11.0592MTL0=0x00;//TH1=0xfc; //1ms//TL1=0x66;TR0=1; //time0开始计数}#endif(3)control.h #ifndef _control_h_#define _control_h_#include <intrins.h>#include "lcd_1602.h"#include "define.h"#include "delay.h"/* state some functions */void inc();void dec();void fmq();/* 键盘扫描函数*/void key_scan(){if(ok==0){delay_ms(5);if(ok==0){fmq();enable(0x0c); //关光标first=0;TR0=1; //开始计数}else _nop_();}else if(jia==0 || jian==0){delay_ms(5);if(jia==0 || jian==0){TR0=0; // 停止计数fmq();while(!first){first=1;enable(0x0f); //开光标,开反白}if(jia==0) inc();else if(jian==0) d ec();}else{_nop_();}}}/* 加一*/void inc(void){_nop_();if(green==1 && yellow==0 && red==0) {if(g_l<9 && g_h<5) g_l++;else{if(g_h<5){g_h++;g_l=0;}else{g_h=5;g_l=0;}}sec_h=g_h;sec_l=g_l;}else if(yellow==1 && red==0 && green==0) {if(y_l<9 && y_h<5) y_l++;else{if(y_h<5){y_h++;y_l=0;}else{y_h=5;y_l=0;}}sec_h=y_h;sec_l=y_l;}else if(red==1 && green==0 && yellow==0 ) {if(r_l<9 && r_h<5) r_l++;else{if(r_h<5){r_h++;r_l=0;}else{r_h=5;r_l=0;}}sec_h=r_h;sec_l=r_l;}L1602_char(2,9,sec_l+0x30);L1602_char(2,8,sec_h+0x30);}/* 减一*/void dec(void){_nop_();if(green==1 && yellow==0 && red==0){if(g_l>0 && g_h>0){g_l--;}else{if(g_h>0){g_h--;g_l=9;}else if(g_l>0){g_l--;}else{g_h=0;g_l=0;}}sec_h=g_h;sec_l=g_l;}else if(yellow==1 && green==0 && red==0) {if(y_l>0 && y_h>0){y_l--;}else{if(y_h>0){y_h--;y_l=9;}else if(y_l>0){y_l--;}else{y_h=0;y_l=0;}}sec_h=y_h;sec_l=y_l;}else if(red==1 && yellow==0 && green==0) {if(r_l>0 && r_h>0){r_l--;}else{if(r_h>0){r_h--;r_l=9;}else if(r_l>0){r_l--;}else{r_h=0;r_l=0;}}sec_h=r_h;sec_l=r_l;}L1602_char(2,9,sec_l+0x30);L1602_char(2,8,sec_h+0x30);}/* 蜂鸣器鸣响一声*/void fmq(){unint i=150;while(i--){bell=~bell;delay_ms(1);}}/* time0 service function */void time0() interrupt 1{static count=0;TR0=0;if(count==20) //1s{count=0;if(sec_l==0){if(sec_h==0) //30s结束{if(flag==1){flag++;green=1;red=0;yellow=0;sec_h=g_h;sec_l=g_l;}else if(flag==2) //状态二,亮黄灯{flag++;green=0;red=0;yellow=1;sec_h=y_h;sec_l=y_l;}else if(flag==3)//状态三,红灯亮{flag=1; //回到状态一,绿灯亮green=0;red=1;yellow=0;sec_h=r_h;sec_l=r_l;}}else //个位为0而已{sec_h--;sec_l=9;}}else{sec_l--;}L1602_char(2,8,sec_h+0x30);L1602_char(2,9,sec_l+0x30);}else{count++;}TH0=0x4c;TL0=0x00;TR0=1;}#endif(4)lcd_1602.h#ifndef _lcd_1602_h#define _lcd_1602_h#include "define.h"#include "delay.h"uchar Convert(uchar In_Date){uchar i, Out_Date = 0, temp = 0;for(i=0; i<8; i++){temp = (In_Date >> i) & 0x01;Out_Date |= (temp << (7 - i));}return Out_Date;}/*写命令*/void enable(uchar del){P0 = Convert(del);RS = 0;RW = 0;E = 0;delay();E = 1;delay();}/*写数据*/void write(uchar del){P0 = Convert(del);RS = 1;RW = 0;E = 0;delay();E = 1;delay();}/*写字符*/void L1602_char(uchar hang,uchar lie,char sign) {uchar a;if(hang == 1) a = 0x80;if(hang == 2) a = 0xc0;a = a + lie - 1;enable(a);write(sign);}/*写字符串*/void L1602_string(uchar hang,uchar lie,uchar *p) {uchar a;if(hang == 1) a = 0x80;if(hang == 2) a = 0xc0;a = a + lie - 1;enable(a);while(1){if(*p == '\0') break;write(*p);p++;}}#endif。
单片机与嵌入式系统作品设计报告专业:电气工程及自动化学生姓名:学号:指导教师:完成日期:2013 年12 月12 日根据STC10F04单片机的特点及交通灯在实际控制中的特点,本文提出一种用单片机自动控制交通灯及时间显示的方法。
同时给出了软硬件设计方法,设计过程包括硬件电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要设计问题都有涉足。
本文对十字路口状态预设为三种,一种是正常状态,一种是紧急状态,另一种是方程式状态。
增设路段遇忙调整时方程式控制状态和紧急情况处理模块,通过手动控制开关按钮A0和A1方便系统在正常状态和紧急状态、方程式控制间来回切换,进一步完善了交通灯控制系统。
并分别用红、黄、绿灯的不同组合来指挥两个方向通车与禁行,用LED数码管作为倒计时指示,实时的控制当前交通灯时间使LED显示器进行倒计时工作并与状态灯保持同步,在保持交通安全的同时最大限度的提高交通能顺畅交替运行。
本文介绍了控制基本原理以及控制的表现,同时,论述了系统中交通现状、交通管理、交通规则及背景信息。
关键词:自动控制,时间显示器,外部中断,延时,方程式控制According to the characteristics of single-chip STC10F04 and traffic lights in the actual control of the characteristics of this paper, a single-chip automatic control with traffic lights and the method of time display. At the same time, given the hardware and software design methodology, design process, including the hardware circuit design and program design two major steps in the single-chip applications that may be encountered in the design of the important issues are involved. In this paper, the default state of the crossroads for three, one is the normal state is a state of emergency, and the other is a state formula. Additional sections of busy status adjustment formula and an emergency control module Through the manual control switch button convenience A0 and A1 system in the normal state and a state of emergency, the equation between the control switch back and forth, and further improve the traffic light control system. And were red, yellow and green light to direct different combinations of traffic in both directions and cut-line, with LED digital tube as a countdown to the instructions, real-time control of the current time for traffic lights to LED countdown display work and to keep pace with the state of light in the to maintain safety while minimizing the increase in traffic to alternate running smoothly. This paper introduces the basic principles of control, as well as the performance of control at the same time, traffic on the system status, traffic management, traffic regulations and background information.Key words: automatic control; time display; external interrupt; delay; control equation目录TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc232279941" 摘要PAGEREF _Toc232279941 \h 1HYPERLINK \l "_Toc232279942" Abstract ............................. PAGEREF _Toc232279942 \h 3HYPERLINK \l "_Toc232279943" 目录 ........................... PAGEREF _Toc232279943 \h 3HYPERLINK \l "_Toc232279944" 1 绪论 ......................... PAGEREF _Toc232279944 \h 5 HYPERLINK \l "_Toc232279945" 1.1 交通灯研究的背景和意义PAGEREF _Toc232279945 \h 5HYPERLINK \l "_Toc232279946" 1.2 交通灯国内外发展概况PAGEREF _Toc232279946 \h 5HYPERLINK \l "_Toc232279947" 2 系统工作原理及设计方案PAGEREF _Toc232279947 \h 8HYPERLINK \l "_Toc232279948" 2.1 交通灯的工作原理 PAGEREF _Toc232279948 \h 8 HYPERLINK \l "_Toc232279949" 2.2 交通灯总体设计方案PAGEREF _Toc232279949 \h 8HYPERLINK \l "_Toc232279950" 3 硬件系统设计 ....... PAGEREF _Toc232279950 \h 27 HYPERLINK \l "_Toc232279951" 3.1 硬件系统组成 PAGEREF _Toc232279951 \h 27 HYPERLINK \l "_Toc232279952" 3.1.1 单片机最小系统PAGEREF _Toc232279952 \h27HYPERLINK \l "_Toc232279953" 3.1.2 信号显示驱动电路PAGEREF _Toc232279953 \h 32HYPERLINK \l "_Toc232279954" 3.1.3 键盘输入电路PAGEREF _Toc232279954 \h33HYPERLINK \l "_Toc232279955" 4 交通灯系统详细设计 PAGEREF _Toc232279955 \h 34 HYPERLINK \l "_Toc232279956" 4.1 软件总体设计思想 PAGEREF _Toc232279956 \h 34 HYPERLINK \l "_Toc232279957" 4.2 交通控制算法实现 PAGEREF _Toc232279957 \h 36 HYPERLINK \l "_Toc232279958" 4.3 系统初始化模块 PAGEREF _Toc232279958 \h 38HYPERLINK \l "_Toc232279959" 4.4信息显示模块 ... PAGEREF _Toc232279959 \h 39 HYPERLINK \l "_Toc232279960" 4.4.1 信号灯模块 PAGEREF _Toc232279960 \h 39HYPERLINK \l "_Toc232279961" 4.4.2 LED倒计时显示子程序PAGEREF _Toc232279961 \h 44HYPERLINK \l "_Toc232279962" 4.5键盘扫描模块 ... PAGEREF _Toc232279962 \h 59HYPERLINK \l "_Toc232279963" 5 调式总结 ............... PAGEREF _Toc232279963 \h 68HYPERLINK \l "_Toc232279964" 6 致谢 ................... PAGEREF _Toc232279964 \h 69HYPERLINK \l "_Toc232279965" 参考文献 ......................... PAGEREF _Toc232279965 \h 70HYPERLINK \l "_Toc232279966" 附录 ............................. PAGEREF _Toc232279966 \h 71 HYPERLINK \l "_Toc232279967" 附录一程序清单 . PAGEREF _Toc232279967 \h 71HYPERLINK \l "_Toc232279968" 附录二交通灯PCB图PAGEREF _Toc232279968 \h 78HYPERLINK \l "_Toc232279969" 附录三交通灯电路原理图PAGEREF _Toc232279969 \h 791 绪论1.1 交通灯研究的背景和意义交通是城市经济活动的命脉,对城市经济发展、人民生活水平的提高起着十分重要的作用。