C51单片机交通灯要点
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DELAY:MOVR2,#33
DEL3:MOVR3,#100
Dwk.baidu.comL2:MOVR4,#75
DEL1:NOP
NOP
DJNZR4,DEL1
DJNZR3,DEL2
DJNZR2,DEL3
其流程图如6所示:
图2-6 1秒延时子程序流程图
2.2.3 夜间模式子程序
系统在主程序中已经完成中断初始化,在正常模式下,其随时可通过中断0进入夜间模式,不受当时通行方向的影响。夜间模式中,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。其流程图如图7。其程序为:
图2-3 按键模块
各按键与单片机相对应的接口见上面的单片机模块。
2.2 系统软件设计
根据前面的要求以及硬件的设置情况,本系统的软件部分需要进行中断设置。为了实现上述要求,软件部分应包括正常模式﹑夜间模式﹑紧急模式﹑强制通行等子程序。主程序流程图如图4所示:
图2-4 主程序流程图
开机上电处于正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。而显示系统则显示到下一次改变所剩的时间,利于司机调整车辆状况。每到同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免不必要的危险。
在设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用中断系统完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外部中断0为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断1为紧急模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况(如车祸等)发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。同时,通过在紧急模式下软件检测p3.7和p3.6是否不为1来触发东西及南北强制通行模式,以弥补外部中断的不足,实现更多的功能。
CLR P2.6 ;南北黄灯灭
CLR P2.1 ;东西红灯灭
SETB P2.3 ;东西绿灯亮
本交通灯的设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用中断系统完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外部中断0为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断1为紧急模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况(如车祸等)发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。同时,通过在紧急模式下软件检测p3.7和p3.6是否不为1来触发东西及南北强制通行模式,以弥补外部中断的不足,实现更多的功能。
单片机与其他模块的连接如下图1所示:
图2-1 单片机与其它模块的连接
2.1.2 显示模块
传统的共阳极或共阴极的数码管其显示输入需要为段码,这样就使得电路相对复杂和繁琐。对于相同的功能在成本相差不大的情况下,此处运用了带BCD译码电路的LED显示器。这样既可使线路简化,又可使可靠性提高
本设计中使用的自带BCD译码电路的LED显示器,其主要特点是采用四线BCD码输入,可显示0-F十六进制数。使用时直接输入BCD码 即可显示相应的数字,使得电路大大简化。设计时,把P1.0~P1.7当 做BCD码输出端口,连接到LED显示器上,这样可把BCD码直接转换成可显示的数字,显示模块的连接如图2所示:
2.2 系统软件设计........................................6
2.2.1正常工作模式子程序.............................8
2.2.2 延时子程序....................................9
2.2.3 夜间模式子程序................................10
CLRP2.3;东西绿灯灭
SETBP2.2;东西黄灯亮
ACALLDELAY2;短延时2
CLRP2.2;东西黄灯灭
图2-5 正常工作模式流程图
2.2.2 延时子程序
设计中通过对指令运行的次数进行循环来实现软件延时。当晶振频率为12MHz时每个机器周期是1微秒,一条NOP指令是一个机器周期,一条DJNZ指令是两个机器周期,所以可写出如下的1秒延时子程序:
2.2.4绿灯闪烁子程序.................................12
2.2.5显示倒计时子程序...............................12
3系统测试与实现.........................................14
3.1 汇编源程序.....................................14
图2-2 显示模块
图中的总线接至单片机的P1.0~P1.7端口。
2.1.3 按键模块
在此系统中,按键模块是实现各项功能的关键,按键通过电阻与单片机相连接,可以对单片机进行控制,低电平信号对相应的单片机引脚有效,可使按键的另一端接地。本设计中有强制东西通行按键﹑强制南北通行按键﹑夜间模式按键﹑正常模式按键﹑紧急模式按键五个按键,分别对应着相应的子模式。如图3所示:
本次课程设计需要完成的任务是用单片机实现交通灯的基本功能,该系统除了可以实现基本交通灯功能外,也能实现紧急特殊模式等功能。
详细功能为:在白天正常东西方向和南北方向通车,通车时间均为45秒。正常通车情况下,可以对通车的时间进行倒计时计数,并通过显示器显示出来。如果遇到特殊情况,在处理特殊事件时,可使整个十字路口禁止通车。强制东西通行,适用某些需要只进行东西通车的情况。强制南北通行,适用某些需要只进行南北通车的情况。在夜间车流量较少的情况下,正常东西方向和南北方向通车,通车时间均为10秒,相对与白天通行模式,车辆等待时间减少,提高了通行效率。
2.1硬件系统设计
根据上面的功能要求,硬件系统主要模块有单片机模块﹑显示模块﹑按键模块,其硬件总电路图如附录二所示。
2.1.1 单片机模块
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
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
总程序见附录一。
2.2.1正常工作模式子程序
正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行,其流程图如图5所示。
其主要程序为:
MOVR6,#03H;绿灯闪烁次数
MOVR0,#00H;
MOVP2,R0;灯全灭
SETBP2.7;南北绿灯亮
SETBP2.1;东西红灯亮
ACALLDISPLAY;显示倒计时
2 系统设计
此次设计通过ATMEL公司的单片机AT89C52对整个交通灯电路进行控制。根据上面的功能要求,本次设计需要完成正常模式﹑计时功能﹑紧急特殊模式﹑夜间模式等四个功能。
在正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。而LED显示系统则显示到下一次改变所剩的时间,利于司机调整车辆状况。每到同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免不必要的危险。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
1 设计任务与要求
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
此次设计运用了软件延时程序,这样不仅调整延时长短十分灵活,而且不占用内部定时/计数器的资源。设计中通过对指令运行的次数进行循环来实现软件延时。当晶振频率为12MHz时有以下时间周期:
震荡周期:1/12微秒;
状态周期:1/6微秒;
机器周期:1微秒;
指令周期:1~4微秒;(根据指令的不同而不同)
软件延时的优点是较为灵活,调整更为容易,且不受延时时间限制。但软件延时长时间占用系统资源,使得CPU工作效率不高,在中断频繁的系统中其定时精度也受到中断的影响。但本系统要求延时时间较长,且没有频繁申请的中断系统,所以选择软件延时配合外部申请中断模式切换较为合理。
单片机应用技术课程设计
基于单片机的交通灯控制系统设计
院(系)名称
专业名称
学生姓名
指导教师
2012年月日
1 设计任务与要求.........................................1
2 系统硬件设计............ ...........................3
3.2 Proteus仿真..................................14
4 课程设计总结..........................................17
参考文献................................................18
2.1硬件系统设计......................................4
2.1.1单片机模块..................................4
2.1.2 显示模块......................................5
2.1.3 按键模块.......................................6
本设计中AT89C52使用12MHz晶振。
XTAL1(19脚)和XTAL2(18脚):外接晶体引脚,XTAL1和XTAL2分别接外部晶振一端;RST:即为RESET,该引脚为单片机的上电复位或掉电保护端。在此设计中接正常模式按扭;P3.7:使用第二功能,接强制南北通行按扭;P3.6:使用第二功能,接强制东西通行按扭;P3.3:使用第二功能INT1,接紧急工作模式按扭;P3.2:使用第二功能INT0,接夜间工作模式按扭;P1.0~P1.7:输出BCD码,用来控制LED显示器的显示控制;P2.7、P2.6、P2.5:输出高低电平,用来控制南北交通信号灯;P2.1、P2.2、P2.3:输出高低电平,用来控制东西交通信号灯;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS。
ACALLFLASHN;南北方向绿灯闪烁
CLRP2.7;南北绿灯灭
SETBp2.6;南北黄灯亮
ACALLDELAY2;短延时2
CLRP2.6;南北黄灯灭
CLRP2.1;东西红灯灭
SETBP2.3;东西绿灯亮
SETBP2.5;南北红灯亮
ACALLDISPLAY;显示倒计时
ACALLFLASHS;东西方向绿灯闪烁
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
DEL3:MOVR3,#100
Dwk.baidu.comL2:MOVR4,#75
DEL1:NOP
NOP
DJNZR4,DEL1
DJNZR3,DEL2
DJNZR2,DEL3
其流程图如6所示:
图2-6 1秒延时子程序流程图
2.2.3 夜间模式子程序
系统在主程序中已经完成中断初始化,在正常模式下,其随时可通过中断0进入夜间模式,不受当时通行方向的影响。夜间模式中,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。其流程图如图7。其程序为:
图2-3 按键模块
各按键与单片机相对应的接口见上面的单片机模块。
2.2 系统软件设计
根据前面的要求以及硬件的设置情况,本系统的软件部分需要进行中断设置。为了实现上述要求,软件部分应包括正常模式﹑夜间模式﹑紧急模式﹑强制通行等子程序。主程序流程图如图4所示:
图2-4 主程序流程图
开机上电处于正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。而显示系统则显示到下一次改变所剩的时间,利于司机调整车辆状况。每到同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免不必要的危险。
在设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用中断系统完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外部中断0为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断1为紧急模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况(如车祸等)发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。同时,通过在紧急模式下软件检测p3.7和p3.6是否不为1来触发东西及南北强制通行模式,以弥补外部中断的不足,实现更多的功能。
CLR P2.6 ;南北黄灯灭
CLR P2.1 ;东西红灯灭
SETB P2.3 ;东西绿灯亮
本交通灯的设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用中断系统完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外部中断0为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断1为紧急模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况(如车祸等)发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。同时,通过在紧急模式下软件检测p3.7和p3.6是否不为1来触发东西及南北强制通行模式,以弥补外部中断的不足,实现更多的功能。
单片机与其他模块的连接如下图1所示:
图2-1 单片机与其它模块的连接
2.1.2 显示模块
传统的共阳极或共阴极的数码管其显示输入需要为段码,这样就使得电路相对复杂和繁琐。对于相同的功能在成本相差不大的情况下,此处运用了带BCD译码电路的LED显示器。这样既可使线路简化,又可使可靠性提高
本设计中使用的自带BCD译码电路的LED显示器,其主要特点是采用四线BCD码输入,可显示0-F十六进制数。使用时直接输入BCD码 即可显示相应的数字,使得电路大大简化。设计时,把P1.0~P1.7当 做BCD码输出端口,连接到LED显示器上,这样可把BCD码直接转换成可显示的数字,显示模块的连接如图2所示:
2.2 系统软件设计........................................6
2.2.1正常工作模式子程序.............................8
2.2.2 延时子程序....................................9
2.2.3 夜间模式子程序................................10
CLRP2.3;东西绿灯灭
SETBP2.2;东西黄灯亮
ACALLDELAY2;短延时2
CLRP2.2;东西黄灯灭
图2-5 正常工作模式流程图
2.2.2 延时子程序
设计中通过对指令运行的次数进行循环来实现软件延时。当晶振频率为12MHz时每个机器周期是1微秒,一条NOP指令是一个机器周期,一条DJNZ指令是两个机器周期,所以可写出如下的1秒延时子程序:
2.2.4绿灯闪烁子程序.................................12
2.2.5显示倒计时子程序...............................12
3系统测试与实现.........................................14
3.1 汇编源程序.....................................14
图2-2 显示模块
图中的总线接至单片机的P1.0~P1.7端口。
2.1.3 按键模块
在此系统中,按键模块是实现各项功能的关键,按键通过电阻与单片机相连接,可以对单片机进行控制,低电平信号对相应的单片机引脚有效,可使按键的另一端接地。本设计中有强制东西通行按键﹑强制南北通行按键﹑夜间模式按键﹑正常模式按键﹑紧急模式按键五个按键,分别对应着相应的子模式。如图3所示:
本次课程设计需要完成的任务是用单片机实现交通灯的基本功能,该系统除了可以实现基本交通灯功能外,也能实现紧急特殊模式等功能。
详细功能为:在白天正常东西方向和南北方向通车,通车时间均为45秒。正常通车情况下,可以对通车的时间进行倒计时计数,并通过显示器显示出来。如果遇到特殊情况,在处理特殊事件时,可使整个十字路口禁止通车。强制东西通行,适用某些需要只进行东西通车的情况。强制南北通行,适用某些需要只进行南北通车的情况。在夜间车流量较少的情况下,正常东西方向和南北方向通车,通车时间均为10秒,相对与白天通行模式,车辆等待时间减少,提高了通行效率。
2.1硬件系统设计
根据上面的功能要求,硬件系统主要模块有单片机模块﹑显示模块﹑按键模块,其硬件总电路图如附录二所示。
2.1.1 单片机模块
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
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
总程序见附录一。
2.2.1正常工作模式子程序
正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行,其流程图如图5所示。
其主要程序为:
MOVR6,#03H;绿灯闪烁次数
MOVR0,#00H;
MOVP2,R0;灯全灭
SETBP2.7;南北绿灯亮
SETBP2.1;东西红灯亮
ACALLDISPLAY;显示倒计时
2 系统设计
此次设计通过ATMEL公司的单片机AT89C52对整个交通灯电路进行控制。根据上面的功能要求,本次设计需要完成正常模式﹑计时功能﹑紧急特殊模式﹑夜间模式等四个功能。
在正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。而LED显示系统则显示到下一次改变所剩的时间,利于司机调整车辆状况。每到同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免不必要的危险。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
1 设计任务与要求
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
此次设计运用了软件延时程序,这样不仅调整延时长短十分灵活,而且不占用内部定时/计数器的资源。设计中通过对指令运行的次数进行循环来实现软件延时。当晶振频率为12MHz时有以下时间周期:
震荡周期:1/12微秒;
状态周期:1/6微秒;
机器周期:1微秒;
指令周期:1~4微秒;(根据指令的不同而不同)
软件延时的优点是较为灵活,调整更为容易,且不受延时时间限制。但软件延时长时间占用系统资源,使得CPU工作效率不高,在中断频繁的系统中其定时精度也受到中断的影响。但本系统要求延时时间较长,且没有频繁申请的中断系统,所以选择软件延时配合外部申请中断模式切换较为合理。
单片机应用技术课程设计
基于单片机的交通灯控制系统设计
院(系)名称
专业名称
学生姓名
指导教师
2012年月日
1 设计任务与要求.........................................1
2 系统硬件设计............ ...........................3
3.2 Proteus仿真..................................14
4 课程设计总结..........................................17
参考文献................................................18
2.1硬件系统设计......................................4
2.1.1单片机模块..................................4
2.1.2 显示模块......................................5
2.1.3 按键模块.......................................6
本设计中AT89C52使用12MHz晶振。
XTAL1(19脚)和XTAL2(18脚):外接晶体引脚,XTAL1和XTAL2分别接外部晶振一端;RST:即为RESET,该引脚为单片机的上电复位或掉电保护端。在此设计中接正常模式按扭;P3.7:使用第二功能,接强制南北通行按扭;P3.6:使用第二功能,接强制东西通行按扭;P3.3:使用第二功能INT1,接紧急工作模式按扭;P3.2:使用第二功能INT0,接夜间工作模式按扭;P1.0~P1.7:输出BCD码,用来控制LED显示器的显示控制;P2.7、P2.6、P2.5:输出高低电平,用来控制南北交通信号灯;P2.1、P2.2、P2.3:输出高低电平,用来控制东西交通信号灯;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS。
ACALLFLASHN;南北方向绿灯闪烁
CLRP2.7;南北绿灯灭
SETBp2.6;南北黄灯亮
ACALLDELAY2;短延时2
CLRP2.6;南北黄灯灭
CLRP2.1;东西红灯灭
SETBP2.3;东西绿灯亮
SETBP2.5;南北红灯亮
ACALLDISPLAY;显示倒计时
ACALLFLASHS;东西方向绿灯闪烁
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。