版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z课程设计报告2010—2011学年第2学期课程名称数字电路课程设计设计题目交通灯学生**何丹学号33专业班级电子0903班指导教师吴友宇一.前言…………3二.功能概述······……………3三.设计思路……………………3四.硬件介绍……………………4五.软件程序设计………………7六.电路图及仿真实现………·………………10七.总结…………11八.源程序………12参考文献…………14一.前言摘要近年来随着科技的飞速开展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件构造软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。则靠什么来实现这井然秩序呢.靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用单片机设计交通灯控制器,.关键词:单片机交通灯闯红灯检测车流量AbstractInrecentyears,withtherapiddevelopmentofscienceandtechnology,theapplicationofSCMisunceasinglythorough,itcausesthetraditionalcontroltesttechnologyincreasinglyupdates.Inreal-timedetectionandautomaticcontrolofmicroputerapplicationsystem,oftenasacoreponentsingle-chipmicrocontroller,onlytouseknowledgeisnotenough,shouldaccordingtospecifichardwarestructure,softwareandhardwarebinedwithimproved.Crossroadstransports,pedestrianroar,driveways,garage,orderlypedestrianhumanitarian.Sowhattoachievethisbyanorderlyorder?Leanisthetrafficlightsautomaticmandsystem.Thetrafficlightscontrolmanyways.ThesystemUSESthemicrocontrollertodesigningtrafficlightcontroller.keywordmicrocontrollerafficlightsjaywalktrafficvolume二.功能概述2.1设计任务:交通灯的硬件和软件设计2.2设计目的1.进一步熟悉和掌握单片机的构造和工作原理。2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3.通过课程设计,掌握以单片机为核心的电路设计的根本方法和技术,了解有关电路参数的计算方法。4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5.通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下根底。三.设计思路交通灯的变化规律按照常规我们假设一个十字路口为东西南北走向。初始状态为状态1,南北方向绿灯通车,东西方向红灯。经过过一段时间〔ma*-5〕s转换状态2,南北方向绿灯闪几次转亮黄灯,延时5S,东西方向仍然红灯。再转换到状态3,东西方向绿灯通车,南北方向红灯。过一段时间〔25S〕转换到状态4,东西方向绿灯闪几次转亮黄等,延时5S,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。在这些状态下,有时钟倒数计时。25S5S25S5S。。。东西道红灯亮红灯亮绿灯亮黄灯闪烁。。。南北道绿灯亮黄灯闪烁红灯亮红灯亮。。。四.硬件介绍根底知识交通灯控制器实例主要使用了89C51单片机的定时器,根底知识主要包括交通灯的变化规律、定时器概念和工作方式、以及数码管的动态显示方式。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,仅由运行控制位TR*〔*=0,1〕=1来启动定时器/计数器运行;GATE=1,由运行控制位TR*〔*=0,1〕=1和外部中断引脚上的高电平共同来启动定时器/计数器运行。C/T:定时器模式和计数器模式选择位。C/T=0,为定时器模式;C/T=1,为计数器模式。M1、M0:工作方式选择位。M1、M0的4中编码对应4种工作方式,对应关系见表2-10。4.5定时器/计数器的4种工作方式定时器/计数器的4种工作方式下的逻辑构造如表所示。M1M2工作方式00方式0,为13位定时器/计数器01方式1,为16位定时器/计数器10方式2,为初值自动重装的8位定时器/计数器11方式3,仅T0有效,将T0分为两个8位定时器/计数器〔1〕方式0。定时器/计数器的工作方式0称为13位定时器/计数器的。它由TL*的低5位和TL*的8位构成13位的计数器,此时TL*的高3位未使用。改工作方式是为了和48系列单片机兼容而设计的一种工作方式,一般情况不使用方式0进展定时/计数。方式0的控制方式与方式1完全一样,下面重点介绍方式1的控制方式。〔2〕方式1定时器/计数器的工作方式1称为16位定时器/计数器。它由TL*和TH*构成,TL*计数溢出向TH*进位,TH*计数溢出置位TCON中溢出标志位TF*。GATE位的状态定时器/计数器运行控制取决于TR*一个条件还是TR*和INT*引脚这两个条件。当GATE=0时,则只要TR*被置为1,定时器/计数器即被允许计数〔定时器/计数器的计数控制仅由TR*的状态确定,TR*=1计数,TR*=0停顿计数〕。当GATE=1时,定时器/计数器是否计数由INT*输入的电平和TR*的状态共同确定:当TR*=1,且INT*=1时,才允许定时器/计数器计数〔定时器/计数器的计数控制由TR*和INT*两个条件控制〕。〔3〕方式2定时器/计数器的工作方式0和方式1再计数溢出后,计数器的值为0,需要通过程序重新装入计数初值。定时器/计数器的工作方式1称为初值自动重装的8位定时器/计数器。在该工作方式下,TL*作为计数器,当TL*计数溢出时,在置1溢出标志TF*的同时,还自动的将TH*中的常数送至TL*,使TL*从该常数开场重新计数。这种工作方式可以省去用户软件中重装常数的程序,简化定时常数的计算方法〔确定计数初值〕,可以相当准确地确定定时时间。〔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.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.1定时器初始化为了使定时器时间准确,防止因为定时器重装而引起的累计误差,应将定时器设置为初值自动装置的8位定时器/计数器,即定时器工作在工作方式2.在12MHz晶振条件下,8位定时器的最长定时时间是0.256ms,为了方便计算取定时时间为0.25ms,所以,定时0.5s需要定时器中断2000次。下面计算定时器的初值。定时器初值TH0=(65536-50000)/256; TL0=(65536-50000)%256;5.2定时器中断效劳程序voidtime()interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; i++; if(i==10) { i=0; num++;if(num==2*ma*) { num=0; flag=~flag;} }}每0.5ms定时器中断发生,num+1,程序跳转到中断效劳程序T0-INT开场执行。中断效劳程序每次将定时器中断计数变量减1,但定时器中断计数变量为0时,0.5s定时时间到,将位变量SECOND-FLAG置为1.定时器中断效劳程序通过RETI指令返回,程序将跳转到进入中断前的断点继续执行。六.电路图及仿真设计6.1设计完成原理图如下在电路连接完成后,将写好的程序放入单片机,运行。6.2在初始状态南北绿灯,东西红灯,持续时间为25s6.3南北跳转到黄灯5s,东西仍为红灯在南北转换为红灯的同时,东西灯转换到绿灯持续25s;东西转换为黄灯持续5s,南北红灯不变;如此循环,从而实现交通灯的作用。七.总结回忆起此次单片机课程设计,我仍感慨颇多,学到了很多的东西。同时不仅稳固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于单片机设计,其硬件电路是比拟简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我发现单片机原理应用行很强,只有教师的讲解不行,只看也不中,只有自己动手去做才会发现自己确实有太多的缺乏,许多的原理,程序看似简单,真正去做才知道知识并没有自己想象的那样扎实。从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会效劳,从而提高自己的实际动手能力和独立思考的能力。树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的困难和成功时的喜悦。在设计完成之际再次衷心感谢李泉溪教师的指导!八.源程序*include<reg52.h>*defineucharunsignedchar*defineuintunsignedintsbitkai=P3^0;sbitjia=P3^1;sbitjian=P3^2;bitguan=1,flag=0,ci=0;ucharcodetable[]={0*c0,0*f9,0*a4,0*b0,0*99,0*92,0*82,0*f8,0*80,0*90};uchari,num;ucharma*=30;voiddelay(ucharz){ uchar*,y; for(*=0;*<z;*++) for(y=0;y<110;y++);}voidkey(){ while(!kai) { delay(10); if(!kai)guan=~guan; while(!kai); }}voidtiao(){ bitsub,add; if((bit)(P3&0*02)==0) { delay(5); if((bit)(P3&0*02)==0) { add=(bit)(P3&0*02); ma*++; if(ma*>30) ma*=30; while(!add) { add=(bit)(P3&0*02); } } } if((bit)(P3&0*04)==0) { delay(5); if((bit)(P3&0*04)==0) { sub=(bit)(P3&0*04); ma*--; if(ma*<6) ma*=6; while(!sub) { sub=(bit)(P3&0*04); } } }}voidmain(){ TMOD=0*01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; while(1) { key(); if(guan) { ET0=1; TR0=1; if(!flag) { if(num<2*(ma*-5)) { P2=0*de; P0=0*F2; P1=table[(ma*-num/2)/10]; delay(1); P1=0*ff; P0=0*f1; P1=table[(ma*-num/2)%10]; delay(1); P1=0*ff; } elseif(num<2*ma*) { if(num%2)P2=0*2e; elseP2=0*3e; P0=0*F2; P1=table[(ma*-num/2)/10]; delay(1); P1=0*ff; P0=0*F1; P1=table[(ma*-num/2)%10]; delay(1); P1=0*ff; } } if(flag) { if(num<2*(ma*-5)) { P2=0*f3; P0=0*F2; P1=table[(ma*-num/2)/10]; delay(1); P1=0*ff; P0=0*F1; P1=table[(ma*-num/2)%10]; delay(1); P1=0*ff;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 皮革皮具制品技术工艺手册
- 中药材种植加工项目可研报告
- 数字化车间升级改造项目可研报告
- 小型灾区救援探索机器人技术规范
- 工业废气治理改造项目可研报告
- 建筑电气临时用电施工方案
- 人音版小学一年级音乐上册全册教学课件
- 高标准农田建设项目土地复垦方案报告书
- PP T快速制作美化课件
- 2026舟山市第二人民医院公开招聘合同制工作人员2人笔试备考试题及答案详解
- 捡土豆装车合同协议书
- CNAS-CL08-A001:2018 司法鉴定法庭科学机构能力认可准则在电子数据鉴定领域的应用说明
- T-STXH 0011-2024 条子泥地区土壤有机碳库计量与碳汇效益评估技术规程
- 健康管理学郭姣
- 园区级源网荷储一体化项目规划方法及实施路径-202403-中国能建
- 2024年中级注册安全工程师《道路运输安全》
- 2024江苏省惠隆资产管理限公司招聘30人【重点基础提升】模拟试题(共500题)附带答案详解
- DL/T5315-2014水工混凝土建筑物修补加固技术规程(完整)
- 世界著名盐产地介绍
- zippo稀有品系列图鉴
- 《中国旅游文化》教案
评论
0/150
提交评论