单片机模拟交通灯的设计_第1页
单片机模拟交通灯的设计_第2页
单片机模拟交通灯的设计_第3页
单片机模拟交通灯的设计_第4页
单片机模拟交通灯的设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机模拟交通灯的设计 2011 年 5 月 独 创 性 声 明 本人郑重声明:所呈交的毕业设计是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,设计中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在设计中作了明确的说明并表示了谢意。 签名: 年 月 日 授 权 声 明 本人完全了解许昌学院有关保留、使用本科生毕业 设计 的规定,即:有权保留并向国家有 关部门或机构送交毕业 设计 的复印件和磁盘,允许毕业 设计 被查阅和借阅。本人授权许昌学院可以将毕业 设计 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编 设计 。 本人设计中有原创性数据需要保密的部分为(如没有,请填写 无 ): 签名: 年 月 日 指导教师签名: 年 月 日 摘 要 本设计是依据数字集成电路、单片机技术为基础,采用 列单片机 码 显示电路 、 发光二极管指示电路组成交通灯硬件电路,利用单片机内部定时中断溢出产生 1s 实现倒计时 。 系统能够 完成 25s 倒计时显示,在倒计时到 5计时到 2s 时黄灯亮 。 关键词 : 单片机 ; 交通灯 is on ED of s 5s to s to to s. 目 录 1 绪论 . 1 究背景 . 1 片机的概述 . 1 片机的应用 . 2 片机的发展史 . 2 2 系统硬件设计 . 3 统原理 . 3 介绍 . 4 引脚说明 . 5 钟电路 . 7 位电路 . 7 片机的最小系统构成 . 8 405 电极开路六反相器 . 8 示电路 . 8 码显示器 . 9 3 系统软件设计 . 11 统整体程序流程图 . 11 置定时,显示初始化 . 11 理状态、倒计时显示 . 13 口红绿灯状态子程序 . 14 示子程序 . 14 4 系统仿真 . 16 真平台介绍 . 16 件介绍 . 16 真软件介绍 . 17 统硬件实现 . 19 统仿真及分析 . 19 5 总结 . 22 参考文献 . 23 附 录 . 24 致 谢 . 30 11 绪论 究背景 当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在 19 世纪就已出现了。 1858 年,在英国伦敦主要街头安装了以燃煤气为光源 的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。 1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。 1869 年 1 月 2 日,煤气灯爆炸,使警察受伤,遂被取消。 电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成, 1914 年始安装于纽约市 5 号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 1918 年,又出现了带控制的红绿灯和红外线红绿灯 。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。 交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 一般的交通灯系统采用固定周期换灯的控制方式,路口的交通灯大多只有红绿黄指示灯,行人在过路口时,会出现走到路中央绿灯跳变为红灯的情 况。为符合以人为本的设计理念 ,我们可在路口安装与信号灯同步的倒记时显示器,行人和自行车可根据绿灯结束的时间决定是否过路口。 设计中我们 用 片机的并行口接发光二极管,模拟交通灯的变化规律。 8 个数码管用来显示秒值,东、西、南、北各两个。 12 个发光二极管,东、西、南、北各三个,分为红、绿、黄三种颜色。 片机的概述 单片机指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括 随机存取存储器 2 只读存储器 基本输入 /输出( 口电路、定时器 /计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。 片机的应用 ( 1)智能仪器仪表 现代仪器仪表采用单片机,不仅提高了仪器仪表使用功能和精度,使仪器仪表智能化而且简化了其结构,减小了体积,降低了成本。 ( 2)工业控制 单片机还可以用于工业控制器对各种物理量的采集及控制。例如,电流、温度、电压、流量等等物理参数的采集和控制都 可以利用单片机实现,从而提高生产效率和产品质量。 ( 3)家用电器 现在家用电器都向智能化发展,单片机是家用电器智能化的大脑和心脏。例如洗衣机、空调、电冰箱、电视机等。 ( 4)信息和通信产品 信息和通信产品的自动化和智能化也离不开单片机的参与。典型产品如:打印机、传真机、考勤机、电话机等。 片机的发展 史 单片机技术的发展十分迅速,大致可分为 4 个阶段: 第一阶段( 1976 1978):低性能单片机的探索阶段。以 司的 代表,采用了单片结构,即在一块芯片内含有 8 位 时器 /计数 器、并行 I/O、 要用于工业领域。 第二阶段( 1978 1982):高性能单片机阶段。这一类单片机带有串行 I/O 口, 8 位数据线、 16 位地址线可以寻址的范围达到 64控制总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断地改进和发展。 第三阶段( 1982 1990): 16 位单片机阶段。 16 位单片机除 16 位外,片内 量进一步增大,实时处理能力更强,体现了微控制器的特征。 第四阶段( 1990 ):微控制器的全面发展的阶段。各公司的产品在尽量兼容的同时向高速 、强运算能力、寻址范围大以及小型廉价方面发展。 3 2 系统 硬件 设计 统 原理 本设计主要采用 片机为核心结合电源电路、时钟电路、复位电路构成单片机最小系统,并 与 外围倒计时显示电路和指示电路共同构成单片机模拟交通灯系统。其系统整体框图如下图 2示。 图 2系统整体框图 E A / V S E T 012I N T 11301P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E E / 89 C 5 1p p Y S T A L+ P A C I T O R P O S 2 Y L E D g n1234567 6D P Y _7 - S E Y L E D g n1234567 1D P Y _7 - S E Y L E D g n1234567 4D P Y _7 - S E Y L E D g n1234567 7D P Y _7 - S E Y L E D g n1234567 8D P Y _7 - S E Y L E D g n1234567 5D P Y _7 - S E Y L E D g n1234567 3D P Y _7 - S E Y L E D g n1234567 2D P Y _7 - S E 0l e d- r e 2l e d- ye l l 1l e d- gr e e 4l e d- gr e e 3l e d- r e 5l e d- ye l l 6l e d- r e 7l e d- gr e e 9l e d- r e 11l e d- ye l l 8l e d- ye l l 10l e d- gr e e 5 5 5 5 5 5V C . 1P 2. 2P 2. 3P 2. 1P 2. 2P 2. 3P 2. 4P 2. 5P 2. 6东西北南0001112223334445556660011223344556600011122233344455566600112233445566000111222333444555666001122334455660001112223334445556660011223344556600011122233344455566600113322554466图 2系统原理图 电源电路 时钟电路 复位电路 单片机指示电路 4 介绍 图 2单片机内部总体结构图 设计采用的是 司的 89 列单片 机的典型产品, 其主要结构 包含中央处理器、程序存储器 ( 、数据存储器 ( 、定时 /计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: ( 1)中央处理器 ( 中央处理器 ( 是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8位二进制数据或代码, 责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 ( 2) 内部数据存储器 内部数据存储器包括 128*8)和 址寄存器,用于存放可读 /写的数 据。实际其几个内部共有 256 个 元,但其中后 128 个单元为专用寄存器,能作为普通储器供用户使用的只是前 128 个单元。因此,通常所说的内部数据存储器是指前128 个单元,简称“内部 ( 3)内部程序存储器 内部程序存储器包括 4K*8)和程序地址寄存器等。 有 4膜于存放程序和原始数据,因此称之为程序存储器,简称“内部 ( 4)定时器 /计数器 由于控制应用的需要, 89部共有两个 16 位的定时器 /计数器,用定时器 /计数器0 和定时器 /计数器 1 表示, 用于实现定时或计数功能,并以其定时或计数结果对单片机进5 行控制。 ( 5)并行 I/O 口 89有 4 个 8 位 I/O 口 ( , 以实现数据的并行输入 /输出。 ( 6)串行口 89片机有一个全双工串行口,以实现单片机和其他数据设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。 ( 7)中断控制电路 89中断功能较强,以满足控制应用的需要。共有 5 个中断源,即外中断 2 个,定时 /计数中断 2 个,串行中断 1 个。全部中断分为高级和低级共两个优先 级别。 ( 8)时钟电路 89片内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。 引脚说明 图 2引脚图 按其功能可分为电源、时钟、控制和 I/O 接口四大部分: ( 1) 电源引脚 源端,接 +5V ; 地端。 ( 2)时钟引脚 当使用芯片内部时钟时, 于外接石英晶体谐振器和微调电容;当使用外部时钟时,用于接入外部时钟脉冲信号。 6 ( 3)控制引脚 位 /掉 电保护信号输入端 。 复位信号输入。 电后,此引脚 ( 可接备用电源,低功耗条件下保证内部 的数据。 地址锁存控制信号 /编程脉冲输入端 地址锁存允许。当单片机访问外部存储器时,该引脚的输出信号 于锁存 口的低 8 位地址。 出的频率为时钟振荡频率的 1/6。对 8751 单片机片内程时,编程脉冲由此引脚接入。 片外程序存储器读选通有效信号 取指令操作期间, 频率为振荡频率的 1/6; 但若此期间有访问外部数据存储器的操作时,则有一个机器周期中的 号将不会出现。 问程序存储器控制信号 /编程电源输入端 当 0 时 单片机只访问外部程序存储器。对于 8031 单片机此引脚必须接地。 1,单片机访问内部程序存储器。对于内部有程序存储器的 8片机,此 引脚应接高电平,但若地址超过 4围( 0单片机将自动访问外部程序存储器。在 8751 单片机片内 程期间,此引脚接入 21V 编程电源 ( 4) I/O 引脚 数据 /低 8 位地址复用总线端口。 静态通用端口。 高八位地址总线动态端口。 双功能静态端口,具有第二功能。 表 2线的第二功能说明 口线 第二功能信号 第二功能信号名称 行数据接收 行数据发送 部中断 0 申请 部中断 1 申请 0 定时器 /计数器 0 计数输入 1 定时器 /计数器 0 计数输入 R 外部 选通 D 外部 选通 7 钟电路 本设计采用 片机 的内部时钟方式, 在 脚上外接定时元件 , 内部振荡电路就产生自激振荡 。 定时元件通常石英晶体和电容组成的并联谐振回路 ,晶 体 振 荡器 选择 12电容采用 30 图 2时钟电路 位 电路 单片机复位是使 从这个状态开始工作,例如复位后 0000H, 使单片机从第 个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位,所以我们必须弄清楚 位电路和复位后状态。 单片机复位的条件是:必须使 即 24个振荡周期 )的高电平。例如,若时钟频率为 12机器周期为 1只需 2 本设计所用的复位电路如图2 +5图 2复位电路 00 片机的最小系统构成 单片机控制系统是由单片机和外围电路组成的,用最少的元件组成的单片机系统被称为单片机最小系统。即主要有电源电路、晶振电路、复位电路构成。 图 2单片机最小系统构成 405 电极开路六反相器 7045 为六路反相器其内部由 6 个与非门组成,在设计中 7405 反相器的输入端 与单片机 的 连,输出端与 负极 相连,以实现对不同的状态下的 例如 当单片机的 I/O 口输出高电平时,经过 7405 反相器输出低电平使该路的亮。 图 27405 一路反相 示电路 本设计中采用红、绿、黄三种颜色的 发光 二极管 各 4 个 通过 7405 反相器与单片机的的相应引脚相连,在不同状态下点亮不同的二极管 实现对道路的控制。 发光二极管是 半导体二极管的一种,可以把电能转化成光能 , 简写为 光二极管与普通二极管一样是由一个 组成,也具有单向导电性。当给发光二极管加上正向9 电压后,从 P 区注入到 N 区的空穴和由 N 区注入到 P 区的电子,在 附近数微米内分别与 N 区的电子和 P 区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。 图 2红、绿、蓝三种颜色的发光二极管 码显示器 光二极管)的缩写,发光二极管是能将电信号转换为光 信号的 发光器件。由条形发光二极管组成“ 8”字形的显示器,也 称 数码管。通过数码管中发光二级管的亮暗组合,可以显示多种数字、字母以及其他符号。 数码管在单片机应用系统中主要用于显示单片机的输出数据和状态等。 示器为发光二极管构成的显示器件。常用的 示器有两种供应状态,既共阴极 共阳极 图 2码管 结构图 10 码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据 码管的驱 动方式的不同,可以分为静态式和动态式两类。 静态显示驱动: 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的 I/行驱动,或者使用如 二 十进位器进行驱动。 动态显示驱动: 动态驱动是将所有数码管的 8 位段码 a,b,c,d,e,f,g,的同名端连在一起,另外为每个数码管的公共极 加位选通控制电路,位 选通由各自独立的 I/O 线控制,当单片机输出字形码时,所有数码管都接收到 相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位 选通 电路的控制,所以我们 只要将需要显示的数码管的选通控制打开 被选中的数码管就会显示字符 ,没有选通的数码管就不会亮。 在设计中我们采用静态显示方式,利用 8 个数码管每个方向各两个与 3 口相连用来显示倒计时的十位和个位。 11 3 系统 软件设计 统 整体 程序流程图 图 3系统整体 程序流程图 置定时,显示初始化 在单片机应用系统中,实现定时的方法一般有以下三种: ( 1) 软件定时:让计算机执行一 段程序来进行事 件延时。这 个程序段本身 没有安排其他的执行目的,只是利用该程序段 执行花费的一个固定时间。通过适当的选择指令和安排循环次数,可调节这段程序执行所需花费的 时间的长短。其特点是定时时间精确,不需外加硬件电路,但占用 间。因此软件定时的时间不宜过长。 ( 2) 硬件定时:利用硬件电路实现定时。其特点是不占用 间,通过改变电路元器件参数来 调 节定时,但使用不够灵活方便。对于时间较长的定时,常用硬件电路来实现。 ( 3) 可编程定时器:通过专用的定时计数器芯片来实现。其特点是通过对系统时钟设置定时,显示初始化 开始 处理状态、显示 时间到否? 处理下一状态 结束 是 否 12 脉冲进行计数实现定时,定时的时间可通过程 序的设定的方法改变,使 用灵活方便。也可实现对外部脉冲的计数功能。 当定时计数器设置为计数工作方式时,计数 器对来自输入引脚 外部信号计数,外部信号的下降沿将触发计数。最高检测频率为振荡频率的二十四分之一。计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。 当设置了定时器的工作方式并启动定时器工作后,定时器就 按照 设定的工作方式独立工作,不 再 占用 操作时间,只有在计数器计满溢出时才能中断 前的操作。 延时方法可以有两种,一种是利 用 部定时器 产 生溢出中断来确定 1 秒的时间,另一种是采用软延时的方法。 定时器工作时必须给计数器送计数器初值,这个值是送到 的。 它 是以加法记数的,并能从全 1 到全 0 时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为 C 和计数初值设定为 得到如下计算通式 : C ( 4 1) 式中, M 为计数器模值,该值和计数器工作方式有关。 在方 式 0 时 M 为 8196; 在方式 1时 M 的值为 65536;在方式 2 和 3 为 256。 T=( M * 或 计 数 ( 4 2) 是单片机时钟周期 12 倍; 定时初值 如单片机的主脉冲频率 12过 12 分频 方式 0 m a x 13 *T = 2 1 u s 8 . 1 9 2 m s ( 4 3) 方式 1 m a x 16T = 2 * 1 u s 6 5 . 5 3 6 m s ( 4 4) 我们在这里采用的是方式 1,则初始值 553665536256 65536256 ( 4 5) 显然 1 秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题 。 我们采用在主程序中设定一个初值为 1 的软件计数器和使 时 50 毫秒这样每当 50 毫秒时 响应它的溢出中断请求,进入他的中断服务子程序。在中断服 务子程序中, 使软件计数器加 1,然后判断它是否为 20。为 20 表示 1 秒已到可以返回到输出时间显示程序 。 设置定时程序: 13 01H ;置 作方式 1 3 ;置 时初值 50 0 ;启动 A 理状态、倒计时显示 图 3状态处理流程图 当处理到相应的状态时调用所对应的状态子程序和显示子程序来点亮该状态下的发光二极管来表示是否允许通 过并利用 码管显示倒计时间。通过比较 存器中的值来判断是否要进行下一个状态,当所有状态都已显示程序跳转到初始状态进行循环。 初始化后处理状态 1 的程序: 20 ;置 1s 计数初值 20 ;红灯亮 20s 25 ;计时显示初值 25s 东西方向绿灯亮开始 25初始化 是否 5s? 绿灯闪烁 黄灯亮 2s 是 否 转为南北方向的绿灯亮 14 ;调用状态 1 ;查询 50否 3 ;恢复 时初值 50 0 ;判断 1s 到否?未到继续状态 1 20 ;置 50数初值 ;显示时间减 1 ;调用显示子程序 口红绿灯状态子程序 通过设置各发光二极管所对应管脚的高低电平 来满足该状态下的显示效果,由于各发光二极管的正极接高电平、负极经 过 7405 反相器接单片机的引脚。 例如在状态 1 下东西方向的绿灯亮、南北方向的红灯亮,将单片机的 高电平经 7405 反相后为低电平来点亮与之相连的发光二极管。 状态 1 下的子程序: ;状态 1 ;东西路口绿灯亮 ;南北路口红灯亮 示子程序 时每 1 秒都要刷新 1 次,那么计时满 1 秒时就要将存储时间的计时寄存器 1,然后送入 示程序中显示。下面要将时间数据 十位,个位分开送显 口,首先将 以 10,整数即十位放在 A 中,余数即个位放在 B 中,15 设置 7 段 示数据的数据表,用数据指针寄存器 向数据表的首地址,再加上 A 中的偏移量,就可以指向十位数字,然后送显即可,个位显示同理。 显示子程序: A, ;取计时值作为被除数送入累加器 A B,#10 ;把 10 作为除数 ;两者相除,商存 A, 余数存 B ;取数据表的首地址 A,A+ ;显示十位 A,B A,A+ ;显示个位 36H,56H,67H,76 4 系统仿真 真平台介绍 件介绍 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论