版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE1山东大学威海分校
课程设计报告设计题目:基于STC12C5A60S2单片机的 交通信号灯课程设计姓名XXX学号XXXXXXXXX院系信息工程学院专业XXXX专业年级XXXX目录摘要 2TOC\o"2-3"\h\z\u\t"标题1,1"1、前言 32、设计方案论证 32.1设计要求: 32.2性能指标 42.3硬件规范: 43.STC12C5A60S2概述: 43.1基本构造 43.2性能特点 54.课题描述与分析 64.1交通灯系统需求描述与分析 64.2交通灯系统开发步骤 65、交通灯课题设计 65.1总体设计 65.2硬件设计 85.3软件设计 96.系统测试 116.1硬件调试 116.2软件调试 117.总结 117.1系统设计总结 117.2个人总结 11参考文献 12谢辞 13附录 13
摘要交通在人们的日常生活中占有重要的地位,交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本次课程设计采用单片机STC12C5A60S2为核心器件来设计道路交通信号灯控制器。本设计就是采用单片机模拟十字路口交通灯的各种状态显示。通过Keil软件编写主程序,延时程序,显示程序,按键程序等实现主次路口的红黄绿三色灯的显示控制。经过不断地调试,最终实现了对十字路口交通灯的模拟。关键词单片机交通灯按键控制程序设计KeilAbstractTrafficinpeople'sdailylifeplaysanimportantrole,Withtheemergenceoftrafficlights,itdowellinreducetrafficaccidents.ThecurriculumdesignusingSCMSTC12C5A60S2todesigntrafficlights.Thisdesignistheuseofsingle-chipanalogcrossroadstrafficlightsdisplaysavarietyofstate,Keilsoftwaredevelopmentbythemainprogram;delaytheprogram,displayprogram,keyprocedurestoachieveprimaryandsecondaryintersectionofredyellowandgreenthree-colorlightdisplaycontrol.Aftercontinuousdebugging,andultimatelythetrafficlightsonthecrossroadsofsimulationisverygood.KeywordsSCMTrafficlightsKeyControlProgrammingKeil1、前言本设计的目的:通过单片机STC12C5A60S2来设计道路交通信号灯控制器,通过软件编程设计实现主干道与次干道的红黄蓝三色灯时间设置,并且能够动态修改,从而达到对路口交通状况的实时控制本设计的背景:随着科学技术的发展,单片机技术在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出。而当今社会汽车数量急剧增加,交通的问题日益突出,因此设计交通灯的重要性也就显而易见,为了确保十字路口的行人和车辆的安全,需要采用电子控制的交通信号来进行指挥。本设计的适用范围:适用于交通道路路口需要全自动控制主干道与次干道等道路。本课题的研究意义:本次课程设计将先进的单片机技术与道路交通控制相结合起来,通过硬件设计与软件编程实现道路交通的全自动控制,同时实现交通线路车辆的多少实时调整,在减少人力的同时也保证了道路交通的安全,保障了行人与车辆的安全与城市交通的顺畅。对城市的现代化建设起到了重要的作用。2、设计方案论证下面对交通灯课程设计的基本要求与硬件设计做简单概述。2.1设计要求:道路路口交通灯仿真如图2-1所示:南南北东西图2-1道路路口交通灯仿真图南北、东西两干道交与一个十字路口,各干道有一组红、黄、绿三色的指示灯,指示车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,切黄灯燃亮时间为东西南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表2-1所示表2-1交通道路路口交通灯点亮示意表交通信号灯工作模式时间
方向60S4S30S4S南北向绿灯亮黄灯亮红灯亮红灯亮东西向红灯亮红灯亮绿灯亮黄灯亮2.2性能指标(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。通行时间为60秒。(2)黄灯闪烁4秒,警示车辆和行人红、绿灯状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通行,行人通行。时间为30秒。南北方向为主干道,东西方向为支干道。(4)这样如上表的时间和红、绿、黄出现的顺序依次处出现这样行人和车辆就能安全畅通的通行。(5)此表可根据车辆动态设定红绿灯初始值。2.3硬件规范:1)单片机:单片机选用STC12C5A60S2,它与8051系列单片机全兼容,但其内部带有4KB的FLASHROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。2)LED显示系统:南北向和东西向各采用2个数码管计时,对该方向的指示灯的点亮时间进行倒计时,最长计时范围为99秒。设计时可利用单片机的P0口和P1口作为字段和片选信号输出,经驱动芯片后驱动数码管显示倒计时时间,数码管采用动态扫描方式显示。3)键盘系统:设置4个程序按键:设置键、增加键、减少键、特殊情况按键,因键盘使用频率很小,建议采用查询方式来读取键盘。另需配置一个非程序按键:系统复位键。4)电源供电系统:本系统采用USB~5V直流稳压电源供电,这样可以优化设计过程。3.STC12C5A60S2概述:本次课程设计最主要的就是单片机STC12C5A60S2,下面对STC12C5A60S2做简单的概述。3.1基本构造STC12C5A60S2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储区(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶振等模块。STC12C5A60S2系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。单片机STC12C5A60S2的基本构造如图3-1所示。图3-1STC12C5A60S2系统内部结构框图3.2性能特点1、60KB的Flash片内程序存储器;2、256字节的内部随机存取数据存储器(RAM);3、1024字节的外部数据存储器;4、1K字节的数据Flash存储器(EEPROM);5、ISP(在系统可编程)/IAP(在应用可编程);6、看门狗;7、内部集成MAX810专用复位电路;8、外部掉电检测电路;9、时钟源:外部高精度晶体/时钟,内部R/C振荡器;10、4个16位定时器;11、3个时钟输出口;12、7路外部中断I/O;13、PWM(2路)/PCA(可编程计数器阵列,2路);14、A/D转换,10位精度的ADC,共8路。4.课题描述与分析4.1交通灯系统需求描述与分析通过STC12C5A60S2单片机控制P0口的输出值,配合数码管及发光二极管的达到对道路交通状况的控制,因为该单片机功能齐全,开发简单,可以很完美的对道路实时交通进行控制,从而达到当初预定的目标4.2交通灯系统开发步骤第一步:了解单片机STC12C5A60S2各部分的结构构造及其工作原理,对该单片机的工作流程作深入分析,了解各输出输入口的工作电平,工作状态,为下一步的编程设计打好基础;第二步:分析课程设计要求,掌握道路路口交通灯的实时要求,具体分析每一个方向上不同时刻对应的不同灯颜色的变化;第三步:根据课程设计要求及单片机STC12C5A60S2工作原理编写程序,达到课程设计要求;第四步:将程序编写完成编译无误后烧录至单片机芯片中,然后根据设计要求在后期进行程序调试,以达到最佳要求现实效果。5、交通灯课题设计5.1总体设计设计要求如下:1、设计一交通灯控制系统,其结构如图2-1所示,工作方式满足上述要求;2、主干道和次干道的通行时间及黄灯点亮的时间可以手动设置;3、在没有手动设置通行时间时,系统自动按表2-1的模式进行工作; 4、当有紧急情况时,通过按下紧急通行键,使交通信号灯现实紧急状况。应用系统的要求:1、接通电源时或系统复位后,系统按程序给定的时间工作,即南北向通行60秒,东西向通行30秒,黄灯亮4秒,工作模式如表2-1所示。首先南北向通行,然后东西向通行,如此循环。2、通行时间的设置:当需要更改主、次干道的通行时间时,可以用“设置键、增加键、减少键”进行设置。第一次按“设置键”时,南北向的绿灯亮,南北向的数码管显示当前南北向的通行时间,并且按每秒3次的频率闪烁(每秒钟亮3次暗3次),其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向的通行时间。按一次“增加键”或“减少键”,数码管的显示时间增加1秒或减小1秒,长按“增加键”或“减少键”(按下的时间超过1秒钟以上),则数码管显示的时间按每秒钟增加或减少10的速度快速变化。第二次按“设置键”时,南北向的黄灯亮,南北向的数码管显示当前南北向黄灯的点亮时间,并且按每秒3次的频率闪烁(每秒钟亮3次暗3次),其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向黄灯的点亮时间。第三次按“设置键”时,东西向的绿灯亮,东西向的数码管显示当前东西向的通行时间,并且按每秒3次的频率闪烁,此时可以用“增加键”和“减少键”来改变东西向的通行时间。第四次按“设置键”时,东西向的黄灯亮,东西向的数码管显示当前东西向黄灯的点亮时间,并且按每秒3次的频率闪烁,此时可以用“增加键”和“减少键”来改变东西向黄灯的点亮时间。第五次按“设置键”时,系统退出设置状态,回到交通信号灯状态,并且南北向先通行,东西向后通行。“设置键”的功能如表5-1所示。表5-1设置键的功能按“设置键”的次数第一次第二次第三次第四次第五次调整内容南北向的绿灯点亮时间南北向的黄灯点亮时间东西向的绿灯点亮时间东西向的黄灯点亮时间正常调整范围0-99s0-9s0-99s0-9s软件设计: 1)系统资源分配:为了便于程序的设计、阅读及修改,需要先对系统的存储器资源进行分配和说明。 2)软件模块:根据上述工作流程和设计要求,软件设计可以分为以下几个功能模块主程序:初始化及键盘监控。计时程序模块:为定时器的中断服务子程序,完成0.1秒和1秒的时间定时·显示程序模块:6个发光二极管和4个LED数码管示驱动。键盘扫描程序模块:判断是否有键按下,并求取键号。键处理程序模块:分别是“设置键”、“增加键”、“减少键”的处理子程序。硬件设计根据设计要求,交通灯控制系统的硬件由8位单片机、4个数码管及其驱动电路、6个三色LED指示灯及其驱动电路、键盘、电源电路等组成。设计框图如图5-1所示。电源系统电源系统道路时间显示驱动电路复位电路STC12C5A60S2单片机道路时间显示驱动电路复位电路STC12C5A60S2单片机晶振电路晶振电路道路信号灯显示驱动电路按键电路道路信号灯显示驱动电路按键电路图5-1硬件设计图5.2硬件设计交通信号灯与控制状态对应关系表3-1交通信号灯与控制状态对应关系控制状态P1P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0主绿灯
次红灯8EH01111110主黄灯
次红灯BEH10111110主红灯次绿灯CBH11011011主红灯
次黄灯CCH11011101通过调用码表来使LED发光二极管显示路口交通状况。数码管显示电路图5-2数码管显示电路按键及二极管电路图5-3按键及二极管电路单片机STC12C5A60S2外部接口图图5-4单片机STC12C5A60S2外部接口(含晶振与电源)图5.3软件设计主程序流程图南北通行程序南北通行程序南北黄灯闪烁程序东西通行程序调东西黄灯闪烁子程序是否有中断按键按下?中断处理中断初始化中断返回NOYES开始软件设计大体分下面几个部分:1、主程序部分:主要完成RAM清零,T0定时器的设置,南北主干道与东西支干道绿、黄灯的初值设定,键盘查询以及各子程序的调用;2、定时中断服务程序部分:使南北绿灯、黄灯,东西绿灯、黄灯的定时中断;3、扫描显示程序部分:为12位LED动态显示提供驱动信号。P0口为6个放光二极管提供驱动信号,P2口为数码管提供驱动信号,P0口与P2口低电平有效;4、键扫描部分:检测P3端口,判断是否有键按下,如果有键按下,则进行延时去抖动并读取键值待主程序处理;5、设置键处理部分:设置键是一个多功能键,需要对其所按的次数进行计数,然后转到相应的程序段;6、+1键部分:在按键标志位有效的情况下,每按一次加1键,对应的数据作加1处理。长按该键(时间超过1秒),则对应的数据作加10处理;7、-1键部分:在按键标志位有效的情况下,每按一次减1键,对应的数据作减1处理。长按该键(时间超过1秒),则对应的数据作减10处理;软件设计的要求:1、用C语言进行程序设计;2、在Keil编程平台上进行编辑,并完成编译;3、用STC_ISP_V483软件对单片机进行烧录。注:程序见附件6.系统测试当硬件电路板焊接完成,软件程序编译任务完成,就要进行系统可行性测试,系统测试如下所述:6.1硬件调试本次课程设计电路板已经由小组长焊接完成并且测试调试都已可用,故硬件调试部分不再叙述。当程序调试完成后烧录到单片机中,出现显示不正常,闪烁不正常的问题,结合程序调试最后也得到了解决。6.2软件调试程序编写过程中会遇到很多语法问题,符号问题,调用差错问题,通过仔细修改以及同学们的热心帮助都得到了解决。7.总结7.1系统设计总结交通灯的控制对道路交通安全有着非常重要的作用。而单片机技术的与日革新也敦促着交通控制与单片机技术的相结合,本次课程设计完成了基于单片机STC12C5A60S2的交通灯控制系统的设计与模拟。包括交通灯方案的设计,系统硬件的焊接、程序语言的编程与仿真调试等。在我们小组的课程设计完成过程中,我做的主要做的工作有:交通系统具体的通行方案的设计,及其功能的具体实现;程序的编写与调试;7.2个人总结7天的单片机课程设计很快就结束了,在本次课程设计中,我们小组通过硬件上的动手操作进一步学习跟掌握了单片机原理的有关知识,虽然我们在上学期在孙琪老师的带领下系统的学习过单片机,但当时仅局限于原理的学习而没有涉及过单片机系统的实际应用,这次的课程设计让我加深了对单片机原理及应用技术的认识,掌握了简单的单片机应用系统的设计、制作、调试的方法。对于交通灯这个题目,在上学期常树旺老师的接口技术课程与李素梅老师的EDA电子设计自动化课程中曾经接触过类似的设计实验,只是之前用的是汇编或者VHDL,这次用的C语言,在编写的过程中也感受到了C程序语言编程的优势所在,语言简洁干练,便于阅读与修改,这也为课程设计提供了很大的方便。 在课程设计的过程中也遇到了很多问题,例如Keil软件操作的不熟悉,C语言编程语句及顺序的混乱,在系统调试时的按键抖动、数码管显示的不正常及LED灯的非正常闪烁等问题,最终通过向老师跟同学询问或者查阅图书馆的资料最终得到了解决,较完美的实现了课程设计要求。通过此次单片机课程设计使我们认识到自身知识储备及能力的薄弱,更让我们知道实践的重要性。在以后的学习过程中,我会更加努力学习单片机的相关知识和应用,真正能够掌握单片机应用,并将其运用解决各种实际的问题中去。
参考文献[1]李广弟,朱月秀.单片机基础[M].北京:北京航空航天大学出版社,2007.100~154[2]李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.55~63[3]刘建清.单片机技术.国防工业出版社,2006.8:104-105[4]张一斌余建坤.单片机原理课程设计中南大学出版社,2009.9[5]邓红张越.单片机实验与应用设计教程冶金工业出版社,2004.5谢辞在这次单片机课程设计中我学到了很多,让我真正渗入到了专业学习,我能有这样的机会并且获益匪浅,感谢于身边每一位给予我支持和帮助的人。感谢山东大学威海分校,感谢机电与信息工程学院,是你给了我良好的学习环境,身为机信得学子,我骄傲、我自信。感谢本次课程设计的指导老师常树旺与刘晓军老师,是您的指点为之后课题的成功完成指引了方向,奠定了基础。感谢我的同学,当我的课题设计遇到困难时,是你们帮助我解决,设计过程中我遇到了很多大大小小的问题,你们给了我最直接最快捷的指导和帮助。我真诚地感谢每一位关心、帮助过我的老师同学,谢谢您!附录STC51电路原理图:程序代码:#include<reg51.h>sbitZS1=P2^1;sbitZS2=P2^2;//南北方向主路时间sbitRGY=P2^0;sbitGS1=P2^3;sbitGS2=P2^4;//东西方向支路时间sbitBEEP=P3^7;sbitgreen10=P0^0;sbityellow10=P0^1;sbitred10=P0^2;sbitgreen20=P0^5;sbityellow20=P0^6;sbitred20=P0^7;//交通灯sbitset=P3^2;sbitplus=P3^3;sbitmin=P3^4;sbityy=P3^5;bitgreen1=1,yellow1=1,red1=1,green2=1,yellow2=1,red2=1;unsignedcharr=30,y=4,g=60,y2=4,jishu=0,flag=0,shi1,shi2,a;//码表unsignedcharcodeshu[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};voiddelay(unsignedintms){ unsignedinti,j; for(i=0;i<ms;i++) for(j=0;j<950;j++);}voidxianshi()//倒计时显示子程序{ if(shi1>=10) { ZS1=0; ZS2=1; GS1=1; GS2=1; P0=shu[shi1/10]; delay(1); ZS1=1; ZS2=0; GS1=1; GS2=1; P0=shu[shi1%10]; delay(1); } else { ZS1=1; ZS2=0; GS1=1; GS2=1; P0=shu[shi1%10]; delay(1); } if(shi2>=10) { ZS1=1; ZS2=1; GS1=0; GS2=1; P0=shu[shi2/10]; delay(1); ZS1=1; ZS2=1; GS1=1; GS2=0; P0=shu[shi2%10]; delay(1); } else { ZS1=1; ZS2=1; GS1=1; GS2=0; P0=shu[shi2%10]; delay(1); } GS2=1;}voidxianshi2()//设定时间显示子程序{ voidxianshi3(); if(shi1>=10) { P2=0xff; ZS1=0; P0=shu[shi1/10]; delay(1); P2=0xff; ZS2=0; P0=shu[shi1%10]; delay(1); P2=0xfe; } else { P2=0xff; ZS2=0; P0=shu[shi1%10]; delay(1); P2=0xff; }}voidxianshi3()//交通灯显示子程序{ P0=0xff; if(green1==0) green10=0; elseif(yellow1==0) yellow10=0; elseif(red1==0) red10=0; if(green2==0) green20=0; elseif(yellow2==0) yellow20=0; elseif(red2==0) red20=0; delay(1);}voidbeep()//蜂鸣器子程序{inti;for(i=0;i<20;i++){delay(2);BEEP=!BEEP;}BEEP=1;delay(10);}voidinit()//初始化{ shi1=g; shi2=g+y; P0=0xff; P2=0xff; green1=0; red2=0; a=0;}voidmain()//主函数{ TMOD=0x10;//定时/计数器1工作于方式1TH0=0xd8;TL0=0xf0;//50ms定时常数EA=1;//开总中断ET1=1;//允许定时/计数器1中断TR1=1;//启动定时/计数器1中断 init(); while(1) { RGY=1; xianshi();//调用时间显示子程序 RGY=0; xianshi3();//调用交通灯显示显示子程序 if(set==0) { TR1=0;//定时器关 beep(); flag=0; while(set==0); delay(10); while(flag%5!=4) { green1=1; yellow1=1; red1=1; green2=1; yellow2=1; red2=1; if(r==100)//限制范围 r=0; if(y==10) y=0; if(g==100) g=0; if(r==0-1) r=99; if(y==0-1) y=9; if(g==0-1) g=99; if(plus==0) { beep(); switch(flag%5) { case0: shi1=++g; break; case1: shi1=++y; break; case2: shi1=++r; break; case3: shi1=++y2; break; case4: break; } while(plus==0); delay(10); } if(min==0) { beep(); switch(flag%5) { case0: shi1=--g; break;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年生育登记测试题及答案
- 2026年女生中考体育测试题及答案
- 2026年巧克力蛋糕测试题及答案
- 2026年孩子社交障碍症测试题及答案
- 2026年胡适《我的母亲》测试题及答案
- 2026年交易执行测试题及答案
- 2026年度全方位厨房设备采购协议书
- 2026年度报关报检分包合同书
- 2026年度专项边缘计算协议书
- 2026年度深度合作环境监测服务合同
- 《商务数据采集与处理》课件 第1节:采集基础
- 2026广东工贸职业技术学院招聘事业编制人员18人笔试备考试题及答案详解
- 专项突破八 电学分类讨论类相关计算 学案(含答案)2026年中考物理复习考点过关(河北)
- 2025年甘肃庆阳市地理生物会考真题试卷(+答案)
- 福建投资集团招聘笔试真题
- 2026年无损检涡流检二级考核模拟题库附参考答案详解【考试直接用】
- 风险预警及处置工作制度
- 2026年春教科版(新教材)小学科学三年级下册第三单元《只有一个地球》知识点清单
- 涉密地理信息保密制度
- 2025-2026统编版三年级语文下册第二单元素养达标(B卷)(含答案)
- 苏教版八年级(上)期末文言文复习《活板》
评论
0/150
提交评论