交通灯模拟控制系统课设报告_第1页
交通灯模拟控制系统课设报告_第2页
交通灯模拟控制系统课设报告_第3页
交通灯模拟控制系统课设报告_第4页
交通灯模拟控制系统课设报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、 课程设计说明书课程设计名称: 专业课程设计 课程设计题目: 交通灯模拟控制系统 学 院 名 称: 信息工程学院 专业:电子信息工程 班级: 学号: * 姓名: 评分: 教师: 20 13 年 07 月 01 日 电子信息工程 课程设计任务书20 12 20 13学年 第 2 学期分散1周 第 17 周 19集中 题目 交通灯模拟控制系统内容及要求 (1)用单片机扩展一片8255,用12 个发光二极管模拟一个十字交叉路口的 红、绿、黄灯,并设置二个紧急放行按键 (2)正常行驶时,东西或南北方向的灯按绿灯亮10 秒,黄灯闪烁3 秒, 红灯亮12 秒控制 (3)当东西或南北方向的紧急放行按键按下时

2、,如果禁行方向为红灯, 则红灯继续维持12 秒;如果禁行方向为绿灯,则立即变为黄灯闪烁 3 秒;如果禁行方向为黄灯,则黄灯继续维持进度安排 分散阶段:第15周第16周根据指导教师布置的题目,学生查资料、 进行需求分析、概要设计。 集中阶段: 第17周第19周集中辅导学生上机调试、专业课程设计测试、 上交报学生姓名:指导时间 :2013年6月16日至2013年7月1日指导地点:E 楼 505室任务下达2013年06月09 日任务完成20 13 年 07 月 01日考核方式1.评阅 2.答辩 3.实际操作 4.其它指导教师系(部)主任 摘要 随着计算机科学技术的不断发展,单片微型机得到了广泛的应用

3、,是人们利用计算机设计和开发各种应用系统的基础。同时单片机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。 本次的交通灯控制系统主要由单片机结合8255A并行口等芯片组成。整个课程设计使用单片机的P1口和P0口扩张端口至8255芯片,获取编程的地址,由8255的PA口和PB口实现交通灯的,并由开关K1、K2实现东西、南北方向的紧急放行。这个系统看上去比较简单,但它运用了单片机的定时功能、IO口的扩展功能以及对8255A的

4、熟悉运用。 关键字:8255A、紧急情况、定时25 目录第一章 设计任务与要求 . .5第二章 系统组成及工作原理 .5第三章 系统的硬件设计 . . .63.1 80C51单片机简介.63.2 内部资料 .83.3 交通灯各部分功能分析 .93.4 扩展并行I/O口8255 .12第四章 程序的设计 .144.1 程序流程图 .144.2 程序的详细设计 . 15第五章 调试与测试分析 .17第六章 总结 .18第七章 参考文献 .19 附录 . . 20 元件清单 .20 源程序代码 .21 仿真图 .24 第一章 设计任务与要求1.1 设计任务 用单片机扩展一片8255,用12 个发光二

5、极管模拟一个十字交叉路口的红、绿、黄灯,并设置二个紧急放行按键。1.2 设计要求(1) 正常行驶时,东西或南北方向的灯按绿灯亮10 秒,黄灯闪烁3 秒,红灯亮12 秒控制。(2) 当东西或南北方向的紧急放行按键按下时,如果禁行方向为红灯,则红灯继续维持12 秒;如果禁行方向为绿灯,则立即变为黄灯闪烁3 秒;如果禁行方向为黄灯,则黄灯继续维持。 第二章 系统组成及工作原理 2.1 系统的工作原理 1、 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且每个灯亮的顺序是绿、黄、红

6、。用单片机及12个发光二极管模拟一个十字交叉路口的红、绿、黄灯,并设置二个紧急放行按键key_a和key_b;正常行驶时,东西或南北方向的灯按绿灯亮10秒,黄灯闪烁3秒,红灯亮13秒控制;2.当东西或南北方向的紧急放行按键按下时:(1) 对于放行方向若为红灯,则禁行方向变黄灯闪烁三秒后变红灯,放行方向变绿灯维持10秒。(2) 对于放行方向若为绿灯,则绿灯继续维持10秒;则禁行方向红灯继续维持13秒。 第三章 系统的硬件设计3.1 80C51单片机简介 80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV

