专业课程设计方案报告_第1页
专业课程设计方案报告_第2页
专业课程设计方案报告_第3页
专业课程设计方案报告_第4页
专业课程设计方案报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1关键内容单片微型计算机(SingleChipMicrocomputer)简称单片机,又称微控制器(MicrocontrollerUnit)或嵌埋式控制器(EmbededController),是将计算机基础部件微型化,使之集成于一块芯片上微机。片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中止控制、系统时钟及系统总线等。单片机含有体积小、功耗低、功效强、性价比高、易于推广应用等显著优点。新型单片机可负担数据和数值分析、信号处理、机器人智能控制,和图象处理等复杂任务。现在,单片机已在自动化装置、智能化仪表、过程控制和家用电器等领域得到日益广泛应用。单片机交通灯系统研制,首先能够改善交通堵塞问题,疏导车流,提升道路利用率;其次能够节省交通警力,提升效率。2需求分析十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠就是交通信号灯自动指挥系统。交通信号灯控制方法很多,传统交通信号灯控制系统通常由数字电路组成,电路复杂,体积大成本高。采取单片机控制交通信号,不仅能够简化电路结构,降低成本,减小体积,而且依据主、支干道车流量发生改变实际情况,经过拨盘开关能够很方便地进行主、支干道通车时间设定。本设计是模拟交通灯控制系统设计一个交通灯控制电路,含有实用性强、操作简单特点。

