内容发布更新时间 : 2024/12/28 21:55:15星期一 下面是文章的全部内容请认真阅读。
2.1.6通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到
实践中去,提高我们的动脑和动手的能力。
2.1.7通过交通信号灯控制系统的设计,掌握定时计数器及中断的使用方法,
和简单程序的编写,最终提高我们的逻辑抽象能力。
2.2设计思路
东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表1: 车道\\时间 东西道 南北道 60s 绿灯 红灯 3s 黄灯 红灯 2s 红灯 红灯 35s 红灯 绿灯 3s 红灯 黄灯 表1 表1说明:(1)当东西道为绿灯,此道车辆通过,行人禁止通行。时间为60秒;南北方向为红灯,此道车辆禁止通行,南北道行人可通过。 (2)当东西方向为黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换;南北方向为红灯,此道车辆禁止通行,南北道行人可通过。 (3)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;当南北方向为红灯,此道车辆禁止通行,南北道行人可通过。 (4)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;东西道为绿灯,此道车辆通过,行人禁止通行。时间为35秒。 (5)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北方向为黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换。 (6)此表可根据车流量动态设定红绿灯初始值。
2.3设计原理
1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以,为东南西北走向。初始状态0为东西南北都红灯亮。然后转状态1东西红灯亮,南北绿灯亮通行。过一段时间后,转状态2,黄灯亮,东西红灯灭,南北绿灯灭。再转状态3,东西绿灯通车,南北红灯亮。过一段时间后转状态4,黄灯亮,东西绿灯灭南北红灯灭。一段时间后,又循环至状态1。中间可通过中断按钮产生中断,跳入中断程序执行中断。列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)
状态 北 绿黄红 0 1 2 3 4
2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机
010000010110010西 绿黄红 0 0 0 1 00010111000南 绿黄红 0 1 0 0 00010110010东 绿黄红 0 0 0 1 00010111000 内部的IO口上的P1口中的6个引脚即可来控制6个信号灯。
3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。
4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。
5、通过脉冲中断编写中断程序,可实现中断。
3系统硬件设计
选用设备:AT89C51单片机一片,74LS47芯片二片,电阻排RESPACK-7三个,共阴极的七段数码管7SEG-MPX2-CA两个,红、黄、绿交通灯各四个,开关键盘、连线、电阻、电容若干。 3.1、AT89C51芯片简介
AT89C51单片机内部结构
AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
MCS-51的引脚说明:
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个IO口,中断口线与P3口线复用
经综合对本系统的分析,选用AT89C51单片机就非常合适, AT89C51有P0,P1,P2,P3四个外部接口,介绍如下:
P0 口:P0口是一个8位漏极开路的双向IO口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入端用。 在访问外部数据存储器或程序存储器时,P0口被分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。
P1 口:P1 口是一个具有内部上拉电阻的8 位双向IO 口,P1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,因为内部存在上拉电阻,某个引
脚被外部信号拉低时会输出一个电流(IIL)。
此外,P1.0和P1.2分别作定时器计数器2的外部计数输入(P1.0T2)和时器计数器2的触发输入(P1.1T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。
P2 口:P2 是一个带有内部上拉电阻的8 位双向IO 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
P3 口:P3 口是一组带有内部上拉电阻的8 位双向IO 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流。
RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALEPROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的16输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EAVPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。 下图是MCS-51系列单片机的内部结构示意图1。
图1 单片机的复位及初始化如图2: 图2
3.2 74LS47芯片简介
74LS47的端子功能图如下图3: