[color=crimson]希望有心人能给我些指导。谢谢![/color]
一、 任务
十字路口的交通信号指示系统示意图
设计并制作一个如上图所示的十字路口的交通信号自动控制模拟指示系统。设该路口由A、B两条通行干道相交而成,四个路口各设一组红、黄、绿三色信号灯,用两位数码管作倒计时显示。
十字路口的交通信号模拟指示系统的工作流程如下图所示。
十字路口的交通信号模拟指示系统工作流程图
二、 要求
1.系统基本功能要求
(1)以秒为计时单位,两位数码管以十进制递减计数形式作定时显示,在递减计数回零瞬间完成换灯操作。
(2)通过键盘红、黄、绿三色信号灯所亮时间在0~99秒内任意设定。
(3)十字路口的通行起始状态可人工设定,运行中可通过人工干预使十字路口通行状况固定于任何一种工作模式。
我打算设计是基于AT89C51设计的红绿交通灯。用AT89C51与电阻、电容、开关等组成单片机的最小系统,AT89C51单片机的P1口驱动的其中6个作为驱动端口驱动红绿黄交通灯亮与灭。P1口是单纯的通用8位准双向I/O端口,每位可驱动4个TTL负载,作为通用I/O端口。P0端口输出时需要外接上拉电阻,这里我们通过74LS244来实现上拉电阻功能,通过P0口来控制南北方向时间显示,P2与P0端口的区别在于内部具有上拉电阻,所以输出时不用外接上拉电阻,可直接输出控制外部数码管,这里我们通过其来控制东西方向时间显示。
交通灯功能实现
由于对面的两个交通灯现象一样,同时合为一个,所以设计中控制6个灯就可以了。
以单片机的P1.0到P1.5分别接交通信号灯,当口线输出高电平时“信号灯”亮,口线输出低电平则“信号灯”熄。为了实现上述要求,P1口共有六种控制码。
[b]我的问题是从哪里加键盘进去,还有怎样实现人工干预?[/b]