单片机交通灯设计
单片机课程报告设计--交通信号灯模拟控制系统设计

单片机课程报告设计题目:交通信号灯模拟控制系统设计专业:电子信息科学与技术班级:学号:姓名:指导老师:年月日※※※※※※前言※※※※※※本课程设计的目的和意义本课程设计是在学完单片机原理及课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。
该课程设计的主要任务是通过解决一、两个实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。
*******目录*******一、设计要求二、设计内容三、交通信号灯模拟控制系统设计程序流程图四、交通信号灯模拟控制系统原理图五、交通信号灯模拟控制系统主程序六、运行步骤七、检测与调试八、课程设计体会九、参考文献十、说明一、设计要求:交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED数码管显示时间。
用8051做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
二、设计内容:因为本课程设计是交通灯的控制设计,所以要了解实际交通灯的变化情况和规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1东西红灯,南北绿灯通车,。
过一段时间转状态2南北绿灯灭,黄灯闪烁几次,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯灭,闪几次黄灯,南北仍然红灯。
最后循环至状态1。
注意:.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
三、交通信号灯模拟控制系统设计程序流程图四、交通信号灯模拟控制系统主程序ORG 0000HSJMP A3ORG 0030HA3: MOV SP,#60H ;设栈指针初值MOV A, #24HMOV P1, ASETB P3.2CLR P3.3CLR P3.4SETB P3.5 ;全部红灯亮MOV R4,#00H ;显示0秒MOV R7,#00H ;显示0秒MOV R2,#03HLCALL XI ;调用子程序A2 : MOV A,#0CHMOV P1,ASETB P3.2SETB P3.3CLR P3.4CLR P3.5 ;东西红灯,南北绿灯MOV R4,#14H ; 显示20秒LOOP2 : MOV R2,#03HLCALL XIDJNZ R4,LOOP2 ;判断20秒显示时间到否MOV R2,#03HLCALL XILOOP8: MOV R2,#03H ;南北黄灯闪3次LCALL XIMOV R4,#05H ;设南北黄灯亮长显示5秒SETB P3.2CLR P3.3A1: MOV A,#14HMOV P1 ,ASETB P3.4CLR P3.5 ;东西红灯,南北黄灯MOV R2,#01H ;定时LCALL DELAY ;调用延时子程序MOV A ,#04HMOV P1 ,ACLR P3.4CLR P3.5 ;东西红灯,南北不亮即意思要南北黄灯闪烁MOV R2 ,#01H ;定时LCALL DELAYDJNZ R4,LOOP8 ;判断南北黄灯闪烁,显示5秒到否?MOV A, #61HMOV P1,ACLR P3.2CLR P3.3CLR P3.4SETB P3.5 ;东西绿灯,南北红灯MOV R4,#14H ;显示20秒LOOP3:MOV R2,#03HLCALL XIDJNZ R4,LOOP3 ;判断20秒显示时间到否MOV R7,#05H ;设东西黄灯亮长显示5秒SETB P3.5A0: MOV A,#0A2HMOV P1,ACLR P3.2CLR P3.3CLR P3.4 ;东西黄灯,南北红灯MOV R2,#01H ;定时LCALL DELAYMOV A,#20H ;MOV P1,ACLR P3.2CLR P3.3CLR P3.4 ;南北红灯,东西不亮即意思要东西黄灯闪烁MOV R2,#01H ;定时LCALL DELAYDJNZ R7,A0 ;判断东西黄灯闪烁,显示5秒到否?LJMP A2 ;循环回状态1,即东西红灯,南北黄灯DELAY: PUSH 2PUSH 1PUSH 0 ;进栈DELAY1: MOV 1,#00HDELAY2:MOV 0,#0B2HDJNZ 0,$ ;判断是否运行完0B2HDJNZ 1,DELAY2DJNZ 2,DELAY1POP 0POP 1POP 2 ;出栈DJNZ R2 ,DELAY ;判断R2是否运行完RET ;返回主程序XI: MOV A,R4MOV B,#10DIV ABMOV R6,AMOV DPTR,#TABMOV A,BMOVC A,@A+DPTRMOV SBUF,AMOV R7,#0FHH55S: DJNZ R7,H55SMOV A,R6MOVC A,@A+DPTRMOV SBUF,AMOV R7,#0FHH55S1: DJNZ R7,H55S1LCALL DELAYRETTAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0hDB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8ehEND五、交通信号灯模拟控制系统原理图设计的连线图提示:(1) 完整的DVCC实验箱面板(2)硬件电路连接说明六、运行步骤:①8051 P1.0—P1.7、P3.2—P3.5依次接发光二极管L1—L12。
51单片机红绿灯设计报告