7、)、减(SUBB)、比较(PUSH)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。其管脚封装如图3-1所示。 图3-1 80C51 管脚封装80C51包含

8、以下部分,其结构图如图3-2所示(1)一个8位微处理器CPU(2)片内数据存储器RAM和特殊功能寄存器SFR(3)片内程序存储器ROM(4)两个定时/计数器T0、T1,可用作定时器,也可用以对外部脉冲进行计数(5)四个8位可编程的并行I/O端口,每个端口既可作输入,也可作输出(6)一个串行端口,用于数据的串行通信(7)中断控制系统(8)内部时钟电路图3-2 80C51内部结构图功能特性概述:80C51 提供以下标准功能:8K字节 Flash 闪速存储器,256字节内部 RAM,32 个 I/O 口线,3 个 16 位定时/计数器,一个 6 向量两级中断结构,一个全双工串行通信口,片内振荡器及时

9、钟电路。同时,80C51 可降至 0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3.2 内部资源 3.2.1 串行口8051单片机内部有一个可编程的、全双工的串行接口。串行收发贮存在特殊功能寄存器SFR中的串行数据缓冲器SBUF中的数据,SBUF占用内部RAM地址99H。但在机器内部,实际上有两个数据缓冲器:发送缓冲器和接收缓冲器,因此,可以同时保留收/发数据,进行收/发操作,但收/发操作都是对同一地址99

10、H进行的。3.2.2 定时器/计时器 8051内部有两个16位可编程计时器/计数器,记为T0和T1。16为是指他们都是由16个触发器构成,故最大计数模值为216-1,可编程是指他们的工作方式由指令来设定,或者当计数器用,或者当定时器用。并且计数(定时)的范围可以由指令来设置。这种控制功能是通过定时器方式控制寄存器TMOD来完成的。 如果需要,定时器在记到规定的定时值时可以向CPU发出中断申请,从而完成某种定时的控制功能。在计数状态下同样可以申请中断。定时控制寄存器TCON用来负责定时器的启动、停止以及中断管理。 在定时工作时,时钟由单片机内部提供,即系统时钟经过12分频作为定时器的时钟。计数工

11、作时,时钟脉冲(计数脉冲)由T0和T1(即P3.4,P3.5)输入。3.2.3 中断系统8051的中断系统允许接受五个独立的中断源,即两个外部中断申请,两个定时器/计数器中断以及一个串行口中断。外部中断申请通过INT0和INT1(即P3.2,P3.3)输入,输入方式可以是电平触发(低电平有效),也可以是边沿触发(下降沿有效)。两个定时器中断请求是当定时器溢出时向CPU提出的,即当定时器由状态全1转为全0时发出的。第五个中断请求是由串行口发出的,串行口每发送完一个数据或接收完一个数据,就可以提出一次中断请求。8051单片机可以设置两个中断优先级,即高优先级和低优先级,由中断优先控制器IP来控制。

12、 3.3 交通灯各部分功能分析 3.3.1单片机输入输出引脚 (1) P1端口P0.0-P0.7 P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。 在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。(2) P1端口P1.0P1.7 P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,

13、接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。(4) P3端口P3.0P3.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。除此之外P3端口还用于一些专门

14、功能,具体请参看下表。P3引脚兼用功能P3.0串行通讯输入(RXD)P3.1串行通讯输出(TXD)P3.2外部中断0( INT0)P3.3外部中断1(INT1)P3.4定时器0输入(T0)P3.5定时器1输入(T1)P3.6外部数据存储器写选通WRP3.7外部数据存储器写选通RD3.3.2 时钟定时控制部件由于AT89C52单片机内部有一个用于构成振荡器的高增益反向放大器,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2上外接时钟源即可构成时钟电路,该电路采用的是内部方式,如图3-3所示。图3-3 时钟定时电路 在XTAL1和XTAL2的两端接石英晶体振荡器,与

