C语言版交通灯课程设计(15页).doc
《C语言版交通灯课程设计(15页).doc》由会员分享,可在线阅读,更多相关《C语言版交通灯课程设计(15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C语言版交通灯课程设计-第 13 页微机控制课程设计报告 课程名称 基于C语言单片机交通灯 学生姓名 张 万 双 学号 51102022004 专业班级 电子信息科学与技术2班 指导老师 2013年12月5日 目录 一.前言.3 二.功能概述 .3 三.设计思路4 四.硬件介绍4 五.软件程序设计.9 六.电路图及仿真实现.12.14 .15.18 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控 制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往 作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构 软硬件结合,加以完善。 十字路口车
2、辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什 么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制 方式很多,在学习了单片机的有关知识之后,运用相关知识来设计完成交通信号灯。二功能概述 2.1 设计任务:交通灯的硬件和软件设计 2.2 设计目的 1.进一步熟悉和掌握单片机的结构和工作原理。 2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。 3.通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解 有关电路参数的计算方法。 4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 5.通过完成一个包括电路设计和程序开发的完整过程,为我
3、们今后从事相应 工作打下基础。 三设计思路 交通灯的变化规律 按照常规我们假设一个十字路口为东西南北走向。初始状态为状态 1,南北 方向绿灯通车,东西方向红灯。经过过一段时间(25S)转换状态 2,南北方向 绿灯闪几次转亮黄灯,延时 5S,东西方向仍然红灯。再转换到状态 3,东西方向 绿灯通车,南北方向红灯。过一段时间(25S)转换到状态 4,东西方向绿灯闪 几次转亮黄等,延时 5S,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。在这些状态下,有时钟倒数计时。四硬件介绍 基础知识 交通灯控制器实例主要使用了 89C51 单片机的定时器计数器,基础知识主 要包括交通灯的变化规律、定时器计数器的
4、概念、定时器计数器的相关寄存 器、定时器计数器的 4 种工作方式、以及定时器计数器的变成。 4.1 定时器/计数器 定时器计数器是单片机中最常用、最重要的功能模块之一,本节通过交通灯控 制器实例来演示定时器的使用,并复习如何使用散转程序。 首先介绍交通灯以及定时器计数器的基础知识,接着介绍本实例的硬件电路构 成,然后逐步分析定时器的变成以及程序的全貌,最后总结一下本实例的技巧与 注意点。4.2 定时器计数器的概念 89C51 单片机内有两个可编程的定时器计数器 T0、T1。 当定时器计数器用作“定时器”时,每经过 1 个机器周期(12 个时钟周期), 计数器加 1。 当定时器计数器用作“计数器
5、”时,计数器在对应的外部输入管脚(T0 为 P3.4 引脚,T1 为 P3.5 引脚)上每发生一次 1 到 0 的跳变时加 1。使用“计数器”功 能时,外部输入每个机器周期被采样一次。当某一周期管脚状态采样为高电平而 下一周期采样为低电平时,计数器加 1。由于检测下降沿跳变需要两个机器周期(24个时钟周期)的时间,所以技术频率最大值只能为时钟周期的 124。计数器对外部输入信号的占空比并无限制,但为了保证给定的电平信号在其改变之前 至少被采样一次,外部输入信号必须至少保持一个完整的机器周期。4.3 定时器计数器的相关寄存器 与定时器计数器相关的寄存器有定时器计数器工作方式寄存器(TMOD)、定
6、 时器计数器控制寄存器(TCON)。TCON 已经在 2.5 节受控输出实例中介绍过, 因此,在本例中主要介绍 TMOD 寄存器。 定时器计数器工作方式寄存器(TMOD),字节地址 89H,不可进行位寻址。定时器计数器工作方式寄存器(TMOD)的 8 位分为两组,高 4 位控制 T1,低 4 位控制 T0。TMOD 每一位的功能如下: GATE:门控位。 GATE0,仅由运行控制位 TRX(X0,1)1 来启动定时器计数器运行; GATE1,由运行控制位 TRX(X0,1)1 和外部中断引脚上的高电平共同来 启动定时器计数器运行。 CT:定时器模式和计数器模式选择位。 CT0,为定时器模式;
7、CT1,为计数器模式。 M1、M0:工作方式选择位。M1、M0 的 4 中编码对应 4 种工作方式,对应关系见 表 210。 4.5 定时器计数器的 4 种工作方式 定时器计数器的 4 种工作方式下的逻辑结构如表所示。M1M2工作方式00方式 0,为 13 位定时器/计数器 01方式 1,为 16 位定时器/计数器 1 0方式 2,为初值自动重装的 8 位定时器/计数器 1 1方式 3,仅 T0 有效,将 T0 分为两个 8 位定时器/计数器(1)方式 0。 定时器计数器的工作方式 0 称为 13 位定时器计数器的。它由 TLX 的低 5 位 和 TLX 的 8 位构成 13 位的计数器,此时
8、 TLX 的高 3 位未使用。改工作方式是为 了和 48 系列单片机兼容而设计的一种工作方式,一般情况不使用方式 0 进行定 时计数。方式 0 的控制方式与方式 1 完全相同,下面重点介绍方式 1 的控制方式。 (2)方式 1 定时器计数器的工作方式 1 称为 16 位定时器计数器。它由 TLX 和 THX 构成, TLX 计数溢出向 THX 进位,THX 计数溢出置位 TCON 中溢出标志位 TFX。 GATE 位的状态定时器计数器运行控制取决于 TRX 一个条件还是 TRX 和 INTX 引 脚这两个条件。当 GATE=0 时,则只要 TRX 被置为 1,定时器计数器即被允许 计数(定时器
9、计数器的计数控制仅由 TRX 的状态确定,TRX=1 计数,TRX=0 停 止计数)。当 GATE=1 时,定时器计数器是否计数由 INTX 输入的电平和 TRX 的 状态共同确定:当 TRX=1,且 INTX=1 时,才允许定时器计数器计数(定时器 计数器的计数控制由 TRX 和 INTX 两个条件控制)。 (3)方式 2 定时器计数器的工作方式 0 和方式 1 再计数溢出后,计数器的值为 0,需要通 过程序重新装入计数初值。 定时器计数器的工作方式 1 称为初值自动重装的 8 位定时器计数器。在该工 作方式下,TLX 作为计数器,当 TLX 计数溢出时,在置 1 溢出标志 TFX 的同时,
10、 还自动的将 THX 中的常数送至 TLX,使 TLX 从该常数开始重新计数。这种工作方 式可以省去用户软件中重装常数的程序,简化定时常数的计算方法(确定计数初 值),可以相当精确地确定定时时间。 (4)方式 3 工作方式 3 仅对定时器计数器 0 有效,在该工作方式之下,定时器计数器的 0 被拆成 2 个独立的定时器计数器:TL0、TF1。TL0 使用 T0 的状态控制 CT、 GATE、TR0、INT0,而 TH0 被固定位一个 8 位定时器(不能作外部计数方式),并 使用定时器计数器 1 的状态控制位 TR1、和 TF1,同时占用定时器 T1 的中断源。 此时,定时器计数器 1 可设定为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言版 交通灯 课程设计 15
限制150内