1.1 课程设计制作题目及要求
基于STM32的智能交通灯系统设计

基于STM32的智能交通灯系统设计智能交通灯系统是一个基于STM32的控制系统,旨在改善交通流量管理和道路安全。
它利用STM32的高性能微控制器和实时操作系统,提供智能化的交通信号控制,可以根据实时交通状况进行灵活调整,从而最大限度地提高交通流量并减少交通拥堵。
该系统由以下几个主要组成部分组成:1. STM32微控制器:作为系统的核心,STM32微控制器采用先进的ARM Cortex-M处理器架构和强大的计算能力,用于控制信号灯的状态和计时功能,同时可以通过与其他传感器和设备的接口进行通信。
2.交通感应器:交通感应器通常包括车辆和行人检测器。
车辆检测器使用电磁或光电等技术监测车辆的存在和通过情况,行人检测器则使用红外传感器等技术检测行人的存在。
通过与STM32微控制器的接口,感应器可以将实时交通信息传输到控制系统中进行处理。
3. 通信模块:为了实现智能化的交通信号控制,交通灯系统与其他交通系统和设备之间需要进行数据交互。
通信模块使用嵌入式网络协议,如CAN或Ethernet,与其他交通设备进行通信,以便接收实时交通信息并将交通信号优化策略传输回控制系统。
4.人机交互界面:人机交互界面通常是一个触摸屏或面板,用于设置和调整交通信号控制的参数,以及显示交通信息和各个信号灯的状态。
通过与STM32微控制器的接口,人机交互界面可以实现与控制系统的交互。
系统的工作原理如下:1.交通感应器将车辆和行人的存在和通过情况传输到STM32微控制器。
2.STM32微控制器根据收到的交通信息,结合预设的交通信号控制策略,确定各个信号灯的状态和计时。
3.STM32微控制器通过通信模块与其他交通设备进行通信,接收实时交通信息,并将交通信号优化策略传输回控制系统。
4.人机交互界面用于设置和调整交通信号控制的参数,以及显示交通信息和各个信号灯的状态。
智能交通灯系统的设计目标是提高道路交通管理的效率和安全性。
通过实时监测交通情况,并根据实际需要进行灵活调整交通信号,可以减少交通拥堵和行车事故的发生。
单片机课程设计交通灯设计

目录一、设计目的 (2)二、设计任务和要求 (2)三、设计原理分析 (2)四、硬件资源及其分配 (3)五.硬件图 (6)六、程序框图 (7)七、程序 (8):八、调试运行 (13)九、仿真截图 (13)十、设计心得体会 (15)一、设计目的1、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过交通信号灯控制系统的设计,掌握定时/计数器及中断的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。
二、设计任务和要求任务:设计一个能够控制十二盏交通信号灯的模拟系统要求:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED灯显示倒计时间。
1、东西绿灯亮,南北红灯亮2、黄灯亮3、东西红灯亮,南北绿灯亮三、设计原理分析1、首先了解实际交通灯的变化情况和规律。
假设一个十字路口如上图所以,为东南西北走向。
初始状态0:为东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮黄灯亮,南北红灯亮黄灯亮;过后转状态2:东西红灯亮,南北绿灯亮;再转状态3:东西红灯亮黄灯亮,南北绿灯亮黄灯亮。
一段时间后,又循环至状态0。
中间可通过中断按钮产生中断,跳入中断程序执行中断。
列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)北西南东状态绿黄红绿黄红绿黄红绿黄红00011000011001011110011110210000110000131100111100112、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。
3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。
每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。
4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。
基于单片机的智能交通红绿灯控制系统设计

