基于89s52单片机的交通控制系统安装、调试与维修
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任务名称:基于89s52单片机的交通控制系统安装、调试与维修
学习目标:
(1)、能看懂+5v电源原理及设计
(2)、能看懂单片机电路复位工作原理及设计
(3)、会进行按键电路的设计
(4)、知道驱动电路74LS07的特性及使用
(5)、知道LED的特性及使用
(6)、知道AT89S52单片机各引脚功能
(7)、能看懂单片机汇编语言机程序设计
学习内容:
(1)、+5v电源原理及设计
(2)、单片机电路复位工作原理及设计
(3)、按键电路的设计
(4)、驱动电路74LS07的特性及使用
(5)、LED的特性及使用
(6)、AT89S52单片机各引脚功能
(7)、单片机汇编语言机程序设计
(8)、安全培训
本课题建议学时:70学时。
本课题的教学步骤可分为:
1、下发任务书
2、学习流程
3、引导问题
4、有关表格
5、自我测试题(评价标准、测试题)
任务书:(2个课时)
随着我国经济的高速发展,私家车、公交车的增加,无疑会给我国道路交通系统嗲来沉重的压力,很多大城市都不同程度的受到交通堵塞的困扰,下面以AT89S52单片机为核心,设计出以人性化,智能化为目的的交通信号灯控制系统。
通过本课题的学习,你能够独立完成交通信号灯的制作,并且可以进行交通信号灯的维修;下图为交通信号灯电原理图(见附录1)。
1.2 项目要求
用AT89S52单片机控制一个交通信号灯,晶振采用12MHz。
设A车道与B车道交叉组成十字路口,A是主道,B是支道,设计要求如下:
1)、用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。
2)、正常情况下,A、B车道轮流放行,A车道放行50S,其中5S用于警告,B车道放行30S,其中5S用于警告。
3)、在交通繁忙时,交通信号灯控制系统应有手控开关,可认为的改变信号灯的状态,以缓解交通拥挤状况,在B车道放行期间,若A车道有车而B车道无车,按下开关K1键,A车道放行15S,在A车道放行期间,若B车道有车而A车道无车,按下开关K2键使B车道放行15S。
4)、有紧急车辆通过时,按下K3开关使A、B车道均为红灯,禁行20S.
1.3 系统设计
交通控制系统主要控制A、B两车道的交通,以AT89S52单片机为核心机片,通过控制三色LED的亮灭来控制各车道的通行,另外通过3个按键来模拟各车道有无车辆的情况和紧急车辆的情况,制定总体车技思想如下:1)、正常情况下运行主程序,采用0.5S延时子系统的反复调用来实现各种定时时间
2)、一道有车而另一道无车时,采用外部中断1执行中断服务程序,并设置该中断为底优先级中断。
3)、有紧急车辆通过时,采用外部中断0执行中断服务程序,并设置该中断为高优先级中断,实现二级中断嵌套。
1.3.1 框图设计
基于AT89S52单片机的交通信号灯控制系统由电源电路,单片机主控电路,按键控制电路和道路显示电路几部分组成,框图如图1所示。
1.4 硬件设计
用12只发光二极管模拟交通信号灯,以AT89S52单片机的P1口控制这12只发光二极管,由于单片机带负载能力有限,因此,在P1口语发光二极管之间用74LS07作驱动电路,P1口输出低电平时,信号灯亮,输出高电平时,信号灯灭,在正常情况和交通繁忙时,A、B两车道的6只信号灯的的控制状态有5种形式,即P1口控制功能及相应控制码如表1所示,分别以按键K1、K2模拟A、B道的车辆检测信号,开关K1按下时,A车道放行,开关K2按下时,B车道放行,开关K1和K2的控制信号经异或取反后,产生中断请求信号(低电平有效),通过外部中断1向CPU发出中断请求,因此产生外部中断1中断的条件应是,可用集成块74LS266来实现,采用中断加查询扩展法,可以判断出要求放行的是A车道(按下开关K1)还是B车道(按下开关K2)。
以按键K0模拟紧急车辆通过开关,当K0为高电平时属正常情况,当K0为低电平时,属紧急车辆通过情况,直接将K0信号接至(P3.2)脚即可实现外部中断0中断。
表1 交通控制灯于控制状态对应关系
综上所述,可设计出基于AT89S52单片机控制交通信号灯模拟控制系统的电路图如图2所示
1.5 软件设计
主程序采用查询方式定时,由R2寄存器确定调用0.5S延时子程序的次数,从而获取交通灯的各种时间,子程序采用定时器1方式1查询式定时,定时器定时50ms,R3寄存器去顶50ms循环10次,从而获取0.5S的延时时间。
有车道放行的中断服务程序首先要保护现场,因需用到延时子程序和P1口,故需保护的寄存器有R3,P1,TH1和TL1,保护现场时还需关中断,以防止高优先级中断(紧急车辆通过而产生的中断)出现导致程序混乱。
开中断,由软件产寻P3.0和P3.1口,判断哪一道有车,再根据查询情况执行相应的服务,待交通灯信号出现后,保持15s的延时,然后关中断,恢复现
场,再开中断,返回主程序。
紧急车辆出现时的中断服务程序也需保护现场,但无需关中断(因其为高优先级中断),然后执行相应的服务,待交通灯信号出现后延时20s,确保紧急车辆通过交叉路口,然后,恢复现场,返回主程序。
1.5.1程序流程图
交通信号灯模拟控制系统程序流程图如图3所示。
1.5.2 程序清单
交通信号灯模拟控制系统程序清单如下:
ORG 0003H
LJMP INTTO ;转向紧急车辆中断服务程序
ORG 0013H
LJMP INTT1 ;转向有车车道中断服务程序
ORG 0200H
MAIN:MOV SP ,#30H
SETB PXO ;置外部中断0为高优先级中断
MOV TCON,#00H ;置外部中断0、1为电平触发
MOV TMOD,#10H ;置定时器1为方式1
MOV IE,#85H ;开CPU中断,开外中断0、1中断
LOOP:MOV P1,#0F3H ;A道绿灯放行,B道红灯禁止
MOV R1;#90 ;置0.5s循环次数(0.5*90=45s)DIP1:ACALL DELAY ;调用0.5s延时子程序DJNZ R1,DIP1 ;45s不到继续循环
MOV R1,#06 ;置A绿灯闪烁循环次数
WAN1:CPL P1.2 ;A绿灯闪烁
ACALL DELAY
DJNZ R1,WAN1 ;闪烁次数未到继续循环
MOV P1,#0F5H ;A黄灯警告,B红灯禁止
MOV R1,#04H ;置0.5s循环次数(0.5*4=2s)
YL1:ACALL DELAY
DJNZ R1,YL1 ;2s未到继续循环
MOV P1,#0DEH ;A红灯,B绿灯
MOV R1,#32H ;置0.5s循环次数(0.5*50=25s)DIP2:ACALL DELAY
DJNZ R1,DIP2 ;25s未到继续循环
MOV R1,#06H
WAN2:CPL P1.5 ;B绿灯闪烁
ACALL DELAY
DJNZ R1,WAN2
MOV P1,#OEEH ;A红灯,B黄灯
MOV R1,#04H
YL2:ACALL DELAY
DJNZ R1,YL2
AJMP LOOP ;循环执行主程序
INTTO:PUSH P1 ;P1口数据压栈保护
PUSH TH1 ;TH1压栈保护
PUSH TL1 ;TL1压栈保护
MOV P1,#0F6H ;A、B道均为红灯
MOV R2,#40 ;置0.5s循环初值(20s)DEYO:ACALL DELAY
DJNZ R2,DEYO ;20秒未到继续循环
POP TL1 ;弹栈恢复现场
POP YH1
POP P1
RET1 ;返回主程序
INTT1:CLR EA ;关中断
PUSH P1 ;压栈保护现场
PUSH TH1
PUSH TL1
SETB EA ;开中断
JB P3.0,BOP ;A道无车转向B道
MOV P1,#0F3H ;A道绿灯,B道红灯
SJMP DEL1 ;转向15s延时
BOP:JB P3.1,EXIT ;B道无车退出中断MOV P1,#0DEH ;A红灯,B绿灯
DEL1:MOV R5,#30 ;置0.5s循环初值(15s)NEXT:ACALL DELAY
DJNZ R5,NEXT ;15s未到继续循环EXIT:CLR EA
POP TL1 ;弹栈回复现场
POP TH1
POP P1
SETB EA
RETI
DELAY:MOV R3,#OAH ;05.s子程序(50ms*10=0.5s)
MOV TH1,#3CH ;置50ms初值X=3CB0H
MOV TL1,#0B0H
SETB TR1 ;启动T1
LP1:JBC TF1,LP2 ;查询计数溢出
SJMP LP1
LP2:MOV TH1,#3CH ;置50ms初值X=3CB0H MOV TL1,#0B0H
DJMZ R3,LP1
RET
END
1.6系统仿真及调试
单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试过程中被发现和纠正的,但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障,可见硬件的调试是基础,如果硬件调试不通过,软件设计则无从做起。
硬件的调试主要是把电路的各种参数调整到符合设计要求,先排除硬件电路故障,包括设计性错误和工艺性故障,一般原则是先静态后动态。
利用万用表和逻辑测试仪器,检查电路中的各器件以及引脚是否连接正确,是否有短路故障。
先要将单片机AT89S52芯片取下,对电路板进行通电检查,通过观察看是
否有异常,然后用万用表测试各电源电压,这些都没有问题后,接上仿真机进行联机调试观察各接口线路是否正常。
单片机AT89S52是系统的核心,利用万用表检测单片机电源电源VCC是否为
(40引脚)+5V,晶振是否正常工作(可用示波器测试,也可以用万用表检测,两引脚电压一般为1.8~2.3V之间),复位引脚RST(复位时为高电平,单片机
工作时为低电平),是否为+5V(高电平),这样一来单片机就能工作了,再结合电路图,检测故障就很容易了。
预备知识:(35个课时)
1.时序逻辑电路任何时刻的输出信号不仅取决于,而且还取决于。
2.时序逻辑电路的分析就是根据给定的逻辑电路图经过分析计算,最后确定其。
3.时序逻辑电路逻辑功能的表示方法有、、
和四种。
4.用来累计和寄存输入脉冲数目的部件为。
5.一位8421BCD计数器至少需要个触发器。
6.一个4位二进制减法计数器的起始值为1001,经过100个时钟脉冲作用之后的值为。
7.用电路构成八进制计数器的译码电路最简单。
8.按计数器状态变化的规律分类,计数器可分为数器。
9.经过有限个CP,可由任意一个无效状态进入有效状态的计数器是
自启动的计数器。
(能、不能、不一定能、以上都不对)
10.数码显示译码电路应有个输出端。
11.3线—8线译码电路应有个输出端。
12.编码电路和译码电路中,电路的输出是二进制代码。
(编码、译码、编码和译码、以上都不对)
13.简述发光数码管的结构。
14.简述发光数码管的主要特点。
15.简述发光数码管的工作原理。
16.用JK触发器设计一个同步五进制加法计数器,并检查能否自启动。
17.试用CT74LS163构成十进制计数器。
(1)用一片CT74LS163构成十二进制计数器。
(2)用两片CT74LS163构成8位二进制加法计数器。
流程卡:(2个课时)
电路板制作:(32个课时)
1、准备本项任务所需的材料、工具,
2、如果不全,缺哪些?
3、根据上一项目的制作步骤进行操作。
参考资料
平分卡:(2个课时)
交通信号灯的制作与维修(满分100分)
工作小结:(1个课时)。