P1口 P1.0~P1.7 输入与输出 无第二功能
P2口 P2.0~P2.7 输入与输出 传送地址的高8位
P3口 P3.0~P3.7 输入与输出 P3.0—RXD:串行口输入端【9】
这里使用P2口来控制8位数码管。
连接好的电路图如图3-5所示 图3-5 8位数码管和单片机连接图
3.1.3 加入红黄绿三色灯作为交通灯
交通控制最不能少的部分就是红绿灯,行人需要直观的看红绿灯才能判断交通情况到底是禁行还是通行。
我选用了PERTUSSIS自带的TRAFFIC LIGHTS,如图3-6所示
图3-6 TRAFFIC LIGHTS
将其连接到单片机上,验证可得,当输入信号为高电平时,管脚对应的LED灯点亮,实验如图3-7,红色代表高电平,绿色的LED灯接到高电平信号点亮。
图3-7 交通灯性能测试
这里使用P0口来控制红绿黄灯。
连接好的电路图如图3-8所示 图3-8 交通灯和单片机连接图
由于接口输出默认的高电平,所以我在交通灯前加了非门,让到达交通灯的信号默认成了低电平。
3.1.4 加入按钮用于控制流量过多和紧急情况
键盘是由若干独立的键组成,键的按下与释放是通过机械触点的闭合与断开来实现的,当按键按下的时候,电路接通,按键按下电路断开【10】。
这里使用了单片机的外部中断。
所谓中断是指在计算机正常工作的过程中,由于系统内、外发生的随机事件,使计算机必须暂停现行程序的执行,而转去执行处理该事件的程序。待该处理程序执行完毕,计算机再返回到原来被中断的程序继续执行的过程。为实现中断功能而设定的各种硬件和软件统称为中断系统【11】。
单片机中断响应的过程是:中断源提出中断请求CPU 采样到中断请求标志CPU 响应中断,自动转向中断向量指向的中断服务程序执行完毕返回原断点处继续执行主程序【12】。
关于中断的控制口是:
P3.2— :外部中断0中断请求输入端
P3.3— :外部中断1中断请求输入端【13】
连接好的电路如图3-8所示 图3-8 中断按钮连接
3.1.5 最终完成硬件连接
所有硬件连接好之后,如图3-9所示 图3-9 完整电路
3.2 硬件电路工作流程
系统运行之后,进入状态1,东西方向显示红灯54秒倒计时开始,南北方向显示红灯2秒倒计时开始,接下来从状态1循环到状态6再回状态1.
如果在此时南北方向车流量变大,上按钮按一下,南北方向通行时间加10秒,有一个倒计时为0之后生效,变成55秒。
如果在此时东西方向车流量变大按两下,东西方向通行时间加10秒,变为35秒,有一个倒计时为0之后生效,
按钮再按一下系统恢复正常。
如果此时南北方向出现车祸,下按钮按一下,告诉行人,道路不通,东西方向一直绿灯,南北一直红灯。有一个倒计时为0之后生效。
如果此时东西方向出现车祸,下按钮按一下,告诉行人,道路不通,南北方向一直绿灯,东西一直红灯。有一个倒计时为0之后生效。
系统恢复正常需要重新启动。 AT89C5单片机的智能交通控制系统+源码+电路图(6):http://www.youerw.com/tongxin/lunwen_5863.html