基于单片机实现的交通灯设计课程设计.doc_第1页
基于单片机实现的交通灯设计课程设计.doc_第2页
基于单片机实现的交通灯设计课程设计.doc_第3页
基于单片机实现的交通灯设计课程设计.doc_第4页
基于单片机实现的交通灯设计课程设计.doc_第5页
免费预览已结束,剩余20页可下载查看

下载本文档

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

文档简介

目录 摘 要.I 第 1 章 整体设计.1 1.1 任务与要求.1 1.2 系统设计.1 第 2 章 硬件系统设计.3 2.1 单片机模块.3 2.2 显示模块.4 2.3 按键模块.4 第 3 章 系统软件设计.6 3.1 正常工作模式子程序.7 3.2 延时子程序.8 3.3 夜间模式子程序.9 3.4 绿灯闪烁子程序.10 3.5 显示倒计时子程序.11 第 4 章 系统测试与实现.13 4.1 汇编源程序.13 4.2 PROTEUS 仿真.13 第 5 章 课程设计总结.16 参考文献.17 附录一 交通灯控制系统源程序.18 附录二 系统总电路图.24 邵阳学院课程设计 1 第 1 章 整体设计 1.1 任务与要求 需要完成的任务是用单片机实现交通灯的基本功能,该系统除了可以实现基本 交通灯功能外,也能实现倒计时紧急特殊模式等功能。 详细功能为:在白天正常东西方向和南北方向通车,通车时间均为45秒。正 常通车情况下,可以对通车的时间进行倒计时计数,并通过显示器显示出来。如果 遇到特殊情况,在处理特殊事件时,可使整个十字路口禁止通车。强制东西通行, 适用某些需要只进行东西通车的情况。强制南北通行,适用某些需要只进行南北通 车的情况。在夜间车流量较少的情况下,正常东西方向和南北方向通车,通车时间 均为10秒,相对与白天通行模式,车辆等待时间减少,提高了通行效率。 1.2 系统设计 此次设计通过ATMEL公司的单片机AT89C52对整个交通灯电路进行控制。 根据上面的功能要求,本次设计需要完成正常模式计时功能紧急特殊模式夜 间模式等四个功能。 在正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。 而LED显示系统则显示到下一次改变所剩的时间,利于司机调整车辆状况。每到 同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免不必 要的危险。 本交通灯的设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用 中断系统完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外 部中断0为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断 1为紧急模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况 (如车祸等)发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。 同时,通过在紧急模式下软件检测P3.7和P3.6是否不为1来触发东西及南北强制 通行模式,以弥补外部中断的不足,实现更多的功能。 此次设计运用了软件延时程序,这样不仅调整延时长短十分灵活,而且不占用 内部定时/计数器的资源。设计中通过对指令运行的次数进行循环来实现软件延时。 当晶振频率为12MHz时有以下时间周期: 震荡周期:1/12微秒; 状态周期:1/6微秒; 机器周期:1微秒; 邵阳学院课程设计 2 指令周期:14微秒;(根据指令的不同而不同) 软件延时的优点是较为灵活,调整更为容易,且不受延时时间限制。但软件延 时长时间占用系统资源,使得CPU工作效率不高,在中断频繁的系统中其定时精 度也受到中断的影响。但本系统要求延时时间较长,且没有频繁申请的中断系统, 所以选择软件延时配合外部申请中断模式切换较为合理。 邵阳学院课程设计 3 第 2 章 硬件系统设计 根据上面的功能要求,硬件系统主要模块有单片机模块显示模块按键模块, 其硬件总电路图如附录二所示。 2.1 单片机模块 AT89C52有40个引脚,32个外部双向输入 /输出(I/O)端口,同时内含 2个外中断口,3个16位可编程定时计数器, 2个全双工串行通信口,2个读 写口线,AT89C52可以按照常规方法进行编程,也可以在线编程 。 本设计中AT89C52使用12MHz晶振。 XTAL1(19脚)和XTAL2(18脚):外接晶体引脚,XTAL1和 XTAL2分别接外部晶振一端;RST:即为RESET,该引脚为单片机的上电复位 或掉电保护端。在此设计中接正常模式按扭;P3.7:使用第二功能,接强制南北通 行按扭;P3.6:使用第二功能,接强制东西通行按扭;P3.3:使用第二功能 INT1,接紧急工作模式按扭;P3.2:使用第二功能INT0,接夜间工作模式按扭; P1.0P1.7:输出BCD码,用来控制LED显示器的显示控制; P2.7、P2.6、P2.5:输出高低电平,用来控制南北交通信号灯; P2.1、P2.2、P2.3:输出高低电平,用来控制东西交通信号灯;第40脚为电源端 VCC,接+5V电源,第20引脚为接地端VSS。 单片机与其他模块的连接如下图2.1所示: 邵阳学院课程设计 4 图 2.1 单片机与其它模块的连接 2.2 显示模块 传统的共阳极或共阴极的数码管其显示输入需要为段码,这样就使得电路相对 复杂和繁琐。对于相同的功能在成本相差不大的情况下,此处运用了带BCD译码 电路的LED显示器。这样既可使线路简化,又可使可靠性提高 本设计中使用的自带BCD译码电路的LED显示器,其主要特点是采用四线 BCD码输入,可显示0-F十六进制数。使用时直接输入BCD码 即可显示相应的 数字,使得电路大大简化。设计时,把P1.0P1.7当 做BCD码输出端口,连接 到LED显示器上,这样可把BCD码直接转换成可显示的数字,显示模块的连接 如图2.2所示: 图 2.2 显示模块 邵阳学院课程设计 5 图中的总线接至单片机的P1.0P1.7端口。 2.3 按键模块 在此系统中,按键模块是实现各项功能的关键,按键通过电阻与单片机相连接, 可以对单片机进行控制,低电平信号对相应的单片机引脚有效,可使按键的另一端 接地。本设计中有强制东西通行按键强制南北通行按键夜间模式按键正常模 式按键紧急模式按键五个按键,分别对应着相应的子模式。如图2.3所示: 图 2.3 按键模块 邵阳学院课程设计 6 第 3 章 系统软件设计 根据前面的要求以及硬件的设置情况,本系统的软件部分需要进行中断设置。 为了实现上述要求,软件部分应包括正常模式夜间模式紧急模式强制通行等 子程序。主程序流程图如图3.1所示: 开始 外部中断初始化 调用正常通行子程序 INTI中断? 调用紧急模式子程序 INT0中断? 调用夜间模式子程序 N Y N Y 图 3.1 主程序流程图 开机上电处于正常模式下,交通灯每45秒改变一次通行方向,使得南北和东 西交替通行。而显示系统则显示到下一次改变所剩的时间,利于司机调整车辆状况。 每到同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免 不必要的危险。 在设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用中断系统 完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外部中断0 为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断1为紧急 模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况(如车祸等) 邵阳学院课程设计 7 发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。同时,通过在 紧急模式下软件检测P3.7和P3.6是否不为1来触发东西及南北强制通行模式,以 弥补外部中断的不足,实现更多的功能。总程序见附录一。 3.1 正常工作模式子程序 正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行, 其流程图如图3.2所示。 其主要程序为: MOVR6,#03H;绿灯闪烁次数 MOVR0,#00H; MOVP2,R0;灯全灭 SETB P2.7 ;南北绿灯亮 SETB P2.1 ;东西红灯亮 ACALLDISPLAY ;显示倒计时 ACALLFLASHN;南北方向绿灯闪烁 CLRP2.7;南北绿灯灭 SETB P2.6 ;南北黄灯亮 ACALLDELAY2;短延时2 CLRP2.6;南北黄灯灭 CLRP2.1;东西红灯灭 SETB P2.3 ;东西绿灯亮 SETB P2.5 ;南北红灯亮 ACALLDISPLAY ;显示倒计时 ACALLFLASHS;东西方向绿灯闪烁 CLRP2.3;东西绿灯灭 SETB P2.2 ;东西黄灯亮 ACALLDELAY2;短延时2 CLRP2.2 ;东西黄灯灭 邵阳学院课程设计 8 开始 外部中断初始化 进入正常工作状态 南北45秒倒计时 东西45秒倒计时 图 3.2 正常工作模式流程图 3.2 延时子程序 设计中通过对指令运行的次数进行循环来实现软件延时。当晶振频率为 12MHz时每个机器周期是1微秒,一条NOP指令是一个机器周期,一条 DJNZ指令是两个机器周期,所以可写出如下的1秒延时子程序: DELAY:MOV R2,#33 DEL3: MOV R3,#100 DEL2: MOV R4,#75 DEL1: NOP NOP DJNZ R4,DEL1 DJNZ R3,DEL2 DJNZ R2,DEL3 其流程图如3.3所示: 邵阳学院课程设计 9 图3.3 秒延时子程序流程图 3.3 夜间模式子程序 系统在主程序中已经完成中断初始化,在 正常模式下,其随时可通过中断0进入夜间模 式,不受当时通行方向的影响。夜间模式中, 交通灯每45秒改变一次通行方向,使得南北和 东西交替通行。其流程图如图3.4。其程序为: YEJIAN: MOV R0,#00H ;夜 间模式 MOV P2,R0 ; 灯全灭 SETB P2.7 ; 南北绿灯亮 SETB P2.1 ;东西红灯亮 ACALL DISPLAY1 ; 显示倒计时 ACALL FLASHN ;南 北方向绿灯闪烁 CLR P2.7 ;南北绿灯灭 SETB P2.6 ;南北黄灯亮 ACALL DELAY2 ;短延时2 CLR P2.6 ;南北黄灯灭 CLR P2.1 ;东西红灯灭 SETB P2.3 ;东西绿灯亮 SETB P2.5 ;南北红灯亮 ACALL DISPLAY1 ;显示倒计时 ACALL FLASHS ;东西方向绿灯闪烁 CLR P2.3 ;东西绿灯灭 开始 R2-33 R3-100 R4-75 NOP DJNZ R4 DJNZ R3 DJNZ R2 返回 邵阳学院课程设计 10 SETB P2.2 ;东西黄灯亮 ACALL DELAY2 ;短延时2 CLR P2.2 ;东西黄灯灭 LJMP YEJIAN 开始 外部中断 0 初始化 东西 10 秒倒计时显示 南北 10 秒倒计时显示 进入夜间工作状态 图 3.4 夜间工作模式 3.4 绿灯闪烁子程序 每到同行方向转换时,绿灯闪烁,提醒司机注意通行方向的改变,避免不必要 的危险。绿灯闪烁的程序分南北方向和东西方向,以南北方向为例,流程图如图 3.5 所示,其程序为: SETBP2.7 ;南北方向绿灯闪烁子程序 ACALLDELAY1;短延时1 CLRP2.7;灭南北方向绿灯 ACALLDELAY1;短延时1 DJNZ R6,FLASHN;循环3次 MOVR6,#3;重装循环次数 RET 邵阳学院课程设计 11 开始 亮绿灯 延时 灭绿灯 R6-R6-1 R6=0? 返回 图 3.5 绿灯闪烁子程序流程图 3.5 显示倒计时子程序 通过LED显示器显示距离换向时间还剩多少,利于司机调整车辆状况,其程序 为: DISPLAY:MOVR0,#44 ;显示子程序 MOVR7,#45 ;循环次数 L1:MOVDPTR,#TABLE;表地址送DPTR MOVA,R0;秒数送A MOVCA,A+DPTR;查表 MOVP1,A;查表得BCD送P1 DECR0;秒数减一 ACALLDELAY;延时一秒 DJNZ R7,L1 ;循环 RET;返回 此程序是通过循环查表来实现倒计时显示的,其流程图如图3.6所示: 邵阳学院课程设计 12 开始 R0-44 R7-45 DPTR-#TABLE 查表,把 BCD 码送 P1 R0-R0-1 延时 1 秒 R7-R7-1 R7=0? 返回 图 3.6 显示子程序流程图 邵阳学院课程设计 13 第 4 章 系统测试与实现 根据上面的设计,此次课程设计使用WAVE 2000和Proteus软件仿真,其 中使用WAVE2000软件汇编源程序,使用Proteus软件对硬件电路进行模拟。 4.1 汇编源程序 在伟福2000中,输入源程序后,对源程序进行编译,经调试源程序可以运行。 汇编结果如图4.1所示: 图 4.1 汇编结果 4.2 Proteus 仿真 在此次设计中,用Proteus对硬件部分进行模式。在Proteus中输入原理图后, 在单片机中载入上面汇编的hex文件,运行仿真,结果如下: 按下正常模式按键后,系统开始工作,南北方向和东西方向交替通行45秒。 仿真结果如图4.2所示: 邵阳学院课程设计 14 图 4.2 正常工作模式模拟结果 按下夜间模式按键后,系统进入夜间工作模式,南北先通行10秒,然后东西通 行10秒,如此交替运行,模拟结果如图4.3所示: 图 4.3 夜间工作模式模拟结果 邵阳学院课程设计 15 无论系统处于那种工作模式,按下紧急模式键后,系统便进入紧急工作状态, 在紧急状态下,各方向禁止通行,模拟结果如图4.4所示: 图 4.4 紧急工作模式模拟结果 在紧急工作模式下,可以实现强制东西通行或强制南北通行,例如按下强制东 西通行后,只可以东西通行,显示器显示在45秒,如图4.5所示: 图 4. 5 强制东西通行模式模拟结果 邵阳学院课程设计 16 第 5 章 课程设计总结 此次课程设计让我对模拟集成电路原理与应用有了更深一步的了解,也感觉到 自己在慢慢的进步,从一开始拿到课题无从下手,到查找资料,整理资料,然后逐 步完成设计思路,接着着手各个模块的的设计,到编写论文。这个过程是一个成长 的过程,在其中遇到很多棘手的问题,不得不向老师、同学请教。让自己学到了很 多东西。 本次交通灯的设计,大体分了三个模块:单片机模块,按键模块,显示模块。 联系实际,交通灯有几种不同的模式:正常模式,夜间模式,紧急模式,强制模式 等。根据这些再详细设计电路图,编下各种模式下的程序,从而形成完整的交通灯 课程设计。 随着科学技术发展的日新日异,模电的应用越来越广泛,在生活中可以说得是 无处不在,因此作为二十一世纪的大学来说熟练掌握模电是重中之重。在以后的学 习中,我将对模电的应用更加重视,努力学习,注重实践,为将来在这一行业有更 好的发展做铺垫。 邵阳学院课程设计 17 参考文献 1 张迎新,等.单片机初级教程M.北京:北京航空航天大学出版社,2000. 2 王幸之,等.AT89 系列单片机原理与接口技术M.北京:北京航空航天大学出版社,2004. 3 何立民.单片机高级教程M.北京:北京航空航天大学出版社,2000. 4 Atmel Corporation. Microcontroller Data Book.2004. 5 李维偍,郭强. 液晶显示应用技术M.北京:电子工业出版社,2000. 邵阳学院课程设计 18 附录一 交通灯控制系统源程序 ORG 0000H SJMP MAIN ORG0003H;外部中断0入口(夜间模式) LJMP YEJIAN ORG0013H;外部中断1入口(紧急模式) LJMP JINJI ORG 0100H MAIN: ;主程序实现正常工作状态 SETB EA ;开总中断 SETB EX0;开外部中断0 CLRPX0;中断0低优先级 CLRIT0;电平触发 SETB EX1;开外部中断1 SETB PX1;中断1高优先级 CLRIT1;电平触发 MOVR6,#03H;绿灯闪烁次数 MOVR0,#00H; MOVP2,R0;灯全灭 SETB P2.7 ;南北绿灯亮 SETB P2.1 ;东西红灯亮 ACALLDISPLAY;显示倒计时 ACALLFLASHN;南北方向绿灯闪烁 CLRP2.7;南北绿灯灭 SETBp2.6 ;南北黄灯亮 ACALLDELAY2;短延时2 CLRP2.6;南北黄灯灭 CLRP2.1;东西红灯灭 SETBP2.3 ;东西绿灯亮 SETBP2.5 ;南北红灯亮 ACALLDISPLAY ;显示倒计时 邵阳学院课程设计 19 ACALLFLASHS;东西方向绿灯闪烁 CLRP2.3 ;东西绿灯灭 SETB P2.2 ;东西黄灯亮 ACALLDELAY2 ;短延时2 CLRP2.2 ;东西黄灯灭 LJMP MAIN ;循环执行正常模式 DELAY:MOV R2,#33 ;延时1s子程序 DEL3: MOV R3,#100 DEL2: MOV R4,#75 DEL1: NOP NOP DJNZ R4,DEL1 DJNZ R3,DEL2 DJNZ R2,DEL3 RET FLASHN:SETBP2.7 ;南北方向绿灯闪烁子程序 ACALLDELAY1;短延时1 CLRP2.7 ;南北方向绿灯灭 ACALLDELAY1;短延时1 DJNZ R6,FLASHN ;循环3次 MOVR6,#3 ;重装循环次数 RET FLASHS:SETB P2.3 ;东西方向绿灯闪烁子程序 ACALLDELAY1 ;短延时1 CLRP2.3 ;东西方向绿灯灭 ACALLDELAY1 ;短延时1 DJNZR6,FLASHS ;循环3次 MOVR6,#3 ;重装循环次数 RET DISPLAY:MOVR0,#441 ;显示子程序 MOVR7,#45 ;循环次数 邵阳学院课程设计 20 L1:MOVDPTR,#TABLE;表地址送DPTR MOVA,R0 ;秒数送A MOVCA,A+DPTR;查表 MOVP1,A ;查表得BCD送P1 DECR0 ;秒数减一 ACALLDELAY;延时一秒 DJNZ R7,L1 ;循环 RET ;返主 DELAY1:MOV R2,#10 ;短延时1子程序 DEL8: MOV R3,#100 DEL7: MOV R4,#75 DEL6: NOP NOP DJNZ R4,DEL6 DJNZ R3,DEL7 DJNZ R2,DEL8 RET DELAY2:MOV R2,#30 ;短延时2子程序 DL8:MOV R3,#100 DL7:MOV R4,#75 DL6:NOP NOP DJNZ R4,DL6 DJNZ R3,DL7 DJNZ R2,DL8 RET DELAY3:MOV R2,#1 ;短延时3子程序 D8:MOV R3,#10 D7:MOV R4,#10 D6:NOP NOP 邵阳学院课程设计 21 DJNZ R4,D6 DJNZ R3,D7 DJNZ R2,D8 RET YEJIAN: MOV R0,#00H ;夜间模式 MOV P2,R0 ;灯全灭 SETB P2.7 ; 南北绿灯亮 SETB P2.1 ;东西红灯亮 ACALL DISPLAY1 ;显示倒计时 ACALL FLASHN ;南北方向绿灯闪烁 CLR P2.7 ;南北绿灯灭 SETB P2.6 ;南北黄灯亮 ACALL DELAY2 ;短延时2 CLR P2.6 ;南北黄灯灭 CLR P2.1 ;东西红灯灭 SETB P2.3 ;东西绿灯亮 SETB P2.5 ;南北红灯亮 ACALL DISPLAY1 ;显示倒计时 ACALL FLASHS ;东西方向绿灯闪烁 CLR P2.3 ;东西绿灯灭 SETB P2.2 ;东西黄灯亮 ACALL DELAY2 ;短延时2 CLR P2.2 ;东西黄灯灭 LJMP YEJIAN DISPLAY1:MOV R0,#9 ;显示子程序2 MOV R7,#10 L2: MOV DPTR,#TABLE1 MOV A,R0 MOVC A,A+DPTR MOV P1,A DEC R0 邵阳学院课程设计 22 ACALL DELAY DJNZ R7,L2 RET JINJI: MOVP2,#00H;紧急状态通行子程序 MOVP1,#45H ;显示45秒 JNBP3.7,NANBEI ;判断是否南北同行 JNBP3.6,DONGXI ;判断是否东西同行 SETB P2.5;南北红灯亮 SETB P2.1;东西红灯亮 CALL DELAY3;短延时3 SJMP JINJ

温馨提示

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

评论

0/150

提交评论