- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字电路实验报告
交通灯控制器
一、 任务要求
设计制作一个用于十字路口的交通灯控制器。
①南北和东西方向各有一组绿、黄、红灯用于指挥交通,绿灯、黄灯和红灯的持
续时间分别为20 秒、5 秒和25 秒;
②当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止,
③当特殊情况结束后,控制器恢复原来状态,继续正常运行;
④用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间;
·选做:增加左、右转弯显示控制功能;
·选做:其它自拟功能。
二、 系统设计
利用有限状态机描绘出交通灯的状态转移图,并设置记录东西和南北路口可通行时间的全局变量count1,count2。状态间的转移以count1,count2的值作为判断条件。对于两种特殊情况:当复位信号reset为高电平时,则回到最初状态;当紧急输入信号emergency为高电平时,则转移到一特殊状态, emergency 结束后则返回当前状态。
三、总体框图及分块设计
① 交通灯控制器的逻辑划分方块图
点南东
点
南
东
阵
北向路
灯
西向路
灯
鸣 译码器
器
时 间 计 数
器
控制器 紧急请求
② 交通灯控制器逻辑流程图
分频器
系统复位
启动
启动
No
东西向直行,
南北向红灯
过了 5 秒
东西向红灯,
南北向黄灯
Yes
No
Yes
过了20 秒?
过了 10 秒?
Yes
No
东西向左转,
南北向红灯
东西向红灯,
南北向左转
No
Yes
过了 10 秒?
过了 20 秒?
Yes
Yes
No
东西向黄灯,
南北向红灯
过了 5 秒?
东西向红灯,
南北向直行
No
No
No
Yes
正常运行
是否按下紧急
按钮
全亮红灯,铃声
响起
③ 交通灯控制器的状态转移图
任何状态
任何状态
紧急按钮(A=1)
全都红灯
东西 100
南北 100 Bell=1
紧急按钮(A=0)
其中图中 T
20
T T
10 5
分别是直行,左转和黄灯的时间,通过判断其是否达到
T10
T10 =0
东 西 向 直 行
(001),南北向红灯(100) 点阵(00)
T20=1
东 西 向 左 转
(001),南北向红灯(100) 点阵(01)
T
10
=1
T20=1
东 西 黄 灯
(010),南北红灯(100) 点阵(01)
T5 =1
T5 =0
T5 =1
T5 =0
东 西 向 绿 灯
(100),南北向黄灯(010) 点阵(01)
T10 =1
东西向红 灯
( 100 ),南北 向 左 转
(001) 点阵(01)
T
20
=1
东 西 向 红 灯
(100),南北向直行(001) 点阵(00)
T10 =0
T20 =0
另外,在 reset 信号为高电平时,不论其他状态和信号如何,系统回到最初状态。在 reset 信号为低电平且 emergency 为高电平时,两个方向交通灯均为红灯警铃响起,直到 emergency 恢复低电平时,系统恢复到 emergency 刚快要出现时系统的状态,并会到之前状态。
分块设计
在我的实验设计中,整个交通灯控制器包括5个模块:①控制器模块control;
②计数模块catcontol;③分频模块fenpin1和fenpin2;④点阵DZ;⑤数码管显示译码模块show;⑥警铃控制器bellcontrol;⑦主函数。现对各个模块的设计作一简要阐述:
①控制器模块control:这是整个程序的核心模块,控制着交通灯状态的转移和交通灯通行时间count1和count2数值的改变,该模块是交通灯状态转移图的程序实现。
②计数模块catcontrol:该模块将count1和count2数值转化为二进制信号并以较高频率扫描数码管的共阴极以显示多位数字的通行时间,是一个初级译码模块。
③分频模块fenpin1:该模块将实验板固有50M晶振时钟频率进频, 以产生控制器模块所需的1Hz频率。
Fenpin2:则分成1KHz的供扫频和警铃的响声频率
④点阵DZ:通过contol里面的返回值来控制其显示,行为低电平有效,列位高电平,从第一行开始扫描到第八行。
⑤数码管显示译码模块show:该模块通过对每一位数字进行7段数码管译码以显示该数字,实际上我在实验中用的是8位信号。因为7段数码管实际上有8个输出信号,除了7段数码管,还有小数点显示信号。
⑥警铃控制器bellcontrol:通过返回的紧急信号值来判断是否给警铃一个高电平的信号。
⑦主函数:将各个模块连接起来。
仿真图
① 正常运行下
②加了紧急信号
③复位信号
此次试验实现了交通灯的直行控制以及左转的控制,外加了紧急情况。并且在此之上附加了点阵显示交通灯的状态以及响铃的警报。
四.故障分析
我一开始是用 50M 的晶振频率扫描
文档评论(0)