基于单片机的智能交通红绿灯控制系统设计智能交通红绿灯控制系统是一种基于单片机的电子设备,用于智能化控制交通信号灯的工作。
本文将详细介绍如何设计一套基于单片机的智能交通红绿灯控制系统。
首先,我们需要选择适合的单片机作为控制器。
在选择单片机时,我们需要考虑其功能、性能和价格等因素。
一些常用的单片机型号有8051、AVR、PIC等。
我们可以根据具体的需求选择合适的单片机型号。
接下来,我们需要设计硬件电路。
智能交通红绿灯控制系统的硬件电路主要包括单片机、传感器、继电器和LED等组件。
传感器可以用来感知交通流量和车辆信息,继电器用于控制交通灯的开关,LED用于显示交通灯的状态。
在硬件设计中,我们需要将传感器与单片机相连接,以便将传感器获取的信息传输给单片机。
同时,我们还需要将单片机的控制信号传输给继电器和LED,以实现对交通灯的控制。
在软件设计中,我们需要编写相应的程序代码来实现智能交通红绿灯的控制逻辑。
首先,我们需要对传感器获取的信息进行处理,根据交通流量和车辆信息来确定交通灯的状态和切换规则。
例如,当交通流量较大时,可以延长绿灯亮起的时间;当有车辆等待时,可以提前切换到红灯。
此外,我们还可以在程序中添加自适应控制算法,用于根据交通流量动态调整交通灯的周期和切换时间,以进一步提高交通流量的效率和道路通行能力。
最后,我们需要将程序代码烧录到单片机中,并进行调试和测试。
在测试过程中,我们可以模拟不同的交通流量和车辆信息,以验证智能交通红绿灯控制系统的正常运行和控制效果。
综上所述,基于单片机的智能交通红绿灯控制系统设计主要包括硬件设计和软件设计两个方面。
通过合理的硬件电路设计和程序编写,可以实现对智能交通红绿灯的智能化控制,提高交通流量的效率和道路通行能力,实现交通拥堵的缓解和交通安全的提升。
单片机课程设计(交通灯、秒表)