3设计思想系统硬件设计部分采取AT89S52单片机为关键器件,加以复位电路,时序电路组成最小系统,并经过驱动电路、数码管及晶体管组成显示部分。红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示,红绿灯信号经过P0口输出,显示时间直接经过单片机P2口和选择端送至双位数码管,经过扫描程序实现东西和南北方向数据显示,同时能设置红、绿灯点亮时间。4实现方法交通控制系统关键控制A、B两车道交通,以AT89S52单片机为关键芯片,经过控制三色LED亮灭来控制各车道通行,采取0.5S延时子程序反复调用来实现多种定时时间。该电路含有电路简单,设计方便,显示亮度高,耗电较少,也很可靠等特点。总体设计框图图1所表示:图1硬件模块图整个过程步骤图图2所表示红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示。初始化初始化东西绿灯放行,东西绿灯放行,倒计时40-0秒南北红灯严禁,倒计时45-0秒倒计时倒计时5秒,东西黄灯闪烁,南北红灯严禁南北绿灯放行,南北绿灯放行,倒计时20-0秒东西红灯严禁,倒计时25-0秒倒计时倒计时5秒,南北黄灯闪烁,东西红灯严禁图2交通灯步骤图5芯片介绍图3单片机AT89S52AT89S52是51系列单片机一个型号,它是ATMEL企业生产。AT89S52是一个低电压,高性能CMOS8位单片机,片内含8kbytes可反复擦写Flash只读程序存放器和256bytes随机存取数据存放器(RAM),器件采取ATMEL企业高密度、非易失性存放技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存放单元,功效强大AT89S52单片机可为您提供很多较复杂系统控制应用场所。AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中止口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S52能够根据常规方法进行编程,但不能够在线编程(S系列才支持在线编程)。其将通用微处理器和Flash存放器结合在一起,尤其是可反复擦写Flash存放器可有效地降低开发成本。兼容MCS51指令系统·8k可反复擦写(>1000次)FlashROM·32个双向I/O口·256x8bit内部RAM ·3个16位可编程定时/计数器中止·时钟频率0-24MHz·2个串行中止·可编程UART串行通道·2个外部中止源·共6个中止源·2个读写中止口线·3级加密位·低功耗空闲和掉电模式·软件设置睡眠和唤醒功效AT89S52P为40脚双列直插封装8位通用微处理器,采取工业标准C51内核,在内部功效及管脚排布上和通用8xc52相同,其关键用于会聚调整时功效控制。功效包含对会聚主IC内部寄存器、数据RAM及外部接口等功效部件初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR接收解码及和主板CPU通信等。关键管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源正负端。P0~P3为可编程通用I/O脚,其功效用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功效控制端口,分别和N1对应功效管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功效端口,连接主板CPU对应功效端,用于目前制式检测及会聚调整状态进入控制功效。6实现过程1)晶振电路模块晶振电路由一个晶体振荡器12MHZ和两个30pF瓷片电容组成。用于产生单片机工作所需要时钟信号,而时序所研究是指令实施中各信号之间相互关系。单片机本身就如一个复杂同时时序电路,为了确保同时工作方法实现,电路应在唯一时钟信号控制下严格地工作。其电路图4所表示:图4晶振电路图2)复位电路模块复位电路是使单片机CPU或系统中其它部件处于某一确定初始状态,并以后状态开始工作,除了进入系统正常初始化之外,当因为程序运行犯错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位电路以重新开启。本设计采取是按键复位电路。其电路图5所表示:图5复位电路图3)主控制系统模块主控制器采取AT89S52,是ATMEL企业生产一款性能稳定8位单片机。AT89S52含有1个8KBFLASH程序存放器,1个512字节RAM,4个8位双向可位寻址I/O端口,3个16位定时/计数器及1个串行口和6个向量二级中止结构。单片机P0口分别用于控制南北及东西通行灯,P2口和P3^4-P3^7口用于4组2位LED计时器控制,其主控电路图6所表示:图6主控电路图4)交通灯输出控制模块道口交通灯指示采取高亮度红、黄、绿发光二极管进行提醒。其图图7所表示图7交通指示灯线路图当R=220欧时,按公式A=(5-1.8)/R计算,电路中电流大小应为A=14.545mA.因为每个路口通行双向指示处理相同,所以每个端口应含有3A吸收电流能力。5)时间显示电路模块双位7段LED发光数码管共有10个引脚,各管脚所对应数码管发光段图8所表示图8双位数码管引脚对应图道口通行剩下时间采取高亮红色7段LED发光数码管显示,采取共阳极数码管,如用单片机吸收电流驱动,列扫描驱动使用三极管,按每段6mA电流计算,全显示字形“8”时,每个数码需6mA*8=48mA,因为时间显示每个道口相同,共需要电流192mA,所以设计中也采取了中功率三极管8550.其显示电路图9所表示:数码管10号及5号管脚分别接三极管C端,其它管脚按图中次序依次接单片机P2.0-P2.7端口图9时间显示电路模块7调试电路调试是利用开发系统、基础测试仪器(万用表、示波器等),检验系统硬件中存在故障。其调试可分为静态调试和动态调试两步进行。静态调试静态调试是在系统未工作时一个硬件检测。第一步:目测。检验外部多种元件或是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问连接点,再检测多种电源和地线之间是否有短路现象。第三步:加电检测。给板加电,检测全部插座或是器件电源端是否符合要求值。第四步:是联机检验。因为只有用单片机开发系统才能完成对用户系统调试。动态调试动态调试是在系统工作情况下发觉和排除系统硬件中存在器件内部故障、器件连接逻辑错误等一个硬件检验。动态调试通常方法是由近及远、由分到合。由分到合是指首先按逻辑功效将系统硬件电路分为若干块,当调试电路时,和该元件无关器件全部从系统中去掉,这么能够将故障范围限定在某个局部电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功效及各电路间可能存在相互联络进行调试。由分到合调试既告完成。由近及远是将信号流经各器件根据距离单片机逻辑距离进行由近及分层,然后分层调试。调试时,仍采取去掉无关元件方法,逐层调试下去,就会定位故障元件了。软件调试软件调试是经过对拥护程序C编程、连接、实施发觉程序中存在语法错误和逻辑错误并加以排除纠正过程。运行程序后,编辑,查看程序是否有逻辑错误。调试过程中碰到问题1)在调试过程中出现数码管不亮情况,经过查询资料和问询同学,得出出现此种情况是因为单片机驱动电流太小,故增加三极管起到放大电流作用。2)数码管多个引脚经过跳线和单片机多个端口分别连接,要注意次序正确,且不一样跳线之间不能短接,不然会影响电路实现。3)经过数次测试和修正,最终实现了预期功效。8总结此次课程设计让我对以前学到理论知识得到了一次实际验证,对自己已经有知识有了更深入了解和认识,使我在单片机基础原理,单片机应用系统开发过程,和在常见编程设计思绪掌握上向前迈了一大步。在此,因为能力有限,在课程设计中碰到了很多难题,我经过查阅相关书籍,和同学相互交流探讨使问题得到了处理。经过这次单片机课程设计,我不仅加深了对单片机理论认识,还学会了培养自己创新精神,从而不停战胜自己,超越自己。9参考文件[1]何利民。MCS-51系列单片机应用统计。北京:北京航空航天大学出版社。1999、6[2]周坚,单片机C语言轻松入门。北京:北京航空航天大学出版社。、1[3]楼然苗,李光飞,单片机课程设计指导。北京:北京航空航天大学出版社。、1[4]杨居义。单片机课程设计指导。北京:清华大学出版社。附录#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint#definetime50000#defineon0#defineoff1sbitRED_ZHU=P0^0;//南北红灯sbitYELLOW_ZHU=P0^1;//南北黄灯sbitGREEN_ZHU=P0^2;//南北绿灯sbitRED_ZHI=P0^3;//东西红灯sbitYELLOW_ZHI=P0^4;//东西黄灯sbitGREEN_ZHI=P0^5;//东西绿灯sbitP23=P3^5;sbitP22=P3^4;//东西方向数码管位选sbitP21=P3^7;sbitP20=P3^6;//南北方向数码管位选sbitint0_key=P3^2;sbitint1_key=P3^3;voiddisplay1(uchar,uchar);voiddisplay2(uchar,uchar);voiddelayms(uintk);uchartemp1,temp2,temp3,temp4,temp5,temp6;/*===============倒计时=========================*/ucharN=50,Y=45,Z=50,M=75,G=80,U=80;ucharC50ms,t0;ucharseg=1;ucharflag=0,led_data_temp;voidInitialT1(void){ TMOD=0x10;//定时器0,1工作在方法1 TH1=(65536-time)/256;//相当于(65536-time)/256; TL1=(65536-time)%256;//初值为time(50ms) TR1=1;//开定时器1中止 ET1=1;//许可定时器1中止 ET0=1; TH0=(65536-time)/256; TL0=(65536-time)%256; EX0=1;//许可外部中止0 IE0=1;//开启外部中止0 PX0=1; EX1=1; IE1=1; EA=1;//开总中止}voidint0(void)interrupt0 //外中止0{ flag=0; led_data_temp=P0; t0=20; if(!int0_key) { delayms(10); if(!int0_key) { while(!int0_key); TH0=(65536-time)/256; TL0=(65536-time)%256; TR1=0; TR0=1; EX0=0; EX1=0; C50ms=0; } }}voidint1(void)interrupt2 //外部中止1{ t0=15; flag=1; led_data_temp=P0; if(((RED_ZHU==0)&&(GREEN_ZHI==0))||((YELLOW_ZHI==0)&&(RED_ZHU==0))) { P0=0xff; GREEN_ZHU=0; RED_ZHI=0; } else//if((RED_ZHI==0)&&(GREEN_ZHU==0)) { P0=0xff; GREEN_ZHI=0; RED_ZHU=0; } if(!int1_key) { delayms(10); if(!int1_key) { while(!int1_key); TH0=(65536-time)/256; TL0=(65536-time)%256; TR1=0; TR0=1; EX0=0; EX1=0; C50ms=0; } }}voidISRT0(void)interrupt1//定时器0中止服务子程序{ temp1=N,temp2=Y,temp3=Z,temp4=M,temp5=G,temp6=U; TH0=(65536-time)/256; TL0=(65536-time)%256;//重装初值time YELLOW_ZHU=1; //假如在黄5S时进行熄灭黄灯 YELLOW_ZHI=1; if(!flag) { P0=0xf6; } C50ms++; if(C50ms>19) { t0--; C50ms=0; } if(t0==0) { P0=led_data_temp; N=temp1,Y=temp2,Z=temp3,M=temp4,G=temp5,U=temp6; TR0=0;//严禁定时器1中止 TR1=1;//开定时器1中 EX1=1; //EX0=1; C50ms=0; return; }}voidISRT1(void)interrupt3//定时器1中止服务子程序{ TH1=(65536-time)/256; TL1=(65536-time)%256;//重装初值time C50ms++; if(C50ms>19) { N--; M--; Y--; Z--; G--; U--; C50ms=0; }}/*=================延时=======================*/voidDelay10uS(ucharsecond){ uinti; while((second--)!=0) { for(i=0;i<5;i++) {} }}voiddelayms(uintk){uinti,j;for(i=0;i<k;i++)for(j=0;j<120;j++);}/*==================数码管控制========================*/ucharcodediscode[]= {0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管0-9代码voiddisplay1(ucharnum1,ucharnum2)//控制南数码管显示{ P2=discode[num1];P21=on;Delay10uS(10);P21=off;//低位 P2=discode[num2];P20=on;Delay10uS(10);P20=off;//高位}voiddisplay2(ucharnum3,ucharnum4)//控制东西数码管显示{ P2=discode[num3];P23=on;Delay10uS(10);P23=off;//低位 P2=discode[num4];P22=on;Delay10uS(10);P22=off;//高位}/*===================主函数=================================*/main(){/*=============初始状态:东西南北全部红灯==================*/RED_ZHU=on;RED_ZHI=on; delayms(1000); RED_ZHU=off; RED_ZHI=off; InitialT1(); while(1) { //初始化计时器 /*=============状态1:南北绿灯(45s)东西红灯(40s)==================*//*=============状态2:南北黄灯(5s)东西红灯(5s)=================*/ RED_ZHI=on; GREEN_ZHU=on; while(N!=0) { if(TR0==1) { display2(t0/10,t0%10);//当t0=20时东西、南北红灯(20s) display1(t0/10,t0%10);//当t0=15时东西、南北红、绿灯交换点亮 } else { if(N==5) { while(Z!=0) { if(TR0==1) { display2(t0/10,t0%10); display1(t0/10,t0%10); } else { display1(N/10,N%10);//东西红灯(5s) display2(Z/10,Z%10);//南北黄灯(5s) GREEN_ZHU=off; YELLOW_ZHU=on; } } } else { display1(N/10,N%10);//东西红灯(45s) display2(Y/10,Y%10);//南北绿灯(40s

温馨提示

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

评论

0/150

提交评论