1、 单片机原理与接口技术课程设计 题目:交通灯控制系统 摘要 : 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动 传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片 机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体 硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出 现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事 故有明显效果。本系统采用单片机 AT89S51 为中心器件来设计交通灯控制器,系 统实用性强、操作简单、扩展性强。 课程设计题目:交通灯控制系统的控制 设计内容:设计一个能够控制十
2、二盏交通信号灯的模拟系统,利用单片机的 定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用 LED 灯显示倒计时间。 设计思路: 马路十字路口模型如图所示,在四个方向的路口各有一个红绿灯。 四个红绿 灯亮灭的变化规律是:东西方向绿灯亮,南北方向红灯亮;东西方向绿灯闪烁 3 次,南北方向依旧是红灯亮;东西方向黄灯亮,南北方向红灯亮;东西方向红灯 亮,南北方向绿灯亮;东西方向红灯亮,南北方向绿灯闪烁 3 次;东西方向红灯 亮,南北方向黄灯亮;东西方向绿灯亮,南北方向红灯亮,然后就按此顺序依次 循环下去。 列出交通信号灯的状态表如下: 引脚状态 南北方向 东西方向 绿 黄 红 绿 黄 红 状态 P2
3、.5 P2.4 P2.3 P2.2 P2.1 P2.0 1 0 0 1 1 0 0 2 0 0 1 1 0 0 0 0 1 0 0 0 3 0 0 1 0 1 0 4 1 0 0 0 0 1 5 1 0 0 0 0 1 0 0 0 0 0 1 6 0 1 0 0 0 1 说明:对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组 的信号灯的变化情况是相同的,所以只要用两组就行了,因此,采用单片机内部 的 I/O 口上的 P2 口中的 6 个引脚即可来控制 6 个信号灯。本设计利用红黄绿 3 种颜色的二极管来代替交通信号灯。其中,1 代表灯亮,0 代表灯灭。 主要硬件说明: VCC:
4、供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。 当 P0 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存 储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输 入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接 收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
5、在 FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收, 输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于 内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行 存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控
6、制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口, 可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89S51 的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通)