课程设计报告〔2022—2022学年第2学期〕课程名称:单片机课程设计班级:学号:姓名:指导教师:2022年03月三、过程〔如实际程序开发、电子制作,具体讲明有关原理、开发过程、调试过程、结果〕交通灯:(一)、功能描述:这是一个交通灯模拟系统,每组有绿,红,黄色3支共两组发光二极管表示交通信号灯,数码管2只共两组以递减的方式表示各色信号灯的时刻。
在双干线路口上,交通信号灯的变化是定时的。
初始时刻设定为红灯30秒,绿灯25秒,黄灯5秒,在此本原上可通过按键修改红绿灯的时刻。
(二)、硬件局限:电源模块:1、模块功能简介:此模块为整个系统提供稳定的5V电压。
2、电路图:3、所用芯片介绍:LM2576系列开关稳压集成电路是线性三端稳压器件的替代品,它具有可靠的工作性能、较高的工作效率和较强的输出电流驱动能力,从而为MCU的稳定、可靠工作提供了强有力的保证。
要紧特性:最大输出电流:3A;最高输进电压:LM2576为40V,LM2576HV为60V;输出电压:、5V、12V、15V和ADJ〔可调〕等可选;振动频率:52kHz;转换效率:75%~88%〔不同电压输出时的效率不同〕。
单片机最小系统模块:1、模块功能介绍:本系统包括时钟电路和复位电路。
本课程设计采纳的单片机是SST89E58,晶振采纳12MHz。
2、电路图:8段数码管显示模块:1、模块功能介绍:此模块用来显示实验中药显示的时刻等数字。
这是由条形发光二极管组成“8”字形的LED显示器。
发光响应快,亮度强,高频特性好。
2、电路图:为了给发光二极管加驱动电压,上图中公共引足的接法为共阳极接法,把发光二极管的阳极连在一起作为阳极公共引足,如此阴极引足上加低电平常即可导通点亮。
3、显示原理介绍:本次课程设计中为并排使用的4位数码管,采纳动态显示方式。
显示时通过位控信号采纳扫描的方法逐位地循环点亮各位数码管。
尽管在任一时刻只有一位数码管被点亮,然而由于人眼具有的视觉残留效应,瞧起来与全部数码管持续点亮的效果一样。
基于单片机的交通灯控制系统设计与实现
基于单片机的交通灯控制系统需要包含以下组成部分:1.硬件设备组成:单片机、LED 灯、显示屏等硬件设备。
2.设计思路描述:交通灯控制系统的设计思路是基于定时器的,利用计数器和定时器来控制红绿灯的转换,同时通过按键检测实现手动控制。
3.程序设计:程序需要完成按键检测、信号灯控制和定时器计数等功能。
具体实现可以分为以下几步:(1) 根据硬件设备的引脚对应关系,定义各个引脚的控制方式和状态。
(2) 在程序中定义计时器和定时器,用于计时和设置红绿灯状态。
例如,计时器每隔一定时间就会触发定时器,设置红绿灯的状态,并且根据状态判断相应的亮灯和熄灯。
(3) 通过按键检测来实现手动控制,当检测到按键按下时,立即切换灯的状态,当再次按下时,又立即切换回之前的状态。
4.实现代码:下面是一个该系统的简单代码示例,供参考:#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit KEY1 = P3^0;//按键定义sbit RED = P2^2;//红灯定义sbit YELLOW = P2^1;//黄灯定义sbit GREEN = P2^0;//绿灯定义/*函数声明*/void initTimer0();void delay1ms(uint count);/*主函数*/int main(){initTimer0();/*初始化计时器*/while(1){if(KEY1 ==0){/*按键按下*/delay1ms(5);/*消抖*/if(KEY1 ==0){/*仍然按下*//*绿灯亮10s*/GREEN =1;delay1ms(10000);GREEN =0;/*黄灯亮3s*/YELLOW =1;delay1ms(3000);YELLOW =0;/*红灯亮7s*/RED =1;delay1ms(7000);RED =0;/*黄灯亮2s*/YELLOW =1;delay1ms(2000);YELLOW =0;}}}return0;}/*函数定义*/void initTimer0(){TMOD &=0xF0;TMOD |=0x01;TH0 =0xFC;TL0 =0x18;EA =1;ET0 =1;TR0 =1;}/*1ms延时函数*/void delay1ms(uint count){uint i,j;for(i=0;i<count;i++){for(j=0;j<125;j++){}}}/*计时器中断函数*/void timer0() interrupt 1{TH0 =0xFC;TL0 =0x18;}以上是一个简单的基于单片机的交通灯控制系统设计与实现示例。
单片机交通灯课程设计报告
摘要:自从1858年英国人,发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。
近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。
本模拟交通灯系统利用单片机AT89S51作为核心元件,实现了通过信号灯对路面状况的智能控制。
从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
本模拟系统有单片机硬/软件系统,8位8段数码管显示系统。
和复位电路控制电路等组成,较好的模拟了交通路面的控制。
一:设计思路(1):分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。
(2):确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还有倒计时显示提示、紧急情况下,全面禁行、黄绿红灯及左转周期随时可调这三项项特特殊功能。
(3)进行显示电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。
(4)进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,对单片机内部结构和工作情况做了充足的研究,了解中断以及延时原理,总体上完成了软件的编写。
然后在开发板上进行硬件调试。
二:单片机交通控制系统方案2.1电源的供电方案为使模块稳定的工作,必须有可靠的电源。
同时由于我们此次设计是基于开发板的,其内部已经将电源供电模块安装好,为了方便节省时间,我们采用开发板上的电源模块。
2.2显示界面设计该系统要求完成倒计时功能,又由于所买开发板的限制,我们无法同时分别控制使用开发板上的LED灯和八段数码显示管,因此我们采取用最右边的两个数码管显示时间,其余六个数码管分别代表南北、东西方的红黄绿灯及左转信号。
单片机课程设计交通灯
单片机课程设计 - 红绿灯第一章介绍随着我国社会经济的发展和城市化进程的加快,道路交通拥堵问题越来越严重。
如何合理管理和调度交通,尽可能减少交通拥堵,已成为我国许多地区特别是特大城市迫切需要解决的问题。
问题,显然交通信号灯在其中起着不可或缺的作用。
本文讨论了控制红绿灯的方法,分析了各种方案的成本效益,并通过软件和硬件实现了它们。
然后,对6车道以上道路的“路口红绿灯控制”进行了分析。
最后对城市交通信号灯网络的控制进行了展望。
希望能给相关政府部门一些参考,更好的改善我们的城市交通。
今天的交通发展迅速,车辆大量增加,道路拓宽,人行横道相对较少。
即使在车流量大的地方有人行横道,行人也很难过马路。
行人自动控制指示系统可以有效改善这种状况。
尤其是像这样的大都市,经济高速发展,车辆多,人口稠密。
缓解交通问题已成为重中之重。
比如我们新校区西门(塔南路)就是这种情况。
每天进出校门的学生很多,而且大部分要穿过这条繁忙的高速公路,给师生带来了很大的好处。
不便。
该系统主要应用于交通运输领域,具有很高的实用价值。
该系统利用红灯、黄灯、绿灯来引导车辆和行人,以达到使车辆和行人停下来,减少交通拥堵,为行人节省时间的目的,即保证行人过马路时的安全,也减轻了交管部门的负担。
面向公共交通设施,该产品不注重经济效益,而是着眼于未来的发展潜力,从而带动相关产业。
用户可以完全掌握行人自动控制指示系统的操作方法,并配合每个按钮的功能,科技的飞速进步直接将我们带入了信息社会,计算机的应用在各个方面得到了普及。
经济和社会生活领域。
第二章设计要求和任务第一个程序的要求和要求:一、实验要求:编写一个程序,以89c端口52作为输出端口,控制4个双色LED灯(可以发出红绿黄灯),模拟路口红绿灯的管理。
2、实验目的:(1)学习I/O口的扩展方法;掌握89c52的工作原理和编程方法,了解软硬件调试技术。
(2)学习模拟红绿灯控制方法;(3)学习双色LED灯的使用;Section 2设计任务及设计内容:(CPU使用89c52)1.软件延时实现模拟路口红绿灯控制:(图1)实验效果:软件延时控制A、C路口红灯,B、D路口绿灯亮60秒;则A、C路口不变,B、D路口绿灯闪烁5次,B、D路口黄灯亮; A、C路口绿灯,B、D路口红灯延时3秒;然后A和C路口的绿灯闪烁5次,然后黄灯亮,B和D保持不变。
基于51单片机的交通灯(红绿灯)设计论文报告
通过单片机仿真交通灯班级:10级电信姓名:***学号:***********第一章概述1.设计内容:用AT89S52单片机控制一个交通信号灯系统,晶振采用12MHZ。
设A车道与B车道交叉组成十字路口,A是主道,B是支道。
设计要求如下:用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。
正常情况下,A、B两车道轮流放行,A车道放行50s,其中5s用于警告;B车道放行30s,其中5s 用于警告。
交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。
在B 车道放行期间,若A车道有车而B车道无车,按下开关K1 使 A车道放行15s;在 A车道放行期间,若B车道有车而A车道无车,按下开关K1 使B 车道放行15s。
有紧急车辆通过时,按下K2开关使 A、B车道均为红灯,禁行20s。
2.设计目的:1)进一步熟悉和掌握单片机的结构和工作原理。
2)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
3)通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。
4)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5)通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。
3.设计原理:利用“自动控制”控制交通灯的方法。
将事先编制好的程序输入单片机,利用单片机的定时、查询、中断功能;能够根据十字路口两个方向上车辆动态状况,采用查询的方式,根据具体情况,自动给予时间通行,其中利用中断方式来处理特殊情况。
这样既方便驾驶员、路人,同时还可以紧急处理一些紧急实况。
同样具有红、黄、绿灯的显示功能,为驾驶员、路人“照明”。
使用AT89C51单片机控制 4个方向的交通灯(红﹑黄﹑绿)并用数码管显示其时间。
了解交通灯管理的基本工作原理,熟练掌握STC89C51的工作原理和应用编程,熟悉STC89C51单片机并行接口的各种工作方式和应用,并了解计数器/定时器的工作方式和应用编程外部中断的方法,掌握多位LED 显示问题的解决。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 单片机原理及应用课程设计 任务: 交通控制系统设计
班 级: 08电子信息工程2班
学 号: E08610225 姓 名: 徐启康 指导老师: 沈军民
学 院: 信息电子学院 时 间: 2010.7.20-2010.7.22 2
交通控制系统设计任务书 一. 任务 设计并制作一个城市交通灯控制系统 二. 要求 1、基本要求 (1) 在1平方米左右木板上制作交通口模型,装上交通灯。交通口模型如图所示。
(2) 交通灯控制规则如下: 3
1) 每个街口有左拐、右拐、直行及行人四种指示灯,每个灯有红、绿两种颜色。自行车与汽车公用左拐、右拐、直行灯。 2) 共有四种通行方式: ① 车辆南北直行、各路右拐,南北向行人通行。南北向通行时间是1分钟,各路右拐比直行滞后10秒钟开放。 ② 南北向左拐、各路右拐,行人禁行。通行时间是1分钟。 ③ 东西直行、各路右拐,东西向行人通行。东西向通行时间是1分钟,各路右拐比直行滞后10秒钟开放。 ④ 东西向左拐、各路右拐,行人禁行。通行时间是1分钟。 3) 自制电源 2、发挥部分 (1) 有倒计时时间显示。 (2) 若交通口出现紧急情况,交警可将系统设置成手动;全路 口车辆通行、行人通行。紧急情况结束后再转成自动状态。 (3) 当有119、120等特种车辆通过时,系统自动转为特种车放 行,其他车辆禁止状态,特种车辆通过15秒钟后,系统自 动恢复,用模型车演示。 (4) 其它自选措施。 4
目录 一.摘要1 1.包含内容1 2.关键字1
二.前言 2 三.正文3 1.设计要求3 2.系统组成及工作原理5 3.单片机C语言驱动程序及其外部电路原理图6 ①单片机C语言交通灯驱动程序6 ②外部电路原理图14
4.实验结果与调试16
四.设计结论与心得17 5
一.摘要 1.包含内容: 本次单片机应用为设计并制作一个城市交通灯控制系统。 主要通过APP001单片机板(p18f452芯片),通过各个端口和内部的定时器控制外部电路,实现城市交通灯。 交通灯的设计,单片机驱动外部电路。对单片机的控制采用标准C语言,然后通过单片机驱动外部电路进行工作。最终取得成功:基本要求完全实现,实验发挥部分实现倒计时功能,电源采用单片机管脚VDD。 此次设计意义:初步掌握单片机工作控制原理,了解并加强了对电路设计的理解与能力。
2.关键字: 交通灯,单片机,设计,模型 6
二.前言 这些都是废话,省去~ 7 三.正文
1.设计要求: a.)基本要求
①在1平方米左右木板上制作交通口模型,装上交通灯。交通口模型如图所示。
② 交通灯控制规则如下: i. 每个街口有左拐、右拐、直行及行人四种指示灯,每个灯有红、绿两种颜色。自行车与汽车公用左拐、右拐、直行灯。 ii. 共有四种通行方式: ① 车辆南北直行、各路右拐,南北向行人通行。南北向通行时间是1分钟,各路右拐比直行滞后10秒钟开放。 ② 南北向左拐、各路右拐,行人禁行。通行时间是1分钟。 ③ 东西直行、各路右拐,东西向行人通行。东西向通行时间是1分钟,各路右拐比直行滞后10秒钟开放。 ④ 东西向左拐、各路右拐,行人禁行。通行时间是1分钟。 iii. 自制电源 8
b.)发挥部分 ① 有倒计时时间显示。 ② 若交通口出现紧急情况,交警可将系统设置成手动;全路 口车辆通行、行人通行。紧急情况结束后再转成自动状态。 ③ 当有119、120等特种车辆通过时,系统自动转为特种车放 行,其他车辆禁止状态,特种车辆通过15秒钟后,系统自 动恢复,用模型车演示。 ④其它自选措施。 9 2.系统组成及工作原理: (1).系统由单片机,及其外部电路(倒计时部分,红绿灯部分)。 (2).工作原理即为C语言程序驱动单片机,单片机控制外部电路。 (3).具体工作方式分析 由题意可得如下红绿灯亮的方式:
通行方向 禁行方向 左行 右行 直行 行人 左行 右行 直行 行人 延迟时间 R G R G R G R G R G R G R G R G 10s 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 40s 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 10s 1 0 0 1 0 1 0 F 1 0 0 1 1 0 1 0 50s 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 10s 0 F 0 F 0 F 1 0 1 0 0 F 1 0 1 0
注:R 表示 红灯, G 表示 绿灯。 = 1,表示 亮, = 0,表示灭, = F表示闪烁。 10
3.单片机C语言驱动程序及其外部电路原理图 ①单片机C语言交通灯驱动程序 (详细功能见注释) /** Module Name: 交通灯模型单片机驱动程序 Description: 此程序用于驱动单片机管脚,进而控制外部电路 Author: Created: Last Change: Functions:
*/ #include #define On 1 #define Off 0
/*****************七段码管脚。显示定义********************/ #define Direction_EW 1 #define Direction_SN 0
#define LED_EW_LDV PORTCbits.RC0 //东西倒计时器,驱动电压 #define LED_SN_LDV PORTCbits.RC1 //南北倒计时器,驱动电压
int Table[10] = { 0b00111111, 0b00000110, 0b01011011, 0b01001111, 0b01100110, 0b01101101, 0b01111101, 0b00000111, 0b01111111, 0b01101111, }; //七段码显示数字定义9-8-7-6-5-4-3-2-1-0
/********************************************************/ /****************74HC573N管脚定义***************************/ #define EW_Output_E PORTCbits.RC4 //东西方向输出使能端口定义. #define EW_Latch_E PORTCbits.RC5 //东西方向锁存使能端口定义. #define SN_Output_E PORTCbits.RC6 //南北方向输出使能端口定义. #define SN_Latch_E PORTCbits.RC7 //南北方向锁存使能端口定义.
#define Out_E_On 0 //输出使能开 #define Out_E_Off 1 //输出使能关 11
#define Latch_E_On 0 //输出锁存开 #define Latch_E_Off 1 //输出锁存关
/***********************************************************/ #define All_RedOn 0b01010001 //禁止方向所有红灯亮,绿灯灭,右转除 //控制.
void Direc_To_EW( void); void Direc_To_SN( void); void CountDown_Flash1( int Direction_XX); void CountDown_Flash2( int Direction_XX); void delay( int j);
void main( void) { int n = 0;
TRISD = 0; PORTD = 0; TRISD = 0; PORTD = 0; TRISC = 0; TRISB = 0; PORTB = 0; PORTC = 0; //初始化
while(1) { Direc_To_EW(); Nop();
PORTD = 0b10100101; delay( 20); PORTD = 0b10101001; delay( 80); CountDown_Flash1(Direction_EW);
PORTD = 0b01101010; delay( 100);
CountDown_Flash2(Direction_EW); Direc_To_SN(); 12
Nop(); PORTD = 0b10100101; delay( 20); PORTD = 0b10101001; delay( 80); CountDown_Flash1(Direction_SN); //10s
PORTD = 0b01101010; delay( 100); CountDown_Flash2(Direction_SN); }
} /** Description: 开启东西方向; 南北方向,左行、直行,红灯亮、绿灯灭,并且锁存其状态;
Arguments: 无 Returns: 无 */ void Direc_To_EW( void) { TRISD = 0; PORTD = 0; TRISCbits.TRISC4 = 0; TRISCbits.TRISC5 = 0; TRISCbits.TRISC6 = 0; TRISCbits.TRISC6 = 0; //初始化为0
SN_Output_E = Out_E_On ; SN_Latch_E = Latch_E_Off; // 南北方向,输出使能开,锁存关.
EW_Output_E = Out_E_Off ; //东西方向,输出禁止,不输出 PORTD = All_RedOn; //将南北方向、左行、直行,设置为红灯 Nop();
SN_Latch_E = Latch_E_On; // 南北方向,锁存其状态