15、内部反向器构成稳定的自激振荡器,发出的时钟脉冲直接进入片内定时定时控制部件。用以提供交通灯时钟信号。在该电路的设计过程中,C1、C2的选取对频率有微调作用,选取值是22pF。为了减少寄生电容,保证振荡器稳定和可靠的工作,在接线时将晶振和电容的管脚接在单片机最近的地方。 3.3.4 复位电路 在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在80C51的9(RST)引脚上时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。

16、复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用12MHz时,C取10F,R约为10K。复位操作不会对内部RAM有所影响。常用的复位电路如图3-6所示: 如图36 复位电路3.3.5 紧急情况当开关key_a或key_b按下时,即PC口变为低电平,此时将PC口的状态送至PA、PB口。12个LED灯的状态会根据PAPB口的内容发生相应的变化。紧急开关电路3.4 扩展并行I

17、/O口82558255A芯片是一个采用NMOS工艺制造的、40引脚双列直插式封装组建的大规模集成电路,采用单一+5V电源供电。40个引脚中有24个为与外围设备的接口。8255管脚封装如图3-8所示。图3-8 8255管脚封装图(1)数据总线缓冲器 这是一个三态双向缓冲器,其宽度是8位,用做8255的内部数据总线与系统中的数据总线相连时的缓冲部件。缓冲器向数据总线送出数据,或从数据总线接收数据都是CPU指令控制下进行的。 (2)读写逻辑控制 这一部件用来管理所有的数据、控制字或状态资的传送。他接收来自CPU的各种控制信号,并以此为依据,控制数据总线缓冲器数据的传送方向。与CPU相连的个引脚说明如

18、下:1) CS:芯片选择信号。来自地址译码器,低电平有效。2) RD:芯片读出信号。来自系统总线,低电平有效。3) WR:芯片写入信号。来自系统总线,低电平有效。4) RESET复位信号。当它为高电平时,清除所有内部寄存器的内容,并将3 个数据端口PA,PB,PC置为输入方式。5) A1,A0:端口地址选择信号。用于选择8255A的3个数据端口和1个控 制口。当A1A0为00、01、10时,分别选择数据端口PA、PB、PC;当A1A0 为11时,选择控制口。 6) Vcc、GND:电源和地线。 (3) 端口PA、PB与PC8255A有三个与外围设备相连的端口PA,PB,PC。各端口可以独立工作

19、,由程序控制位将它设成各种不同的工作方式。端口A,B一般用做独立的输入或输出端口,每个端口包括一个四位琐存器,分别与A口,B口配合使用,作为与外设之间的联络信号 第四章 程序的设计4.1 程序流程图 开始完毕倒计时完毕?回中断转为禁行或状态手动按扭按下黄灯闪烁3秒倒计时完毕?绿灯倒计时10秒黄灯闪烁3秒设定初值初始化红灯倒计时13秒 4.2 程序详细设计 4.2.1 初始化定时器程序 void init() TMOD=0x01; ET0=1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1; EA =1; 模值和计数器工作方式有关。在方式1时M

20、的值为65536;在方式2和3为256。就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式最大延时只有8.129毫秒,采用方式最大延时也只有65.536毫秒。所以本程序采用50毫秒一次定时。(通过中断程序可以使定时的时间达到10秒或更长)4.2.2 中断程序 void time0() interrupt 1 TH0=(65536-50000)/256;TL0=(65536-50000)%256; num+; num1+;if(num >= 500)num = 0; if(num1>=500) num1=0; 通过控制num num1的数值从

21、而控制定时的时间,交通灯的循环时间是25秒,故num num1的最大值都为50 红绿灯控制程序 if(num>0 && num<200)PA=0x3c;if(num>=200 && num<260)PA=0x2b;delay(50);PA=0xff;delay(50);if(num>=260 && num<500)PA=0x17; if(num1>0 && num1<240)PB=0x36;if(num1>=240 && num1<440)P

22、B=0x1b;if(num1>=440 && num1<500)PB=0x2d;delay(50);PB=0xff;delay(50); num 控制的是南北红绿灯,num1控制的是东西红绿灯的情况,有num num1的数值来控制红绿灯的亮灭,实现定时的功能,这样的定时是非常的准确的。4.2.4 延时程序void delay(uint z) uint x,y;for(x=z;x>0;x-) for(y=110;y>0;y-); 延时程序主要用在对键盘的消抖和黄灯的闪烁上。 第五章 调试与测试结果分析5.1 硬件和软件的测试 (1)利用万用表测试单片机AL

