单片机课程设计 十字路口交通灯模拟控制系统_第1页
单片机课程设计 十字路口交通灯模拟控制系统_第2页
单片机课程设计 十字路口交通灯模拟控制系统_第3页
单片机课程设计 十字路口交通灯模拟控制系统_第4页
单片机课程设计 十字路口交通灯模拟控制系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理及接口单片机原理及接口 课课程程设设计计报报告告 题 目 十字路口交通灯模拟控制系统 专业名称 通信 09 班 级 1 班 学 号 910705116 姓 名 简必建 2011 年 12 月 十字路口交通灯模拟控制系统 简必建 电子信息工程系 中文摘要 交通在人们的日常生活中占有重要的地位 随着人们社会活动的日益频繁 这点更是体现的淋漓尽致 交通信号灯的出现 使得交通得以有效管制 对于疏导交通流 量 提高道路通行能力 减少交通事故有明显效果 本系统采用单片机 89c51 为中心器件 来设计交通灯控制器 系统实用性强 操作简单 拓展性强 本系统就是采用单片机模拟 十字路口交通灯的状态显示以及倒计时 本设计系统由单片机 I O 口扩展系统 交通灯状态显示系统 LED 数码显示系统 等 几大部分组成 系统除基本的交通功能外还有倒计时功能 较好的模拟路口可能出现的状 况 软件上采用 C 语言编程 经过整机调试 实现了对十字路口交通灯的模拟 关键词 单片机 交通灯 闯红灯 检测车流量 二 功能概述二 功能概述 2 12 1 设计任务设计任务 交通灯的硬件和软件设计 2 22 2 设计目的设计目的 1 进一步熟悉和掌握单片机的结构和工作原理 2 掌握单片机的接口技术及相关外围芯片的外特性 控制方法 3 通过课程设计 掌握以单片机为核心的电路设计的基本方法和技术 了解有关电路参数 的计算方法 4 通过实际程序设计和调试 逐步掌握模块化程序设计方法和调试技术 5 通过完成一个包括电路设计和程序开发的完整过程 为我们今后从事相应工作打下基础 三 设计思路三 设计思路 交通灯的变化规律 按照常规我们假设一个十字路口为东西南北走向 初始状态为状态 1 南北方向绿灯通车 东西方向红灯 经过过一段时间 max 5 s 转换状态 2 南北方向绿灯闪几次转亮黄灯 延时 5S 东西方向仍然红灯 再转换到状态 3 东西方向绿灯通车 南北方向红灯 过一 段时间 25S 转换到状态 4 东西方向绿灯闪几次转亮黄等 延时 5S 南北方向仍然红 灯 最后循环至南北绿灯 东西红灯 在这些状态下 有时钟倒数计时 表一 交通灯变化流程 25S5S25S5S 东西道红灯亮红灯亮绿灯亮黄灯闪烁 南北道绿灯亮黄灯闪烁红灯亮红灯亮 四 硬件介绍四 硬件介绍 基础知识 交通灯控制器实例主要使用了 89C51 单片机的定时器 基础知识主要包括交通灯的变化规 律 定时器概念和工作方式 以及数码管的动态显示方式 4 14 1 定时器定时器 定时器是单片机中最常用 最重要的功能模块之一 本节通过交通灯控制器实例来演示定 时器的使用 首先介绍交通灯以及定时器 计数器的基础知识 接着介绍本实例的硬件电路构成 然后 逐步分析定时器的变成以及程序的全貌 最后总结一下本实例的技巧与注意点 4 24 2 定时器 计数器的概念定时器 计数器的概念 89C51 单片机内有两个可编程的定时器 计数器 T0 T1 当定时器 计数器用作 定时器 时 每经过 1 个机器周期 12 个时钟周期 计数器加 1 当定时器 计数器用作 计数器 时 计数器在对应的外部输入管脚 T0 为 P3 4 引脚 T1 为 P3 5 引脚 上每发生一次 1 到 0 的跳变时加 1 使用 计数器 功能时 外部输入每 个机器周期被采样一次 当某一周期管脚状态采样为高电平而下一周期采样为低电平时 计数器加 1 由于检测下降沿跳变需要两个机器周期 24 个时钟周期 的时间 所以技术 频率最大值只能为时钟周期的 1 24 计数器对外部输入信号的占空比并无限制 但为了 保证给定的电平信号在其改变之前至少被采样一次 外部输入信号必须至少保持一个完整 的机器周期 4 34 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 44 4 定时器 计数器的定时器 计数器的 4 4 种工作方式种工作方式 定时器 计数器的 4 种工作方式下的逻辑结构如表所示 表 2 定时器 计数器工作方式 M1M2工作方式 00方式 0 为 13 位定时器 计数器 01方式 1 为 16 位定时器 计数器 10方式 2 为初值自动重装的 8 位定时器 计数器 11方式 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 且 INTX 1 时 才允许定时器 计数器计数 定时器 计数器的计数控制由 TRX 和 INTX 两个条件控制 3 方式 2 定时器 计数器的工作方式 0 和方式 1 再计数溢出后 计数器的值为 0 需要通过程序重 新装入计数初值 定时器 计数器的工作方式 1 称为初值自动重装的 8 位定时器 计数器 在该工作方式下 TLX 作为计数器 当 TLX 计数溢出时 在置 1 溢出标志 TFX 的同时 还自动的将 THX 中的常数送至 TLX 使 TLX 从该常数开始重新计数 这种工作方式可以省去用户软件中 重装常数的程序 简化定时常数的计算方法 确定计数初值 可以相当精确地确定定时时 间 4 方式 3 工作方式 3 仅对定时器 计数器 0 有效 在该工作方式之下 定时器 计数器的 0 被拆成 2 个独立的定时器 计数器 TL0 TF1 TL0 使用 T0 的状态控制 C T GATE TR0 INT0 而 TH0 被固定位一个 8 位定时器 不能作外部计数方式 并使用定时器 计数器 1 的状态控制位 TR1 和 TF1 同时占用定时器 T1 的中断源 此 时 定时器 计数器 1 可设定为方式 0 方式 1 和方式 2 作为串行口的波特率发生器 4 54 5 定时器 计数器的编程定时器 计数器的编程 1 初始化 定时器 计数器的初始化编程包括以下几个部分 根据要求给定时器 计数器方式寄存器 TMOD 送一个方式控制字 以设定定时器 计 数器的工作方式 根据需要给 TH 和 TL 寄存器送初值 以确定需要的定时时间或计数的初值 根据需要给中断允许寄存器 IE 送中断控制字 以开放相应的中断和设定中断优先级 给 TCON 寄存器送命令字以启动或禁止定时 计数器的运行 2 定时器 计数器初值的计算 计数器初值 设计算器的模值位 M 所需的计数值为 C 计数初值设定为 TC 则 TC M C M 等于 2 的 13 次方 16 次方 8 次方 定时器初值 设定时器的模值为 M 需要的定时时间为 T 定时器的初值设定为 TC 则 TC M T t M 等于 2 的 13 次方 16 次方 8 次方 五 软件程序设计五 软件程序设计 交通灯控制器实例使用了 89C51 单片机的定时器 首先分定时器初始化 定时器中断服务 程序两个部分介绍定时器计数器的软件编程 其次在画出程序流程图的基础上编写软件程 序 并给出完整的交通灯控制器程序实例 5 15 1 定时器初始化定时器初始化 为了使定时器时间准确 避免因为定时器重装而引起的累计误差 应将定时器设置为初值 自动装置的 8 位定时器 计数器 即定时器工作在工作方式 2 在 12MHz 晶振条件下 8 位 定时器的最长定时时间是 0 256ms 为了方便计算取定时时间为 0 25ms 所以 定时 0 5s 需要定时器中断 2000 次 下面计算定时器的初值 定时器初值 TH0 65536 50000 256 TL0 65536 50000 256 5 25 2 定时器中断服务程序定时器中断服务程序 void time interrupt 1 TH0 65536 50000 256 TL0 65536 50000 256 i if i 10 i 0 num if num 2 max num 0 flag flag 每 0 5ms 定时器中断发生 num 1 程序跳转到中断服务程序 T0 INT 开始执行 中断服务 程序每次将定时器中断计数变量减 1 但定时器中断计数变量为 0 时 0 5s 定时时间到 将位变量 SECOND FLAG 置为 1 定时器中断服务程序通过 RETI 指令返回 程序将跳转到 进入中断前的断点继续执行 六 电路图及仿真设计六 电路图及仿真设计 6 1 手动调时 图 1 6 2 设计完成原理图如下 在电路连接完成后 将写好的程序放入单片机 运行 图 2 电路原理图 6 2 在初始状态南北绿灯 东西红灯 持续时间为 25s 图 3 初始状态 6 3 南北跳转到黄灯 5s 东西仍为红灯 图 4 转为状态 2 6 3 在南北转换为红灯的同时 东西灯转换到绿灯持续 25s 图 5 转为状态 3 6 4 东西转换为黄灯持续 5s 南北红灯不变 如此循环 从而实现交通灯的作用 图 6 状态 4 七 总结七 总结 本系统采用单片机 89c51 为中心器件来设计交通灯控制器 系统实用性强 操作简单 拓 展性强 本系统就是采用单片机模拟十字路口交通灯的状态显示以及倒计时 本设计系统由单片机 I O 口扩展系统 交通灯状态显示系统 LED 数码显示系统 等 几大部分组成 系统除基本的交通功能外还有倒计时功能 较好的模拟路口可能出现的状 况 软件上采用 C 语言编程 经过整机调试 实现了对十字路口交通灯的模拟 回顾起此次单片机课程设计 我仍感慨颇多 学到了很多的东西 同时不仅巩固了以 前所学过的知识 而且还学到了很多在书本上所没有学到过的知识 在实际设计中才发现 书本上理论性的东西与在实际运用中的还是有一定的出入的 所以有些问题不但要深入地 理解 而且要不断地更正以前的错误思维 一切问题必须要靠自己一点一滴的解决 而在 解决的过程当中你会发现自己在飞速的提升 对于单片机设计 其硬件电路是比较简单的 主要是解决程序设计中的问题 而程序设计是一个很灵活的东西 它反映了你解决问题的 逻辑思维和创新能力 它才是一个设计的灵魂所在 因此可以说单片机的设计是软件和硬 件的结合 二者是密不可分的 通过这次课程设计我发现单片机原理应用行很强 只有老师的讲解不行 只看也不中 只有自己动手去做才会发现自己确实有太多的不足 许多的原理 程序看似简单 真正去 做才知道知识并没有自己想象的那样扎实 从而懂得了理论与实际相结合是很重要的 只 有理论知识是远远不够的 只有把所学的理论知识与实践相结合起来 从理论中得出结论 才能真正为社会服务 从而提高自己的实际动手能力和独立思考的能力 树立了对自己工 作能力的信心 相信会对今后的学习工作生活有非常重要的影响 而且大大提高了动手的 能力 使我充分体会到了在创造过程中探索的艰难和成功时的喜悦 参考文献 参考文献 1 单片机的 C 语言应用程序设计 马忠梅 籍顺心 北京航空航天大学出版社 2007 2 51 单片机应用开发案例精选 王为青 邱文勋 人民邮电出版社 2007 3 51 系列单片机设计实例 楼然苗 李广飞 北京航空航天大学出版社 2003 4 单片机原理与接口技术 胡汉才 清华大学出版社 2006 5 单片机原理与应用 丁元杰 机械工业出版社 2007 附程序 include define uchar unsigned char define uint unsigned int sbit kai P3 0 sbit jia P3 1 sbit jian P3 2 bit guan 1 flag 0 ci 0 uchar code table 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 uchar i num uchar max 30 void delay uchar z uchar x y for x 0 x z x for y 0 y30 max 30 while add add bit P3 if bit P3 if bit P3 max if max 6 max 6 while sub sub bit P3 void main TMOD 0 x01 TH0 65536 50000 256 TL0 65536 50000 256 EA 1 while 1 key if guan ET0 1 TR0 1 if flag if num 2 max 5 P2 0 xde P0 0XF2 P1 table max num 2 10 delay 1 P1 0 xff P0 0 xf1 P1

温馨提示

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

评论

0/150

提交评论