基于51单片机的城市交道口交通灯控制系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
龙岩学院
毕业论文(设计)
题目:城市交道口交通灯控制系统
专业:电子信息工程
作者:林晓华
指导教师(职称):张卫平
讲师
二00八年六月十六日
Longyan College
graduation thesis (design)
Title: City traffic light control system in Jiao Daokou Profession: Electronic and Information Engineering Author: Xiaohua Lin
Supervising teacher (title): Weiping Zhang
Lecturer
June 16, 2008
龙岩学院本(专)科毕业论文(设计)作者承诺保证书
本人郑重承诺:本篇毕业论文(设计)的内容真实、可靠。
如果存在弄虚作假、抄袭的情况,本人愿承担全部责任。
签名:
年月日龙岩学院本(专)科毕业论文(设计)指导教师承诺保证书
本人郑重承诺:我已按有关规定对本篇毕业论文(设计)的选题与内容进行了指导和审核,坚持一人一题制,确认由作者独立完成。
如果存在学风问题,本人愿承担指导教师的相关责任。
签名:
年月日
龙岩学院本(专)科毕业论文(设计)题目审核表
学院:物理与机电工程学院系或教研室:电子教研室时间:年月日
龙岩学院本(专)科毕业论文(设计)开题报告学院:物理与机电工程学院专业:电子信息工程
不够填写可续页
龙岩学院毕业论文(设计)中期检查表学院:物理与机电工程学院专业:电子信息工程
龙岩学院本(专)科毕业论文(设计)指导教师指导记录表学院:物理与机电工程学院专业:电子信息工程
备注:1.此表由学生根据老师每次指导论文的内容填写,指导教师签字后学生保存。
表格不够填写可续页。
2.凡学生不主动请教指导教师或弄虚作假,教师没有完成指导工作量、不负责任者,均将酌情处理。
3.表格不够填写可续页。
龙岩学院
毕业设计(论文)
文献综述
专业:电子信息工程
作者:林晓华
指导教师(职称):张卫平(讲师)
文献综述
一、查阅中外文献资料目录
【1】[1]白炳良. 单片机自动控制交通信号灯[J]. 漳州:漳州师院学报,1997,4(2):16- 20. 【2】何小艇;电子系统设计;浙江大学出版社;2001年6月第2版。
【3】林军. 用单片机控制的交通信号灯[J]. 哈尔滨:电脑学习,2001,8(4):25- 28.
【4】李广弟,等. 单片机基础[M]. 北京:北京航空航天大学出版社,2001:117- 123.
【5】张迎新,等. 单片机初级教程[M]. 北京:北京航空航天大学出版社,2000:201- 233. 【6】谢自美,阎树兰,赵云娣;电子线路设计·实验·测试(第二版);华中理工大学出版社;2000年7月第2版。
【7】/kns50/index.aspx
【8】
【9】 A.Rajendran,P.neelamegam.Measurement of conductivity of liquids using AT89C55WD microcontroller./locate/measurement 2004,(35) :59~63
【10】Marylene Combe, Caroline Papaix, Jeanine Guichaoua, Vincent Sialelli.Design of high-speed 128-bit embedded flash memories allowing in place execution of code./locate/see 二、文献综述
由于8051单片机的极大普遍性以及本人的熟悉程度,我选择8051单片机,并且选用ATMEL公司AT89S52。
如图4.4:
8051单片机最早由Intel公司推出,其后,多家公司购买了8051的内核,使得以8051为内核的MCU系列单片机在世界上产量最大,应用也最广泛。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位输入输出口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、
串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[10]。
图4.4 单片机管脚图
各管脚功能说明如下:
VCC:电源。
GND:地。
P0口:P0口是一个8 位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0
端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8 位地址/数据复用。
在这种模式下P0具有内部上拉电阻。
在flash 编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
P1.0 T2(定时器/计数器T2 的外部计数输入),时钟输出
P1.1 T2EX(定时器/计数器T2 的捕捉/重载触发信号和方向控制)
P1.5 MOSI(在系统编程用)
P1.6 MISO(在系统编程用)
P1.7 SCK(在系统编程用)
P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(简单作一个假设:当执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX @RI )访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash 编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
引脚号第二功能
P3.0 RXD(串行输入)
P3.1 TXD(串行输出)
P3.2 INT0(外部中断0)
P3.3 INT0(外部中断0)
P3.4 T0(定时器0外部输入)
P3.5 T1(定时器1外部输入)
P3.6 WR(外部数据存储器写选通)
P3.7 RD(外部数据存储器写选通)
RST:复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST 脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash 编程时,此引脚(PROG )也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX 或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89S52 从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EA/VPPL:访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA 也接收12 伏VPP电压。
XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:振荡器反相放大器的输出端。
特殊功能寄存器
并不是所有的地址都被定义了。
片上没有定义的地址是不能用的。
读这些地址,一般将得到一个随机数据;写入的数据将会无效。
用户不应该给这些未定义的地址写入数据“1”。
由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。
存储器结构
MCS-51器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都可以64K寻址。
掉电和空闲方式下的WDT
在这种方式下,用户不必喂狗。
有两种方式可以离开掉电模式:硬件复位或通过一个激活的外部中断。
通过硬件复位退出掉电模式后,用户就应该给WDT喂狗,就如同通常AT89S52复位一样。
通过中断退出掉电模式的情形有很大的不同。
中断应持续拉低很长一段时间,使得晶振稳定。
当中断拉高后,执行中断服务程序。
为了防止WDT在中断保持低电平的时候复位器件,WDT直到中断拉低后才开始工作。
这就意味着WDT应该在中断服务程序中复位。
为了确保在离开掉电模式最初的几个状态WDT不被溢出,最好在进入掉电模式前就复位WDT。
在进入待机模式前,特殊寄存器AUXR的WDIDLE位用来决定WDT是否继续计数。
默认状态下,在待机模式下,WDIDLE=0,WDT继续计数。
为了防止WDT在待机模式下复位AT89S52,用户应该建立一个定时器,定时离开待机模式,喂狗,再重新进入待机模式。
空闲模式
在空闲工作模式下,CPU处于睡眠状态,而所有片上外部设备保持激活状态。
这种状态可以通过软件产生。
在这种状态下,片上RAM和特殊功能寄存器的内容保持不变。
空闲模式可以被任一个中断或硬件复位终止。
由硬件复位终止空闲模式只需两个机器周期有效复位信号,在这种情况下,片上硬件禁止访问内部RAM,而可以访问端口引脚。
空闲模式被硬件复位终止后,为了防止预想不到的写端口,激活空闲模式的那一条指令的下一条指令不应该是写端口或外部存储器。
掉电模式
掉电模式下,晶振停止工作,激活掉电模式的指令是最后一条执行指令。
片上RAM和特殊功能寄存器保持原值,直到掉电模式终止。
掉电模式可以通过硬件复位和外部中断退出。
复位重新定义了SFR的值,但不改变片上RAM的值。
在VCC未恢复到正常工作电压时,硬件复位不能无效,并且应保持足够长的时间以使晶振重新工作和初始化[。
Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等。
城市交道口交通灯控制系统
物理与机电工程学院电子信息工程专业
200402209(学号)林晓华(姓名)指导教师张卫平
【摘要】本设计采用单片机控制城市交道口红绿灯,按照所要求的时序进行红绿切换,并制作了交道口模型安装交通灯。
针对基本要求,该系统完成了按照所规定的时序进行红绿灯切换。
并且考虑到为残疾人提供盲道提示音,设计了用不同频率声音提示不同通行状态的蜂鸣器提示系统。
针对发挥部分要求,设计了与红绿灯切换同步的倒计时系统。
另外设计了两种特殊状态:手动控制与特种车辆控制。
【关键词】:AT89S52、红绿灯、倒计时系统
一、引言 (3)
二、系统设计 (14)
2.1 设计要求 (14)
2.1.1 基本要求 (14)
2. 1. 2发挥要求 (4)
2.2 总体设计 (15)
2.2.1 设计思路 (15)
2.2.2 方案论证比较 (15)
三、硬件系统设计与实现 (16)
3.1 主要元器件选择 (16)
3. 1. 1 HD7279简介 (5)
3.1.2 8155简介 (6)
3. 2 电路设计 (7)
四、软件系统设计与实现 (8)
4. 1系统软件设计结构 (8)
4. 2子模块设计结构 (8)
4. 2. 1主循环模块 (8)
4. 2. 2正常运行模块 (9)
4. 2. 3非正常运行模块 (9)
4. 2. 4Int0中断模块 (10)
4. 2. 5T0中断模块 (10)
4. 2. 6 Int1中断模块 (11)
4. 2. 7T1中断模块 (11)
五、系统测试 (12)
5. 1测试仪器与设备 (12)
5. 2系统测试方案 (12)
5. 2. 1发送指定控制字 (12)
5. 2. 2基本功能逻辑状态检验 (12)
5. 2. 3附加功能逻辑状态检验 (12)
5.3 系统测试结果 (12)
5. 3. 1发送指定控制字测试结果 (12)
5. 3. 2基本功能逻辑状态检验测试结果 (13)
5. 3. 3附加功能逻辑状态检验测试结果 (13)
六、结束语 (13)
致谢 (13)
参考文献 (13)
附录A、系统元器件清单 (15)
附录B、系统使用文档 (16)
附录C、程序清单 (17)
一、引言
当代社会, 红绿灯安装在各个道口上, 已经成为疏导交通车辆最常见和最有效的手段, 这一技术早在19世纪就已经出现。
1858年, 在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯, 用以指挥马车通行, 这是世界上最早的交通信号灯。
从那以后经过不断地发展, 逐渐演变成现在的交通信号灯控制系统, 红灯亮表示“停止”, 绿灯亮表示“通行”, 黄灯是警告信号。
信号灯的出现, 使交通得以有效管制, 对于疏导交通流量、提高道路通行能力减少交通事故有明显效果。
现在有许多方法可以实现交通信号灯控制,本文采用51系列单片机AT89S52为中心器件来设计交通灯控制系统[1]。
二、系统设计
2.1 设计要求
设计并制作一个城市交道口交通灯控制系统。
2.1.1 基本要求
1.在板上制作交道口模型,装上交通灯。
交道口模型如图1.1.1所示。
图1.1.1 交通灯控制系统模型图
2.交通灯控制规则如下:
1)每个街口有左拐、右拐、直行及行人四种指示灯。
每个灯有红、绿两种颜色。
自行车与汽车共用左拐、右拐和直行灯。
2)共有四种通行方式:
① 车辆南北直行、各路右拐,南北向行人通行。
南北向通行时间为1分钟,各路右拐比直行
滞后10秒钟开放。
② 南北向左拐、各路右拐,行人禁行。
通行时间为1分钟。
③ 东西向直行、各路右拐,东西向行人通行。
东西向通行时间为1分钟,各路右拐比直行滞
后10秒钟开放。
④ 东西向左拐、各路右拐。
行人禁行。
通行时间为1分钟。
3)在通行结束前10秒钟,绿灯闪烁直至结束。
3.不必自制电源。
2.1.2 发挥要求
1.有倒计时时间显示。
2.若交道口出现紧急情况,交警可将系统设置成手动:全路口车辆禁行、行人通行。
紧急情况结
束后再转成自动状态。
3.当有119、120等特种车辆通过时,糸统自动转为特种车放行,其它车辆禁止状态。
特种车辆
通过15秒钟后,糸统自动恢复,用模型车演示。
4.其它自选措施。
2.2 总体设计
此设计主要是通过单片机系统的I/O输出控制交通信号红绿灯的亮暗。
由52内已经烧入的程序编排各个I/O口的输出。
使信号灯按一定规则编排亮暗。
由集成减法计数器芯片和BCD-7段数码管译码芯片实现路口倒计时功能。
若交道口出现紧急情况,可以通过单片机键盘产生中断,从而进入另外的设定程序。
并通过键盘手动控制各方向信号灯。
另外考虑到现代社会越来越强调对残疾人的关爱,本设计中设计了盲道蜂鸣器提示器,用于提示盲人过马路[3]。
2.2.1 设计思路
由上可知,单片机可以控制交通灯的亮暗和倒计时功能,但所需要IO口数较多。
故设计时必须有所取舍。
考虑到红绿灯部分用较少IO口势必增加其控制逻辑的复杂度,使得控制逻辑的优化和升级变得非常困难,而倒计时功能基本不需要作修改,故采用集成电路控制倒计时,IO口控制红绿灯的方案。
2.2.2 方案论证比较
1.红绿灯部分
(1)使用单色发光二极管
红绿灯需要红色发光二极管和绿色发光二极管。
其优点是原理简单易懂,电路设计简单,显示效果明显。
缺点是焊接工作量比较大。
(2)使用一管两色发光二极管
一管两色发光二极管实际上是由一只红色发光二极管和一只绿色发光二极管反向并接而得。
其控制逻辑如下表:
表1.2.1 一管两色发光二极管发光规则
因此,可通过IO口控制该二极管两端的电平来实现对其的亮暗控制。
但该二极管亮度比较差,且不符合日常生活中使用的红绿灯系统,故不采用该方案。
2.倒计时计数器部分
(1)采用单片机软件计数器
单片机可实现比较精确的延时,通过IO口发送数据,经过锁存器锁存后输出到7段数码管进行显示。
其优点在于电路比较简单,且单片机控制比较灵活,便于对紧急情况进行处理。
缺点是占用IO口
过多。
由于交通灯部分已经占用了较多IO口,故不采用该方案。
(2)采用74系列集成电路计数器
利用集成电路设计一个六进制计数器和一个十进制计数器并级联,形成一个六十进制计数器进行计数。
技术结果通过BCD-7段数码管译码集成电路驱动数码管显示。
只要占用一个IO口给计数器送脉冲信号即可。
另外若有需要可用一IO口控制其复位。
实际设计中采用该方案。
3.盲道指示部分
(1)采用蜂鸣器进行提示
蜂鸣器的优点是结构比较简单,使用方便。
缺点在于频率单一,只能通过响与不响提示盲人。
由于该设计中只需体现其思想即可,故采用该方案。
(2)采用喇叭进行提示
喇叭的优点在于可以实现语音提示,显得更人性化。
并且可以通过发出不同声音来指导盲人行动。
缺点在于需要预先存储数据进行播放,耗费系统资源,而且由于对相关的盲道提示约定不熟悉,故不予采用。
4.特种车辆检测
(1)红外检测法
特种车辆发射红外,在路口安装红外接收装置,并连接到单片机最小系统的中断口响应。
其优点是红外感应距离比较远。
缺点是感应接收的稳定性不好,而且特种车辆需要做电路,比较复杂。
本设计中不采用该方案[5]。
(2)霍尔传感器检测法
霍尔传感器是将磁性信号转化为电信号的传感器。
特种车辆携带磁性物质,路口的霍尔元件检测到磁性物质后,使单片机最小系统的中断口响应。
其优点是电路比较简单,而且由于霍尔元件是集电极开路器件,可以在同一路口安装多个霍尔元件,以线与的方式搜集磁信号;特种车辆的模拟也只需以磁钢即可。
其缺点是感应距离很小,大约为几个厘米。
考虑到该设计中模型尺寸比较小,故采用该方案[4]。
三、硬件系统设计与实现
3.1 主要元器件选择
3.1.1. HD7279
1、HD7279(A)是一片具有串行接口的,可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片机即可完成LED显示、键盘接口的全部功能。
HD7279A芯片内部含有译码器,可直接接受16进制码,HD7279A还同时具有2种译码方式,HD7279(A)还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。
HD7279A具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口,如图2.1所示。
HD7279具有的特点:1、串行接口,无需外围元件可直接驱动LED。
2、各位独立控制译码/不译码及消隐和闪烁属性。
3、左移和右移指令。
4、具有短寻址指令,方便控制独立LED。
5、64键键盘控制器,内含去抖电路。
6、有DIP和SOIC两种封装形式供选择。
图3.1HD7279
2、HD7279A的引脚说明[10]
3
器传送到HD7279A的指令,而后一个字节d0-d7则为HD7279A返回的按键代码,其范围是0-3FH(无键按下时为0XFF),此指令的前半段,HD7279A的DADT引脚处于高阻态输入状态,以接受来自微处理器的指令;在指令的后半段,DATA引脚从输入状态转为输出状态,输出键盘代码的值。
当HD7279A的DATA检测到有效的按键时,KEY引脚从高电平变为低电平,并一直保持到按键结束。
在此期间,如果HD7279A接收到‘读键盘数据指令’,则输出当前按键的键盘代码;如果在收到‘读键盘指令’时没有有效按键,HD7279A将输出FFH(1111111B)[6]。
3.1.2 8155简介
8155用于并行扩展单片机的I/O口,有p0的8个位变为22个口(PA、PB、PC)单片机要访问一个芯片就必须要通过地址信号。
地址信号一般包括了片选信号和功能信号,但一个芯片如果内部还有寄存器存储单元(这些单元本身是有地址的即孤立的地址选择信号),因此单片机要访问一个芯片提供的地址信号首先要满足能够找到具有特定功能的芯片,然后又要能在该芯片内找到想要访问的单元。
因此,对于单片机外部的设备,单片机要想对其读/写就必须要定义该外部设备的地址,这个地址就包括了外部地址和内部地址的组合称为一个单片机可以控制访问的单元地址。
即使芯片称为单片机系统中的一部分了。
而对于芯片本身而言的,内部寄存器地址是不变的,如8155中命令寄存器地址为*****000B。
而
如何形成单片机可以访问的地址呢?首先要明白单片机的地址线构成方式,对于51单片机,一般是P0口为8位地址,如果需要十六位,则p2口则提供高8位地址。
访问外部芯片就需要由单片机提供能够访问到芯片内部的一个完整地址。
记住的是访问内部所需的地址信号是从固定位置输入的,因此具体芯片的地址是多少是由硬件连线决定的。
关键是看单片机是以什么方式提供的信号,是只8位还是16位,是仅有p1口还是P1P2口分别提供地址信号的[3]。
通常P1口提供内部选择信号,P2提供外部选择信号,两者结合形成该芯片的地址了。
其余信号按情况可以定位1或者0。
由于主控芯片为8051,IO口较少,故选用8155进行IO口扩展。
8155可扩展PA口(8位)、PB口(8位)、PC口(6位)。
可以使系统的扩展能力大大加强[9]。
3.3 电路设计
1.倒计时7段数码管电路设计
图2.2.1 倒计时电路
2.交通灯电路设计
8155
图2.2.2 交通灯电路图
3.蜂鸣器电路
图2.2.3 蜂鸣器电路
4.霍尔元件检测电路
A3144/SIP
图2.2.4 霍尔元件检测电路
四、软件系统设计与实现
4.1 系统软件设计结构
本系统软件在单片机最小系统的基础上进行开发,并采用8051 C语言编程实现。
考虑到系统逻辑的复杂性,所有系统要求的功能都设计成子模块的形式,以保证逻辑的正确性与系统维护的便利性。
在系统软件中,共采用了INT0, INT1, T0, T1四种中断方式,其中Int0中断用于键盘控制,Int1中断用于控制特种车辆运行模式,T0用于秒时钟定时,T1用于盲道指示(蜂鸣器频率)控制。
此外,系统设置了多种运行标志,用于控制系统运行状态[2]。
系统软件结构体如下:
图4.1.1 系统软件结构体框图
4.2 子模块设计结构
4.2.1 主循环模块
图4.2.1主循环模块流程图
4.2.2 正常运行模块
图4.2.2 正常运行模块流程图
4.2.3 非正常运行模块
图4.2.3 非正常运行模块
4.2.4 Int0中断模块
[7]
图4.2.4 INT0中断模块流程图4.2.5 T0中断模块
图4.2.5 T0中断模块流程
4.2.6 Int1中断模块
图4.2.6 INT1中断模块流程图
4.2.7 T1中断模块
图4.2.7 T1中断模块流程图
五、系统测试
5.1 测试仪器与设备
此次设计所用到及进行指标测试的仪器主要如下,见表5.1:
表5.1、仪器列表
5.2 系统测试方案
5.2.1 发送指定控制字
步骤一: 8155PA口全部置低电平,PB口全部置高电平,如果所有红灯暗,而绿灯皆亮,通过初步测试;
步骤二:顺序置PA口其中一位低电平,其余高电平,置PB为PA状态反相,如果对应红绿灯为一亮一暗关系,则通过测试;
步骤三:置PC3口为高电平,如果蜂鸣器持续鸣响;置PC3口为低电平,如果蜂鸣器停止鸣响,说明蜂鸣器控制正常;
5.2.2 基本功能逻辑状态检验
按设计的时序逻辑运行系统,检测对应逻辑状态是否吻合。
时序逻辑表如表5.2.2所示:
表5.2.2 时序逻辑表
5.2
1、手动控制运行测试:第一次按0号键进入手控运行状态,之后按1~6号键将产生对应step1,step2,step4,step6,step7,step9的逻辑状态;
2、特种车辆通过测试(霍尔元件替代):用磁钢放置在霍尔元件上方时,系统进入Special对应的逻辑状态,且开始倒计时15秒,之后系统恢复原来的状态继续运行。
5.3系统测试结果
5.3.1 发送指定控制字测试结果。