单片机课程设计交通灯设计 - 图文(2)

2020-02-21 19:08

机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。

(3)通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。 (4)通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。

(5)通过脉冲中断编写中断程序,可实现中断。

3

第3章 硬件电路设计

3.1 各部分电路设计与原理

图3-1单片机系统的时钟振荡电路

(1)图5—1时钟振荡电路在单片机的外部通过XTAL1、XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器。我们采用的为12MHz的晶振,一个机器周期为1us,C1、C2为30 pF.

图3-2单片机系统的复位电路

(2)图5—2为复位电路,通常采用上电自动复位和按钮复位两种方式。本次设计采用按键复位电路。按键复位电路是在按键瞬间接地来实现的。按下复位按钮后,电源对按键RESET 端维持两个机器周期的高电平实现复位的。

3.2 硬件资源及I/O分配

3.1.1 主要用到的硬件:AT89C52、LED数码管、LED发光二级管、定 时器T0

4

3.1.2 I/O分配:

图3-3 发光二极管和单片机的接口电路

(1)图3-3是发光二极管和单片机的接口电路, P1口:做为输出口,与发光二极管相连接。

(2)P3口中的P3.0(RXD)和P3.1(TXD)作特殊用途,数据(倒计时时间)从 RXD端输入,TXD端输出。

(3)LED发光二极管用来显示灯亮情况。

(4)定时/计数器T0用来产生1秒的定时,在这里,我用的是定时计数器T0,先定时50ms,然后在中断服务子程序中用一个判断指令,当中断发生了20次时,说明定时了1s,定时1s后再对数据进行相应的处理;如果没有到20次,那又继续返回到主程序。我这里的定时计数器T0设置的是工作在方式1,为定时模式,其初始值为2^16-50000=15536=4cd0H。

图3-4 数码显示管和单片机借口的连接电路

(5)图3-4为数码管的借口电路,单片机的P0口接的是数码显示管的段选,P2口的低四位接的是数码显示管的位选,采用动态驱动的方式,中间调用一个

5

十几毫秒的延迟子程序来实现转换!

3.1.3 LED显示接口及原理

3.1.3.1 LED显示器十位与p0相连接,个位与p2连接用来显示时间。LED

显示器是由发光二极管构成的,它在单片机中的应用非常普遍。通常所说的LED显示器由7个发光二极管组成,其排列形状如图3—1所示。此外,显示器中还有一个圆点型发光二极管以dp表示,用于小数点表示。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LED显示中的发光二极管共有两种连接方法:

图 3—1 共阳极 符合与引脚

(1)共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮,在这次课程设计中用的为共阳极接法。

(2)共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地。这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。

3.1.3.2 控制数码管驱动级的控制电路有静态式和动态式两类: (1)静态驱动:它是指每个数码管都要用一个译码器译码驱动。

(2)动态驱动:它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,它的扫描速度极快,因此显示效果与静态驱动相同。

6

第4章 应用软件设计

4.1 软件方案设计

根据设计要求,软件要能按照设定的周期运行并且能对按键操作做出适时的反应处理。软件可由C语言完成,也可由会汇编语言完成,本课程设计采用C语言编写程序。软件设计分为以下几个功能模块: ? 主程序:初始化及按键功能监控。

? 计时程序模块:为定时器的中断服务子程序,完成0.1秒和1秒的时 间定时。

? 显示程序模块:完成12个发光二极管和2个LED数码管的显示驱动。

4.1 流程图

图4—1 程序流程图

(1) 程序开始时状态一为东西绿灯亮南北红灯亮,延时并倒计时;然后进入第二个状

7


单片机课程设计交通灯设计 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国鞋类行业市场前景分析预测报告(目录) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: