单片机交通灯课程设计报告含人行道及程序湖南工业大学_第1页
单片机交通灯课程设计报告含人行道及程序湖南工业大学_第2页
单片机交通灯课程设计报告含人行道及程序湖南工业大学_第3页
单片机交通灯课程设计报告含人行道及程序湖南工业大学_第4页
单片机交通灯课程设计报告含人行道及程序湖南工业大学_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南工业大学课程设计资料袋电气与信息工程学院学年第一学期课程名称单片机课程设计指导教师职称学生姓名专业班级学号题目单片机交通灯设计成绩起止日期2015年11月24日~2015年12月07日目录清单序号材料名称资料数量备注1课程设计任务书12课程设计说明书13课程设计图纸张4心得体会56湖南工业大学课程设计任务书2015—2016学年第1学期电气与信息工程学院电气工程及其自动化专业班课程名称:单片机系统课程设计设计题目:单片机交通灯设计完成期限:自2015年11月24日至2015年11月07日共2周内容及任务1.1硬件电路与程序设计(基本要求)1.1.1设计一个模拟十字路口交通灯硬件电路(用画图软件如protel99se、AD等),编写十字路口交通灯控制程序,模拟十字路口交通灯的工作流程。1.1.2编写程序,实现下述功能:1、东西南北方向都有红绿黄灯交替显示,交替顺序为绿—>黄—>红;2、时间分配方案:东西方向绿灯时间40秒,南北方向绿灯时间20秒黄灯时间固定3秒;3、用4个数码管分别显示东西方向、南北方向的通行时间(注:只显示通行时间和等待时间),程序可以用汇编语言或者是C51语言编写。1.1.3在proteus软件上先进行仿真,在下载到单片机开发板验证。1.2键控流水灯数字钟设计(发挥要求)1.2.1满足基本要求后,十字路口交通灯可以通过自动和手动两种方式来控制。1.2.2编写程序,在东西路口方向考虑有一条人行道;1.2.3编写程序,在1.2.2基础上,在南北路口方向再考虑有一条人行道;1.2.4编写程序,人行道的红绿灯,也能进行手动和自动控制。1.3独立撰写完成课程设计说明书(课程设计报告)进度安排起止日期工作内容~熟悉开发板,了解样例程序~设计硬件电路,编写程序及进行调试~完成验收,撰写课程设计报告主要参考资料[1]欧伟明,何静,凌云.单片机原理与应用系统设计.电子工业出版社,2009年单片机系统课程设计说明书基于单片机的十字路口交通灯起止日期:2015年11月24日至2015年12月07日学生姓名班级学号成绩湖南工业大学电气与信息工程学院2015年12月17日摘要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。本系统采用单片机AT89C52为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时等功能,较好的模拟实现了十字路口可能出现的状况。软件上采用C52编程,主要编写了主程序,LED数码管显示程序,中断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。关键词:单片机;AT89C52;LED;交通灯目录摘要 II目录 III第1章总体设计分析 41.1设计任务分析 41.2程序设计原理框图 5第2章设计方案 62.1软件设计 62.1.1软件程序设计 72.2硬件设计 122.2.1单片机的最小系统 122.2.2系统元件 162.3系统调试分析 17第3章仿真结果 183.1仿真效果图 18结论 19参考文献 20致谢 21第1章总体设计分析1.1设计任务分析本次设计要求:要求运用所学的单片机原理、模拟和数字电路等方面的知识,设计出一台模拟交通灯,模拟交通灯控制器就是使用单片机来控制一些LED和数码管,模拟真实交通灯的功能。红、黄、绿交替点亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。交通灯的要求如下:1.交通信号灯能够控制东西、南北两个方向的交通及对应人行道的交通,红绿黄灯用对应颜色的发光二极管代替;2.东、西、南、北方向都有红绿黄灯交替显示,交替顺序为绿—>黄—>红;3.用四个2位数码管分别来显示东、西、南、北方向的通行时间,东西方向绿灯时间40秒,南北方向绿灯时间20秒黄灯时间固定3秒;东、西、南、北方向各5盏灯,直行通行路口每三盏分为红黄绿三种颜色,人行道每两盏分为红绿两种颜色。总共20盏灯,而实际上,东西方向灯亮灭一致(且东西方向人行道与其亦灯亮灭一致),南北方向灯亮灭一致(且南北方向人行道与其亦灯亮灭一致),故只需按东西为一组,南北为一组,两组交错亮灭来设计控制系统,即可达到交通灯系统的控制目的,另外两组则只需对应一致即可。基于本学期所学的关于单片机的中断系统及定时/计数器的相关知识及应用,我们知道对红黄绿三盏灯的控制,可以通过把这几盏灯分别接到单片机的六个输出引脚,再通过对P1口进行编程从而实现控制。而时间的各盏灯的倒计时的延时情况,则用定时/计数和中断结合应用实现控制。而输出的时间显示则用发光二极管显示,接于P2口,再对P2口进行编程即可实现控制。其中倒计时显示则是利用定时器中断,设TH0=TH1=(65536-50000)/256,即每0.05s中断一次。每到第20次中断即过了20*0.05s=1s时,产生一次参数传递,是时间的计数值减1,便实现了倒计时的功能。最后,硬件实现实物连接,硬件与软件连接相对应,通过编写程序,使硬件实现期望的功能。其中软件相当于其内在本质功能,而硬件则是将其功能变现出现,展示于人的面前。1.2程序设计原理框图程序设计原理框图设计思路:1.确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,基于实际情况,又增加了人行道红绿灯的设计。2.进行显示电路,灯状态电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。3.进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块产生输入,信号灯状态模块,LED倒计时模块模块接受输出。系统的总体框图如上所示。单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中随时调用急停按键和时间调节中断。第2章设计方案2.1软件设计直行时间显示数码管显示43s,同时东西段和南北段方向的数码管均从43s倒计时。此时东西段直行绿灯40s、南北段红灯40s,此时东西段人行道绿灯,南北段人行道红灯,至最后3s时东西段绿灯变成黄灯闪烁3s,南北段红灯闪烁3s。后跳转至直行时间显示数码管显示23s,同时东西段和南北段方向的数码管均从23s倒计时。东西段红灯20s,南北段直行绿灯20s,此时南北段人行道绿灯,东西段人行道红灯,至最后3s时南北段绿灯变成黄灯闪烁3s,东西段红灯闪烁3s。以此循环。可见交通灯共有四种状态,分别为:状态一:东西绿灯亮,南北红灯亮,东西人行道通行,南北人行道禁止状态二:东西黄灯亮,南北红灯亮,东西人行道通行,南北人行道禁止状态三:东西红灯亮,南北绿灯亮,南北人行道通行,东西人行道禁止状态四:东西红灯亮,南北黄灯亮,南北人行道通行,东西人行道禁止交通灯以这四种状态为一个周期,循环执行如下图所示:图1交通灯状态循环图2.1.1软件程序设计软件可由汇编语言完成,也可由C语言完成,本文由汇编语言完成:ORG0000H;伪指令、程序开始、中断入口地址LJMPMAINORG0003HLJMPZHD1ORG000BHLJMPZHD2ORG0013HLJMPZHD3ORG1000H;主程序MAIN:MOVTMOD,#01H;设工作方式1MOVTL0,#0F0H;设初值,单片机晶振12M,定时10msMOVTH0,#0D8HMOVIE,#87H;开放总中断,开放T0中断,开放外中断0,1SETBTR0;启动T0定时SETBIT0;设外中断0为边沿触发CLRIT1;设外中断1为低电平有效SETBPT0CYCLE:MOVR0,#40;AB方向绿灯显示时间MOVR1,#43;CD方向红灯显示时间MOVR2,#25;为延时1秒而用;CD南北红灯AB东西绿灯LOOP1:SETBP3.4;MOVP1,#01H MOVP1,#00HSETBP1.0;点亮南北红灯SETBP1.5;点亮东西绿灯LCALLDISPLAY;调用显示程序DJNZR2,LOOP1MOVR2,#25DECR1DJNZR0,LOOP1 CPLP1.5 ;关闭东西绿灯MOVR0,#3;AB东西方向黄灯显示时间;CD南北红灯AB东西黄灯LOOP2:;MOVP1,#01HMOVP1,#00HSETBP1.0;点亮南北红灯SETBP1.4;点亮东西黄灯LLJ:LCALLDISPLAY;调用显示程序CPLP1.4DJNZR2,LLJDECR1MOVR2,#25DJNZR0,LOOP2MOVR0,#23;AB方向红灯显示时间MOVR1,#20 CPLP0.2;CD南北绿灯AB东西红灯LOOP3:;MOVP1,#01HMOVP1,#00HSETBP1.2;点亮南北绿灯SETBP1.3;点亮东西红灯LCALLDISPLAY;调用显示程序DJNZR2,LOOP3MOVR2,#25DECR0DJNZR1,LOOP3MOVR1,#3;CD方向黄灯显示时间 CPLP1.2;CD南北黄灯AB东西红灯LOOP5:;MOVP1,#01HMOVP1,#00HSETBP1.1;点亮南北黄灯SETBP1.3;点亮东西红灯LLJ1:LCALLDISPLAY;调用显示程序CPLP1.1DJNZR2,LLJ1MOVR2,#25DECR0DJNZR1,LOOP5 CPLP1.3LJMPCYCLE;键盘中断程序ZHD1:LCALLDISPLAYJBP3.6,Q2INCR1INCR0CJNER1,#99,TIAO2MOVR1,#00HTIAO2:CJNER0,#99,TIAO3MOVR0,#00HTIAO3:LCALLDISPLAYLCALLDISPLAYLCALLDISPLAYLCALLDISPLAYLCALLDISPLAYLCALLDISPLAYJNBP2.3,Z2Q2:JBP3.7,WAIT1DECR1DECR0CJNER1,#00H,TIAOMOVR1,#99TIAO:CJNER0,#00H,TIAO1MOVR0,#99TIAO1:LCALLDISPLAYLCALLDISPLAYLCALLDISPLAYLCALLDISPLAYLCALLDISPLAYLCALLDISPLAYWAIT1:JNBP2.3,Z2WAIT:LJMPZHD1Z2:RETI;时间中断程序ZHD2:MOVTL0,#0F0H;重先赋值MOVTH0,#0D8HCLRP3.4RETI;应急通道中断程序ZHD3:MOVP1,#85HMOVP0,#30HMOVP2,#30HJNBP3.3,ZHD3RETI;数显显示DISPLAY:MOVA,R0;AB方向时间的显示MOVB,#10DIVAB;把要显示的数的十位存放在A中,个位存放在B中MOVP2,#0FDHMOVDPTR,#TABMOVCA, @A+DPTR;位选通十位MOVP0,A;显示十位数字TI0:JNBP3.4,TTSJMPTI0TT:SETBP3.4MOVA,BMOVCA, @A+DPTRMOVP2,#0FEH;位选通个位MOVP0,A;显示个位数字TI1:JNBP3.4,TT1SJMPTI1TT1:SETBP3.4;CD方向的显示MOVA,R1;CD方向时间的显示MOVB,#10DIVABMOVCA, @A+DPTRMOVP2,#0F7H;位选通十位MOVP0,A;显示十位数字TI2:JNBP3.4,TT2SJMPTI2TT2:SETBP3.4MOVA,B MOVCA, @A+DPTRMOVP2,#0FBH;位选通个位MOVP0,A;显示个位数字TI3:JNBP3.4,TT3SJMPTI3TT3:SETBP3.4RETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;共阴字形表END软件设计可以分为以下几个功能模块数码管显示模块LED红绿灯显示模块2.2硬件设计单片机可选用AT89C52,它与8051系列单片机全兼容,但其内部带有8KB的FLASHROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。按键可以根据系统的需要进行复位。用三极管驱动数码管显示,三极管控制共阳位选端,控制数码管的显示。此系统主要由一块主芯片AT89C52、四个7SEG-MPX2-CC数码管、十四个发光二极管(分别为5个红灯、4个黄灯、5个绿灯)、一块RESPACK-8排阻组成。系统除了具有基本交通灯功能外,还具有时间设置,LED信息显示功能,使交通实现有效控制。2.2.1单片机的最小系统单片机可选用STC89C52,它与8051系列单片机全兼容,但其内部带有8KB的FLASHROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。按键可以根据系统的需要进行复位。通过控制数码管的位选端,来控制数码管的显示。以下为AT89C51单片机的最小系统AT89C52单片机是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。AT89C52功能特性描述AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。引脚号第二功能:P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,P3口亦作为AT89S52特殊功能(第二功能)使用,。第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。1.单片机系统的时钟电路图单片机系统的时钟电路图2.单片机系统的复位电路图单片机系统的复位电路图当AT89C52的ALE及/PSEN两引脚输出高电平,RST引脚高电平到时,单片机复位。RST/VPD端的高电平,若直接由启动瞬间产生,则为启动复位,若通过按动按钮产生高电平复位称手动复位。上电时,接通电源,电容器C相当于瞬间短路,+5V加到了RST/VPD端,该高电平使AT89C51全机复位。若运行过程中,需要程序从头执行,只需按动按钮,则直接把+5V加到了RST/VPD端,从而复位。显然,该电路即可以上电复位,也可以手动复位,是常用复位电路之一。3.数码管显示电路图显示电路采用4个共阴数码管,P0口作为数码管的输入,ULN2803作为控制位选端,P2.0,P2.1,P2.2,P2.3分别作为东西、南北四路数码管的位选端。数码管显示电路图2.2.2系统元件去电子市场按原件清单购买所需原件,检测所购元件的性能是否达到所需标准,然后按照系统原理图接好硬件图,检查接线是否正确,是否有漏接,短接等。并用测试程序检查元器件是否能正常工作,以便修改,一切就绪后,就将写好的程序下载进单片机。以下是元器件清单列表。元器件名称元器件属性元器件个数电阻470Ω3电阻1kΩ1晶振12MHz1电容22uf2电容20uf1按键4数码管共阴极2发光二极管红灯6发光二极管黄灯4发光二极管绿灯6排阻1导线若干2.3系统调试分析根据设计方案,将程序烧写进单片机,运行程序,观察现象是否符合要求,并进行硬件调试,主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下:检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。若不符合要求继续修改程序。直至能达到要求。通过通电调试系统的功能,观察系统是否正常运行,是否达到设计指标,通过修改软件完成系统的系能指标,也可以通过仿真软件进行仿真运行,调试并修改系统,以便达到最佳水准。让系统最大限度的发挥其功效。第3章仿真结果3.1仿真效果图结论这次单片机课程设计历时两个星期的时间,在这次设计过程里我们体验了从总体方案设计、画原理图、设计程序、焊电路板到调试完善的整个过程。我学会了用更多的工具去查阅资料,获取所需的知识,解决了很多我在之前的学习中没有弄懂的问题。了解了很多元件的作用和用法。熟悉了单片机的使用,熟悉了单片机的各个管脚的功能。这可以说是给我上了深刻的复习课,在我即将忘记单片机知识的时候,又让我加深了我对它的认识,而且了解了更多以前没有注意的问题。本系统就是充分利用了AT89C52的I/O引脚。系统统采用单片

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论