当前位置:首页 > (最新版)朱燕燕单片机控制交通灯毕业论文
图6
9
4.3.4 系统工作原理
4.3 3 交通灯硬件线路图
(1)开关键盘输入交通灯初始时间,通过8051单片机P1输入到系统
(2) 由8051单片机的定时器每秒钟通过P0口向8255的数据口送信息,由8255的
10
PA 口显示红、绿、黄灯的燃亮情况;由8255的PC口显示每个灯的燃亮时间。
(3)8051通过 设置 各个信号等的燃亮时间、通过8031设置,绿、红时间分别为60秒、80秒循环由8051的 P0口向8255的数据口输出。
(4) 通过8051单片机的P3.0位来控制系统是工作或设置初值,当.牌位0就对系统进行初始化,为1系统就开始工作。
(5)红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S后然后恢复正常。
(6)增加每次绿灯时间车流量检测的功能,并且通过查询P2.0端口的电平是否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新记入。 (7)绿灯时间倒计时完毕,重新循环。 8051并行口的扩展
8051虽然有4个8位IO端口,但真正能提供借用的只有P1口,因为P2和P0口通常用于传送外部传送地址和数据,P3口也有它的第二功能。因此,8031通常需要扩展。由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、红绿黄信号灯的显示都要用到一个IO端口,显然8031的端口是不够,需要扩展。
扩展的方法有两种:(1)借用外部RAM地址来扩展IO端口;(2)采用IO接口新片来扩充。我们用8255并行接口信片来扩展IO端口。 8255PA口输出信号接信号灯:
由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光,所以可以用置位方法点亮红,绿,黄发光二极管。 8255输出信号与数码管的连接:
LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上7FH所以 SP上为0伏,不亮其余为TTL高电平,全亮则显示为8 采用共阴级连接: 其中 PC0\\PB0-a,
PC1\\PB1-b, PC2\\PB2-c, PC3\\PB3-d,
11 PC4\\PB4-e, PC5\\PB5-f, PC6\\PB6-g PC7\\PB7 -SP接地
显示数值 0 1 2 3 4 5 6 7 8 dop g f e d c b a 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 驱动代码(16进制) 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 表 3 驱动代码表 8255与8051的连接:
用8051的P0 口的 p0.7 连接8255的片选信号cs 我们用8031的地址采用全译码方式,当p0.7 =0 时片选有效, 其他无效, p0.1 p0.1 用于选择8255端口 P0.7 p0.6 p0.5 p0.4 p0.3 p0.2 P0.1 P0.0 A7 A6 A5 A4 A3 A2 A1 A0
1 X X X X X 0 0 00H为8255 的PA口 1 X X X X X 0 1 01H 为8255的PB口 1 X X X X X 1 0 02H 为8255的PC口 1 X X X X X 1 1 03H 为8255的控制口 由于8051是分时对8255和储存器进行访问所以8051的P0口不会发生冲突
5.程序设计
5.1流程图如图所示
12
共分享92篇相关文档