




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计报告单片机控制的交通灯控制系统设计摘要本设计是根据我们所学习的单片机课程, 按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务, 也对我们掌握单片机应用有很大的帮助。掌握单片机技术是一门不可或缺的技术, 对我们将来的工作以及生活和学习都有很密切的联系。 当今世界的发展是以科学技术为基础的, 微控技术在生产中所占的比重也越来越大。 单片机的出现是近代计算机技术发展史上的一个重要里程碑。近年来,随着电子技术和微机计算机的迅速发展, 单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、 办公自动化设备、 个人信
2、息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。我的这次单片机课程设计就是利用单片机的基本特点, 使用 C 语言实现一个简易的交通灯电路, 但由于能力的有限, 编出的程序只能实现课程设计的最基本的要求,没有对其进行更多的扩展, 以后有能力的时候再去完善它。 现就我这次课程设计的主要内容及主要方法概括一下。本设计设计的是一个交通灯控制系统,以单片机为核心, 采用目前比较流行的 AT89C51单片机,对十字路口交通灯电路进行了仿真制作, 主要完成十字路口交通灯的红、 绿、黄灯的点亮时间控制,并模拟了两道均有车辆要求通过时、 一道有车辆要求通过时、 以及在紧急情况下三
3、种状态下交通灯的时间控制方式。在模拟系统中,采用了多组红、黄、绿三种发光二极管分别代表各车道上的红绿灯,采用了数码管显示每种灯点亮的时间;并采用了个按钮开关来模拟系统要求的各种状态。 在本次设计中, 程序并没有采用原来学习书本上的 C 语言编写, 程序仿真采用流行的 PROTEUS软件,和 keil 联合仿真,方便调试程序和修改硬件, 结果证明方案的硬件设计正确, 程序也符合要求。关键词:单片机;数码管;LED目录1概述.- 4 -1.1单片机认识 .- 4 -1.2单片机的应用 .- 4 -1.3设计任务 .- 5 -2系统总体方案及硬件设计 .- 6 -2.1交通管理的方案 .- 6 -2
4、.2总体硬件设计 .- 7 -2.3系统时钟电路 .- 7 -2.4系统复位电路 .- 8 -2.5数码管显示电路 .- 8 -2.6路灯指示电路 .- 9 -2.7按键电路设计 .- 10-3软件系统设计 .- 11-3.1设计思路及关键技术 .- 11-3.2软件流程 .- 11-3.3交通灯的设计程序说明 .- 12-3.4延时函数 .- 12-3.5延时函数 .- 13-3.6显示函数 .- 14-3.7定时器 0 中断函数 .- 14-4 Proteus 软件仿真 .- 15-4.1 Proteus 软件仿真 .- 15-4.2南北路灯切换时仿真 .- 15-4.3紧急情况下的仿真
5、.- 16-4.4东西紧急情况下的仿真 .- 16-5心得体会 .- 17-参考文献 .- 17-附 1 源程序代码 .- 18-附 2系统原理图 .- 23-1 概述1.1 单片机认识MCS-51单片机是 Intel 公司在 1980 年继 MCS-48系列 8 位单片机之后推出的高档 8 位单片机。 MCS-51单片机在性能和片内功能方面大大优于 MCS-48系列单片机。MCS-51的典型产品有: 8051、8031、 8751、 80C51、80C31、87C51等, 8051内部有 4kB ROM,8751 内部有 4kB EPROM, 8031 片内无 ROM。除此之外,三者的内部结
6、构及引脚完全相同。89S51是一种低功耗、高性能 CMOS8位微控制器,具有 4K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。 片上 Flash 允许程序存储器在系统可编程, 亦适于常规编程器。在单芯片上, 拥有灵巧的 8 位 CPU和在系统可编程 Flash ,AT89S51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。1.2单片机的应用单片机是应工业测控需要而产生的,最能反映其功能及形态的名称是在一个应用系统中, Single-chip Micro-controller 。按照测控系统的特点和要
7、求,单片机的应用可分为单机应用和多机应用两大类。 我们这次要完成的单片机课程设计就是它的单机应用,下面在介绍一下单片机在单机应用领域内的主要内容。(1)智能产品单片机与传统机械产品相结合,使传统机械产品结构简化,控制智能化,购成新一代机电一体化产品。 目前,利用单片机构成的智能产品已广泛应用于家用电器、办公设备、数控机床、纺织机械、工业设备等行业。(2)智能仪表目前,各种传感器、变送器、控制仪表已普遍采用单片机应用系统。它集测量、处理、控制功能于一体,具有各种智能化功能,如存储、数据处理、查找、判断、联网和语音等功能。单片机构成的智能仪表, 能使仪表具有数字化、 智能化、多功能化、综合化、柔性
8、化等优点, 赋予测量仪表以崭新的面貌, 使传统的仪器、 仪表发生根本性的变革,它代表了仪器仪表的发展趋势。(3)测控技术用单片机构成的各种工业控制系统中的数据采集系统具有工作稳定可靠、抗干扰能力强的优点,如炉温恒温控制系统、电镀生产自动控制系统等。(4)智能接口在计算机系统,特别是较大型的工业测控系统中,除通用外部设备外,还由许多外部通信、采集、多路分配管理、驱动控制等接口。这些外部设备与接口如果完全由主机进行管理, 势必会造成主机负担过重, 运行速度降低, 接口的管理水平也不可能提高。 如果用单片机进行接口的控制与管理, 单片机与主机可并行加工处理,可以大量降低接口的通信密度, 极大的提高了
9、接口控制管理水平。在一些通用计算机外部设备上, 已实现了单片机的键盘管理、 打印机控制、 绘图仪控制、硬盘驱动控制等。1.3 设计任务( 1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。通行时间为60 秒(2)黄灯闪烁 2 秒,警示车辆和行人红、绿灯状态即将切换。( 3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通行,行人通行。时间为 90 秒。东西方向车辆打通行时间长。( 4)这样如上表的时间和红、绿、黄出现的顺序依次处出现这样行人和车辆就能安全畅通的通行。( 5)此表可根据车辆动态设定红绿灯初始值。2 系统总体方案及硬
10、件设计2.1 交通管理的方案A、B两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。 红灯亮禁止通行, 绿灯亮允许通行。 黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为A、B 两干道的公共停车时间。设 A 道比 B 道的车流量大,指示灯燃亮的方案如表2-1-1 。141514A 道黄灯亮红灯亮黄灯亮绿灯亮黄灯亮红灯亮B 道黄灯亮绿灯亮黄灯亮红灯亮黄灯亮绿灯亮表 2-1-1说明:( 1)当为黄灯时 A 、B 两道同时为黄灯;以提示行人或车辆下一个灯色即将到来 时间 1秒。( 2)当 A 到为红灯, A 道车辆禁止通行, A 道行人可通过; B 道为绿
11、灯, B 道车辆通过,行人禁止通行。时间为 4 秒。( 3)当 A 道绿灯, A 道车辆通行; B 道为红灯, B 道车辆禁止通过,行人通行。时间为 5 秒。 A 道车流大 通行时间长( 4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。( 5)此表可根据车流量动态设定在没有特殊情况下,即在两道均有车辆要求通过时,交通灯按常规运行。通过控制开关可以输入要模拟的其它状态,交通灯将按照其输入状态的情况进行运行。2.2 总体硬件设计交通灯控制系统的结构框图如图 2-2-1 所示。总体设计方案共有五个部分组成,分别是:单片机 AT89C51、红、绿、黄灯显示电路、 L
12、ED数显时间电路、晶振及复位控制电路、 控制与调时开关电路。 在进行仿真调试过程中, 程序运行正确,五个部分就同时工作, 从而实现了交通灯的基本功能及调时功能。 系统的总的原理框图如图 2-1 所示。电源部分紧急按键复位AT89S51单片机数码管显示路灯系统时钟图 2-2-1 硬件设计方案2.3系统时钟电路晶振采用了内部时钟信号源的方式。对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。但由于图中的 C1、C2 电容起着系统时钟频率微调和稳定的作用, 因此,在本系统的实际应用中一定要注意正确选择参数( 3010 PF),并保证对称性(尽可能匹配)。图 2-3-1系统时钟
13、电路2.4 系统复位电路复位电路我采用上电 +按钮复位的方式。 当开关打开时, RST通过电阻接地,当有开关闭合时由于电容的作用使电源 VCC通过电阻施加在单片机复位端 RST 上,实现单片机复位。只是可惜,在进行仿真器调试过程中,该复位电路是不起作用的。具体电路如图 2-4-1 所示。图 2-4-1系统复位电路2.5 数码管显示电路数码管工作原理 这里我们介绍 8段数码管的工作原理。 8段数码管又称为 8字型数码管,分为 8段: A、 B、C、D、E、F、G、DP。其中, DP为小数点。数码管常用的有 10根管脚,每一段有一根管脚, 另外两根管脚为一个数码管的公共段, 两根之间相互连通。发光
14、二极管的发光原理,我们已经介绍过了,同理,8段 LED数码管,则是在一定形状的绝缘材料上,利用不同形状点划的发光二极管组合,排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示0-9 的数字。从电路上,按数码管的接法不同又分为共阴和共阳两种。图2-5-1 是共阴和共阳极数码管的内部电路, 它们的发光原理是一样的, 只是它们的电源极性不同而已。图2-5-1数码管的内部电路接法在设计时,为了系统图的美观,我采用了 6个数码管组成的数码管组,采用共阴极接法。如图 2-5-2 。图2-5-2系统数码管电路2.6 路灯指示电路在设计路灯时,采用了发光二极管代替路灯。先介绍一下二极管,见图2
15、-6-1 。二极管工作原理是单向导通,即只有正极电压高于负极电压某特定值时才会导通,而负极电压高于正极电压是不导通的。图 2-6-1发光二极管示意图发光二极管是一种特殊的二极管,导通时会发光(发光二极管导通压降一般为 1.7V 1.9V)。此外,工作电流要满足该二极管的工作电流。发光二极管的正负极可以用万用表进行判断,把万用表拨至二极管档或电阻挡,用两个表笔分别接触二极管的两个引出脚。若发光二极管被点亮, 则与红表笔相接的引出脚为正极。从外观上看,发光二极管的正极引脚的长度也比较长。一般发光二极管与 I/O 端口之间都会再连接一个电阻,其作用在于限制通过二极管的电流, 从而达到减少功耗或者满足
16、端口对最大电流的限制。一般发光二极管的点亮电流为 5mA至10mA。路灯设计时我采用了红、黄、绿三种发光二级管。如图2-6-2 所示。图 2-6-2路灯设计电路2.7 按键电路设计按键工作方式可以是中断方式也可以是扫描方式,对扫描方式来说,扫描是一直调用按键扫描程序, 也可以用定时调用按键扫描程序, 不管哪一种, 都需要占用系统宝贵的时间资源, 相比较而言中断就有优势, 中断键盘只有在有按键按下时才去执行键盘程序, 在没有按键按下的情况下, 可以处理其他的事务, 使资源得到充分的利用, 故中断键盘有占用资源少, 响应速度快的优点, 但在有按键按下时有数码管闪烁的缺点, 这是因为处理中断时, 数
17、码管停止了扫描, 对显示要求不高的场合下, 这也是完全可以满足要求的。 但实际应用中, 为了保证安全查询键值和响应,通常还要进行按键去抖和等待键释放(查询按键是否抬起)的动作, 由于按键本身是机械开关,所以在触点闭合或断开的瞬间会出现电压抖动的现象。按键设计如图 2-7-1 所示。图2-7-1按键电路3 软件系统设计3.1 设计思路及关键技术一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯设置电路、单片机、显示电路等构成。单片机是集成的IC 芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。首先了解实际交通灯的变化规律。 假设一个十字路口为东西南北走向。初
18、始状态 0 为东西红灯, 南北红灯。然后转状态1 南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。3.2软件流程系统总体流程图如图3-2-1 所示:图 3-2-1 整体软件设计流程图3.3交通灯的设计程序说明这部分中定义了一些全局变量的数组和变量以及位标志,只是些定义的东西不需要画流程图了。这部分程序如下:#include#defineucharunsignedchar#defineuintunsignedintsbitnom=P
19、37;ucharcodeled_table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 显示数码表uchar code light_state=0x21,0x12,0x0c,0x12;/ 交通灯状态存储表ucharcodeem_state3=0x24,0x21,0x0c;/紧急灯状态显示表ucharlight_time2=0,4,0,1,0,5,0,1;/显示时间存储表ucharstatebef,time1s=100,state=0;/ 存储紧急灯状态,定时基数,状态基数uinttime;/ 显示时间变量bitmd_flag,st
20、ate_flag=1,red;/ 显示时间更改状态,状态切换标志位,红绿切换标志位3.4延时函数延时函数的流程图如图3-4-1 。定义局部变量 i, ji=100延时程序如下:/*-延时函数-*/voiddelay(void)uchari,j;for(i=100;i0;i-) for(j=100;j0;j-);/ 循环 10000 次3.5延时函数读状态函数的流程图如图3-5-1 。读状态函数如下:/*-读状态函数:判断是否有紧急灯状况出现-*/ucharrd_emstate(void)ucharvalue;value=P3;value=4;value&=0x07;if(value!=stat
21、ebef)statebef=value;return 1;图 3-4-1延时函数的流程图定义局部变量value读 P3 口状态value 右移 4 位取 value 低三位/判断是否有紧急灯状况发生,/保存按键值,置返回标志为1elsereturn 0;状态改变?Nreturn 0Ystatebef=valuereturn 13.6显示函数显示函数如下:voiddisplay(void)if(md_flag=1)/ 显示更改时间状态if(1=red) /南北方向红灯时间显示P2=0xf6; P0=led_tablelight_time00;delay();/分钟P2=0xed; P0=led_
22、tablelight_time01/10;delay();/ 秒的十位 P2=0xdb; P0=led_tablelight_time01%10;delay();/ 秒的个位else/正常状态,显示时间P2=0xf6;P0=led_tabletime/100; delay();/分钟P2=0xed;P0=led_tabletime/10%10;delay();/秒的十位P2=0xdb;P0=led_tabletime%10; delay();/秒的个位3.7 定时器 0 中断函数定时器 0 中断函数如下:voidTime0int(void)interrupt1 EA=0;TH0=-10000/
23、256;TL0=-10000%256;time1s-;if(time1s=0)/ 一秒中到,重新置数time1s=100;time-;/ 显示时间自减if(time=0)/ 显示时间减到0 时切换显示时间状态state+;/四个状态轮流切换if(state=4)state=0;state_flag=1;/ 置状态切换标志位EA=1;4 Proteus软件仿真4.1 Proteus软件仿真Proteus 软件用于系统的仿真,编译软件采用 keil UV3 。程序的仿真用英国的 labcenter 公司的 Protens V7.13 。其果如下:加电后的结果如图 4-3-1 。此时时间已经走过一秒
24、,南北是红灯,东西是绿灯。图 4-3-1加电后仿真4.2南北路灯切换时仿真切换时,转为黄灯亮,时间为一秒钟。如图4-2-1 。图 4-2-1黄灯亮时4.3紧急情况下的仿真此时,全部为红灯,所用车辆禁行,时间被锁定,此时允许特殊车辆经过。如图 4-3-1 。图 4-3-1紧急情况下的路灯显示4.4 东西紧急情况下的仿真此时,南北为红灯,东西为绿灯,南北车辆禁行,东西可以通过。时间被锁定,此时允许东西车辆经过。如图 4-4-1 。图 4-4-1东西紧急情况下的路灯显示5 心得体会通过此次课程设计让我能够亲身参与电子产品的设计使我更加深深地体会到:现代的社会是信息的社会,很多与人们生活紧密相关的产品
25、都是电子产品。要熟练地掌握单片机的基本知识,这样才能对试验中出现的问题进行分析解决。通过这次对交通灯系统的设计, 我们掌握了设计一个实用装置电路的基本方法和基本步骤,掌握了实用装置工作的基本原理, 实际解决了设计中出现的问题, 增强了寻找问题, 解决问题的能力。 此次电子设计的成功不仅帮助我们更好地掌握书本知识,尤其重要的是增强了我们的自信,培养了我们独立思考的能力!通过这周紧张而充实的课程设计, 我学到了很多东西, 让我重新认识自己,收益匪浅,并对我以后所要做的毕业设计有了一个初步的了解。 做好一个课程设计或毕业设计不仅要具备扎实的书本知识并会善于应用, 还要学会查阅资料, 对以前学过的知识
26、不清楚的地方还要进行复习, 实在搞不明白的地方要向老师或同学请教,这样才可能做出一个比较不错的课程设计。 在这里我要感谢我们的指导老师,非常感谢老师的指导和帮助。 希望以后还能参加这样的课程设计。 我想我会做的更好的。参考文献1 余发山 .单片机原理及应用技术 .中国矿业大学 .20022 李朝青 .单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,19983 李广弟 .单片机基础 .北京:北京航空航天大学出版社,1992附 1源程序代码#include#define#definesbitucharucharunsignedcharuintunsignedintnom=P37;co
27、deled_table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/显示数码表ucharucharucharucharcodelight_state=0x21,0x12,0x0c,0x12;/交通灯状态存储表codeem_state3=0x24,0x21,0x0c;/紧急灯状态显示表light_time2=0,4,0,1,0,5,0,1;/显示时间存储表statebef,time1s=100,state=0;/ 存储紧急灯状态,定时基数,状态基数uinttime;/ 显示时间变量bitmd_flag,state_flag=1,red
28、;/显示时间更改状态,状态切换标志位,红绿切换标志位/*-延时函数-*/voiddelay(void)uchari,j;for(i=100;i0;i-)for(j=100;j0;j-);/*-读状态函数:判断是否有紧急灯状况出现-*/ucharrd_emstate(void)ucharvalue;value=P3;value=4;value&=0x07;if(value!=statebef)statebef=value;return 1;/ 判断是否有紧急灯状况发生, 保存按键值, 置返回标志为 1elsereturn 0;/*-显示函数-*/voiddisplay(void)if(md_fl
29、ag=1)/ 显示更改时间状态if(1=red) /南北方向红灯时间显示P2=0xf6; P0=led_tablelight_time00;delay();/分钟P2=0xed; P0=led_tablelight_time01/10;delay();/秒的十位P2=0xdb; P0=led_tablelight_time01%10;delay();/秒的个位else/ 南北绿灯东西红灯亮时间显示P2=0xf6;P0=led_tablelight_time20; delay();/分钟P2=0xed;P0=led_tablelight_time21/10; delay();/秒的十位P2=0x
30、db;P0=led_tablelight_time21%10; delay();/秒的个位else/正常状态,显示时间P2=0xf6;P2=0xed;P2=0xdb;P0=led_tabletime/100; delay();/分钟P0=led_tabletime/10%10;delay();/秒的十位P0=led_tabletime%10; delay();/ 秒的个位/*-主函数-*/voidmain()/初始化定时器0,外部中断1EA=1;EX1=1;IT1=1;ET0=1;TMOD=0x01;TH0=-10000/256;TL0=-10000%256;TR0=1;while(1)if(rd_emstate()/ 如果有紧急灯按下,进行如下紧急处理switch(statebef)case0x04:P1=em_state0;TR0=0;break;/ 紧急灯亮case0x02:P1=em_state1;TR0=0;break;/ 东西应急灯亮case0x01:P1=em_state2;TR0=0;break;/ 南北应急灯亮case0x00:TR0=1;break;default:break;if(state_flag)/ 正常状态下时间切换,如果状态标志为1,进行如下处理, 进行状态间切换switch(state)case0:time=light_t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广告工程合同
- 2025标准版上海仓库租赁合同书
- 2025租赁合同(先付租金后使用)
- 一般承揽合同
- 彩票人工缩水服务合同范本
- 2025二级建造师建设工程施工管理考点知识:合同变更与现场签证与合同价款期中支付
- 2025年度装修合同范本
- 2025(范本)设备采购合同
- 广东房屋借住协议书
- 避险安置协议书范文
- 外研版(2021)中职英语基础模块1 Unit 8 Enjoy the Festivals Listening&Speaking 教案
- 2024年汽车驾驶员(技师)职业鉴定理论考试题库(含答案)
- 2024年青岛市中考数学试卷(含答案解析)+2023年试卷及答案详解
- GB/T 15568-2024通用型片状模塑料(SMC)
- 冷库建设日常运营与维护保养方案
- 【真题】2024年镇江市中考道德与法治试卷(含答案解析)
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 监理见证取样工作计划
- 广东省广州市白云区2023-2024学年五年级下学期期末数学试题
- JT-T-1094-2016营运客车安全技术条件
- 《中药种植技术》课件-第八章 药用植物病虫害及其防治
评论
0/150
提交评论