1、单片机交通灯课程设计引言 11设计任务与要求 11.1 设计目的 11.2 设计要求 11.3 实用价值与理论意义 22系统硬件设计 32.1系统电路图设计 32.1.1 系统电路设计框图 32.1.2 系统主要硬件需求介绍 32.1.3 系统电力模块图 42.1.4 系统电路图 83系统软件设计 103.1 在正常情况下交通灯控制程序流程 103.2 中断情况下交通灯状态流程 113.2.1 特殊情况 113.3源程序清单与注释 114 课程设计体会及总结 145 参考文献 15引言目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制
2、,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用必须重视。伴随着社会的发展以及人类生活水平的提高,汽车数量在逐年递增,交通问题不得不引起人们的重视。早在1858年,英国伦敦在主要街头安装了以燃煤气为光源的红蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。信号灯的出现,是交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有
3、明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时监测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,紧单片机方面知识是不够的,还应根据具体结构软硬件结合,加以完善。目前交通灯的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计单片机来完成这个需求就显得越加迫切了。本设计的意义在于通过具体控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。使大家能在实践教学环节中,积累设计经验,开阔思维空间,全面提高个人的综合能力。1设计任务与要求1.1 设计目的通过对模拟交通灯控制系统的制作,
4、掌握定时器和中断系统的综合应用,进一步熟练软硬件联调方法。1.2 设计要求利用AT89S51单片机控制交通灯,实现三种情况下的控制:(1)正常情况下双方向轮流点亮交通灯,如表所示。东西方向(简称A方向)南北方向(简称B方向)状态说明红灯黄灯绿灯红灯黄灯绿灯灭灭亮亮灭灭A方向通行,B方向禁行灭灭闪烁亮灭灭A方向警告,B方向禁行灭亮灭亮灭灭A方向警告,B方向禁行亮灭灭灭灭亮A方向禁行,B方向通行亮灭灭灭灭闪烁A方向禁行,B方向警告亮灭灭灭亮灭A方向禁行,B方向警告(2)特殊情况时,A道放行。1.3 实用价值与理论意义随着我国城市现代化进程的不断推进,交通问题是影响我国社会经济发展的一个大问题,而城
5、市道路交通问题的核心就是对十字交叉路口交通信号的控制。因此,国外一些发达国家把城市交通信号控制研究的重点放在城市交通干线和区域的控制上,可是控制效果并不明显。人们对十字路口交通信号的控制方法大致有如下两种方式:其一是建立城市交通流的数学模型,提出优化算法,但由于十字路口不同时刻车辆的流量是复杂的、随机的和不确定的,所以数学模型难以建立,控制策略中的最优目标也很难实现,且算法复杂、计算量大,实践证明控制效果不理想,实时性较差;二是根据模糊控制的方法,根据十字路口交通的车辆数确定某一相位的绿灯初始时间和绿灯延长时间,对交通灯的控制实现了一定的模糊化,但是在控制过程中相位转换的顺序不变,因而面对我国
6、城市如此复杂的交通系统,难以保证其灵活性和实时性。因此,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统是当前的主要任务,以最大限度地减少了十字路口的车辆平均延误时间,提高了路口通行能力,从而达到缓解交通拥挤的目的。本次设计的模拟交通灯控制系统是以MCS-51系列AT89C51单片机为核心,通过Proteus professional软件进行模拟仿真,完成了交通灯控制系统的基本功能,东西南北四个方向各有红绿黄三只发光二极管,由发光二极管显示红绿黄灯,并且通过按键来实现紧急情况和特殊情况的处理。从而,完成了对十字路口交通运行状态的智能模拟。该系统具有运行可靠,成本低
7、,操作方便,适用性强的特点,可以得到广泛应用。2系统硬件设计2.1系统电路图设计2.1.1 系统电路设计框图 AT89C51 单 片 机 交通灯连接电路单片机电路连接图2.1.2 系统主要硬件需求介绍AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器,是低电压,高性能CMOS8位微处理器,俗称单片机。 AT89C51管脚介绍: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。 图2.2.2(1) AT89C51管脚
8、 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口也可作为AT89C51的一些特殊功能口。RST:复位输入。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。/PSE
9、N:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2.1.3 系统电力模块图(1)单片机电路连接图 图2.1.3(1)为单片机电路连接图,其中晶振频率可以根据自己需要进行选择,范围在0-24MHZ,常用12MHZ。复位
10、电路得电容一般用22UF,但并不唯一,只要RC所得时间大于两个机器周期即可。 图2.1.3(1) 单片机电路连接图 (2)交通灯连接电路图图2.1.3(2)为交通灯连接电路图,图中共12个二极管,接法如图所示:图2.1.3(2) 交通灯连接电路图(3)中断控制电路图 图2.1.3(3)为中断控制电路图,图中用两个按钮S1,S2分别控制紧急情况和特殊情况。 图2.1.3(3)中断控制电路图2.1.4 系统电路图图2.1.4 系统电路图图2.1.5 系统电路图3系统软件设计3.1 在正常情况下交通灯控制程序流程3.2 中断情况下交通灯状态流程3.2.1 特殊情况3.3源程序清单与注释/功能:交通灯
11、控制程序#includeunsigned char t0,t1;/函数名:delay0_5s1/函数功能:用T1的工作方式1编制0.5s延时程序。系统采用12MHZ晶振,定时器1,工作方式1定时50ms,再循环10次可定时到0.5s/形式参数:无/返回值:无void delay0_5s1()for(t0 = 0;t0 0x0a;t0+) /设置10次循环次数TH1 = 0x3c;/设置定时器初值TL1 = 0xb0;TR1 = 1; /启动T1while(!TF1);/查询计数是否溢出,即50ms定时时间到,TF1 = 0;/50ms定时时间到,将定时器溢出标志位TF0清零/函数名:delay
12、_t1/函数功能:实现0.5128s延时/形式参数:unsigned char t;/延时时间为0.5 sxt/返回值:无void delay_t1(unsigned char t) for(t1 = 0;t1 t;t1+) delay0_5s1();/函数名:int_1/功能:外部中断1中断函数,特殊情况处理,当CPU响应外部中断1的中断请求时,自动执行该函数,实现A到放行5s/形式参数:无/返回值:无void int_1() interrupt 2 / unsigned char i,j,k,l,m;EA = 0;i = P1;/保护现场,暂存P1口,t0,t1,TH1,TL0j = t0
13、;k = t1;l = TH1;m = TL1;EA = 1;/开中断P1 = 0xf3;/A道放行delay_t1(10);/延时5sEA = 0;/关中断P1 = i;/恢复现场,恢复进入中断前P1口,t0,t1,TH1,TL0t0 = j;t1 = k;TH1 = l;TL1 = m;EA = 1;/开中断void main() /主函数unsigned char k;TMOD = 0x10;/T1在工作方式1EA = 1;/开总中断允许位EX0 = 1;/开外部中断0中断允许位IT0 = 1;/设置外部中断0为下降沿触发EX1 = 1;/开外部中断1中断允许位IT1 = 1;/设置外部
14、中断1为下降沿触发while(1)P1 = 0xf3;/A道绿灯,B道红灯delay_t1(20);/延时10sfor(k = 0;k 3;k+)/A道绿灯闪烁三次P1 = 0xf3;delay0_5s1();/延时0.5sP1 = 0xfb;delay0_5s1();/延时0.5sP1 = 0xeb;/A道黄灯,B道红灯delay_t1(4);/延时2sP1 = 0xde;/A道红灯,B道绿灯delay_t1(20);/延时10sfor(k = 0;k 3;k+)/B道绿灯闪烁三次P1 = 0xde;delay0_5s1();/延时0.5sP1 = 0xdf;delay0_5s1();/延时
15、0.5sP1 = 0xdd;/A道红灯,B道绿灯delay_t1(4);/延时2s4 课程设计体会及总结回顾起此次单片机课程设计,我仍感慨颇多,从理论到实践,在接近一月的日子里,可以说得是苦多于甜,但是可以学到很多的的东西,不仅是学习上的,而且是关于做人做事方面的感悟。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。我在设计的过程中遇到了许多问题,同时也发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件
16、的使用方法,对汇编语言掌握得不透彻。还有,这次的设计让我明白了求人不如求己,虽然我们要讲究合作,但更重要的是自己,只有自己懂,自己做,才不会在关键时刻掉链子。别人终究是一个陪衬,路总是要自己走,属于自己的任务就要自己搞。所以,我们必须要时刻强大自己,别人终究是别人。这个过程虽然不是很平坦,肯定会遇到各种各样的问题,但一旦征服了它那它就是你的东西了,当这样的厚积达到一定程度那你就能享受到薄发那刻的辉煌。5 参考文献1 孙涵芳.MCS-51/96系列 单片机原理及应用(修订版).北京航空航天大学出版社.1994 2 李朝青.单片机原理及接口技术(第3版).北京航空航天大学出版社.20053 周润景、袁伟亭、景晓松.Proteus在MCS-51&ARM7系统中的应用百例.电子工业出版社.20064 阎石. 数字电子技术基础(第四版).高等教育出版社.2004
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1