C语言版交通灯课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机控制课程设计报告
课程名称基于C语言单片机交通灯
学生姓名张万双
学号51102022004
专业班级电子信息科学与技术2班
指导老师
2013年12月5日
目录
一.前言 (3)
二.功能概述 (3)
三.设计思路 (4)
四.硬件介绍 (4)
五.软件程序设计 (9)
六.电路图及仿真实现 (12)
七.总结 (14)
八.源程序 (15)
九.参考文献 (18)
一.前言
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多,在学习了单片机的有关知识之后,运用相关知识来设计完成交通信号灯。二.功能概述
2.1 设计任务:交通灯的硬件和软件设计
2.2 设计目的
1.进一步熟悉和掌握单片机的结构和工作原理。
2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
3.通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。
4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5.通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。
三.设计思路
交通灯的变化规律
按照常规我们假设一个十字路口为东西南北走向。初始状态为状态1,南北方向绿灯通车,东西方向红灯。经过过一段时间(25S)转换状态2,南北方向绿灯闪几次转亮黄灯,延时5S,东西方向仍然红灯。再转换到状态3,东西方向绿灯通车,南北方向红灯。过一段时间(25S)转换到状态4,东西方向绿灯闪几次转亮黄等,延时5S,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。在这些状态下,有时钟倒数计时。四.硬件介绍
基础知识
交通灯控制器实例主要使用了89C51 单片机的定时器/计数器,基础知识主要包括交通灯的变化规律、定时器/计数器的概念、定时器/计数器的相关寄存器、定时器/计数器的4 种工作方式、以及定时器/计数器的变成。
4.1 定时器/计数器
定时器/计数器是单片机中最常用、最重要的功能模块之一,本节通过交通灯控制器实例来演示定时器的使用,并复习如何使用散转程序。
首先介绍交通灯以及定时器/计数器的基础知识,接着介绍本实例的硬件电路构成,然后逐步分析定时器的变成以及程序的全貌,最后总结一下本实例的技巧与注意点。
4.2 定时器/计数器的概念
89C51 单片机内有两个可编程的定时器/计数器T0、T1。当定时器/计数器用作“定时器”时,每经过 1 个机器周期(12 个时钟周期),计数器加1。当定时器/计数器用作“计数器”时,计数器在对应的外部输入管脚(T0 为P3.4 引脚,T1 为P3.5 引脚)上每发生一次 1 到0 的跳变时加1。使用“计数器”功能时,外部输入每个机器周期被采样一次。当某一周期管脚状态采样为高电平而
下一周期采样为低电平时,计数器加1。由于检测下降沿跳变需要两个机器周期(24个时钟周期)的时间,所以技术频率最大值只能为时钟周期的1/24。计数器对外部输入信号的占空比并无限制,但为了保证给定的电平信号在其改变之前至少被采样一次,外部输入信号必须至少保持一个完整的机器周期。4.3 定时器/计数器的相关寄存器
与定时器/计数器相关的寄存器有定时器/计数器工作方式寄存器(TMOD)、定时器/计数器控制寄存器(TCON)。TCON 已经在 2.5 节受控输出实例中介绍过,因此,在本例中主要介绍TMOD 寄存器。定时器/计数器工作方式寄存器(TMOD),字节地址89H,不可进行位寻址。
定时器/计数器工作方式寄存器(TMOD)的8 位分为两组,高 4 位控制T1,低 4 位控制T0。TMOD 每一位的功能如下:GATE:门控位。
GATE=0,仅由运行控制位TRX(X=0,1)=1 来启动定时
器/计数器运行;
GATE=1,由运行控制位TRX(X=0,1)=1 和外部中断引
脚上的高电平共同来启动定时器/计数器运行。
C/T:定时器模式和计数器模式选择位。C/T=0,为定时器
模式;
C/T=1,为计数器模式。
M1、M0:工作方式选择位。M1、M0 的 4 中编码对应 4 种
工作方式,对应关系见表2-10。
4.5 定时器/计数器的 4 种工作方式
定时器/计数器的 4 种工作方式下的逻辑结构如表所示。
M1 M2 工作方式
0 0 方式0,为13 位定时
器/计数器
0 1 方式1,为16 位定时
器/计数器
1 0 方式2,为初值自动重装的8 位定时器/计数器
1 1
方式3,仅T0 有效,将T0 分为两个8 位定时器/计数器
(1)方式0。
定时器/计数器的工作方式0 称为13 位定时器/计数器的。它由TLX 的低 5 位和TLX 的8 位构成13 位的计数器,此时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,定时器/计数器即被允许计数(定时器/计数器的计数控制仅由TRX 的状态确定,TRX=1 计数,TRX=0 停止计数)。当GATE=1 时,定时器/计数器是否计数由INTX 输入的电平和TRX 的状态共同确定:当TRX=1,