23、E脚的电压值,观察是否在1.7V左右, 在表示电路已经起振,单片机部分电路是完全正确的。 (2)检测按键的导通情况,保证按键的的有效性。 (3)将程序下载入单片机中,观察交通灯的亮灭情况,改变程序中相应的 数值,亮灭情况是否发生改变。 5.2 调试过程中遇到的问题 (1)灯的亮灭没有按照预想的规律去实现,之后通过改写程序中对PA PB 口的赋值,将这一问题解决了。 (2)紧急情况的按键无效,按下键后,交通灯没有变化,之后查找电路通 过更改了按键的IO口将问题解决了。5.3实验结果分析 开始运行时,系统在工作状态为东西方向为红,南北方向为绿,红灯保持12秒,绿灯保持10秒,并不断递减,当绿灯减到

24、0时,南北方向路口由绿等切换成黄灯,黄灯闪烁时间为3秒,3秒过后,南北方向转为红灯,东西方向转为绿灯。并不断递减,当东西路口减到0时,东西方向路口由绿等切换成黄灯,黄灯闪烁时间为3秒,之后的情况不断重复。当东西或南北方向的紧急放行按键按下时,对于放行方向若为红灯,则禁行方向变黄灯闪烁三秒后变红灯,放行方向变绿灯维持10秒。对于放行方向若为绿灯,则绿灯继续维持10秒;则禁行方向红灯继续维持13秒。通过以上结果可以看出,该结果与实验要求一致,此次试验是完全正确的。第六章 总结 本系统就是充分利用了8051和8255芯片的I/O引脚。系统采用MSC-51系列单片机Intel8051和可编程并行I/O

25、接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P0口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩3秒时黄灯闪烁警示,系统不足之处在于不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。这是由于本身地理位子以及车流量情况所定,如果有需要可以设计扩充原系统来实现。由于程序中通过延时来实现交通灯显示时间,所以这样的时间实际上是不准确的,这是本系统另一不足之处,若要实现显示时间的精确控制,需要用到定时器及中断程序。 通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题的全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以

26、及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。另外综合课程设计让我们把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和掌握。由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流得到了解决。由于是使用是单片机作为核心的控制元件,使得系统的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红绿灯规则效率还不是很高等等,这需要在实践中进一步完善。 当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习

27、中,我会不断的完善自我,不断进取,以期使自己在系统编程这方面有一个大的发展。 第七章 参考文献【1】张先庭单片机原理北京:国防工业出版社. 2010年9月【2】伊建华.微型计算机原理与接口技术(第2版).高等教育出版社.2008【3】 朱承高.电工及电子技术手册.北京:高等教育出版社.1990【4】雷丽文.微机原理与接口技术.北京:电子工业出版社.1997.2【5】佚名.单片机技术及应用.江西:南昌航空大学.2013【6】 张鑫.单片机原理及应用.北京:电子工业出版社,2005.【7】 杨居义.单片机课程设计指导.北京:清华大学出版社,2009.【8】 张有德.单片微机原理应用与实验.上海:复

28、旦大学出版社,1995.【9】 万福君.MCS-51单片机原理、系统设计与应用.北京:清华大学出版社2008.【10】 朱清慧等.Proteus教程电子线路设计、制版与仿真.北京:清华大学出版社,2008.附录1、原件清单 序列元件名型号数量1单片机8051128255825513晶振12MZ14开关4脚35电容100pF16电容30pF27电阻1K98电阻10019发光二极管红410发光二极管黄411发光二极管绿42、源程序代码#include <reg52.h>#include <absacc.h>#define uint unsigned int #define uchar unsigned char#define PA XBYTE0xD1FF#define PB XBYTE0xD3FF#define PC XBYTE0xD5FF#define PS XBYTE0xD7FFsbit key_a = P12;sbit key_b = P1

温馨提示

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

评论

0/150

提交评论