您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于51单片机的课程设计及目录模板
课程设计说明书设计名称:题目:学生姓名:专业:班级:学号:指导教师:日期:年月日课程设计任务书专业年级班一、设计题目交通灯控制系统设计二、主要内容模仿十字路口交通灯功能,设计一个基于单片机的交通灯控制系统。要求东西方向,南北方向各自有红,黄,直行绿,转弯绿功能,有数码管倒计数功能。基本动作要求为红60秒,直行37秒,黄3秒(闪动),转弯绿17秒,黄3秒(闪动),理想设计是绿灯转黄灯前3秒绿灯闪动,利用按键可以修改不同方向绿灯工作时间,同时红灯时间按绿灯工作时间调整。可选做对紧急车辆用开关允许通行。三、具体要求1.了解硬件电路组成,以及各部分的作用。2.掌握交通灯的设计原理3.设计交通灯软件程序,画主程序,子程序流程图,编写程序清单。4.完成系统调试。5.撰写课程设计报告。四、进度安排1.每个同学根据实验题目,查找相应资料,并由组长组织分析任务要求,对任务进行分解,明确每个同学的具体任务。(半天)2.基本技能培训:安装实验板和下载线。(2天)3.按分工要求,分析电路结构,拟定电路连接方案,画出实现的软件框图,分头进行电路连接,软件编写。(2天)4.学会并熟练掌握在伟福和KeilC开发平台上,用汇编和C语言编程和调试,并写入CPU,进行实际调试。(2天半)5.编写不少于3000字的课程设计总结报告及提供程序清单(电子版)。(1天)6.总结与答辩。(1天)五、完成后应上交的材料1.课程设计说明书2.源程序清单(电子版)六、总评成绩指导教师签名日期年月日系主任审核日期年月摘要关键词:交通灯系统、单片机、LED显示在日常生活中,交通灯作为管理交通、调协车辆的一个便捷的手段,起着很大的作用。各种交通工具、行人都要根据交通灯的变化来决定是否前行,通行的时间的规定协调了它们的步伐,极大的减少了由于交通混乱引起的各种事故的发生。因此,一个完善的交通系统中,交通灯是必不可少的设备,一个完善的交通灯程序会更有效的管理当前道路中出现的实际情况,使车辆、行人的行进变得更顺畅、更和谐。信号灯的出现,使交通是得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1986年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义做了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯。左右转弯的车辆都必须让合法的正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号。近年来随着科技的发展,单片机的应用正在不断地走向深入。本系统是由单片机系统、键盘、LED显示、交通灯演示系统组成。最后系统要求实现交通灯的功能。目录一、任务分析与设计思路..............................................二、整体设计方案1、单片机的选择…………………………………………………………2、单片机的基本结构……………………………………………………三、数字钟的硬件设计1、总体电路设计…………………………………………………………2、单片机电路设计3、复位电路设计4、LED显示电路设计……………………………………………………5、键盘控制电路设计……………………………………………………6、其他各分部分电路设计7、元件清单...................................................................四、软件设计1系统软件设计流程图………………………2数字电子钟的原理图…………3主程序…………4时钟设置子程序…………………5定时器中断子程序…………………6LED显示子程序…………………7按键控制子程序…………8、其他部分软件设计。。。。。五系统仿真1、PROTUES软件介绍……………2、电子钟系统PROTUES仿真………六、调试与功能说明1、系统性能测试与功能说明…………………2、系统时钟误差分析………………………3、硬件调试………………………………4、软件调试问题及解决………七、心得体会……………………参考文献…………………………………………………………………一、任务分析与设计思路1.1、任务分析:本次设计要求:运用所学单片机原理、模拟和数字电路等方面的知识,设计出一台交通信号灯,模拟路口交通信号。交通灯要求如下:1)交通信号灯能够控制东西、南北两个方向的交通,红绿黄灯用对应颜色的发光二极管代替;2)用四个2位数码管分别显示东、南、西、北方向的通行时间,东西或南北通行时间为25秒,红绿灯切换中间黄灯闪烁5秒。目前,我们接触到的交通灯都位于十字路口,假设实际情况为东西南北走向的十字路口,如下图:东西南北各三盏灯,每三盏分别为红、黄、绿三种颜色,总共十二盏灯,而实际情况下,东西方向灯亮灭一致,南北方向灯亮灭一致,故只需要按东西为一组,南北为一组,两组交错亮灭来设计控制系统,即可达到交通灯系统的控制目的。根据以上分析那么只需要控制东南或者西北六盏灯亮灭规律就能实现控制,另外两组对应一致就行了。根据设计要求,要求东西或者南北通行25秒,红绿灯切换中间黄灯闪烁5秒。那么要求绿灯亮放行,放行线,绿灯持续亮(通行时间)25秒,黄灯亮(警告提醒时间)5秒,红灯亮禁止通行,禁止线,为了简化设计,也为25秒。切换过程东西南北均为黄灯闪烁。1.2、设计思路基于完成以上任务分析,结合所学有关知识,尤其是本学期所学关于单片机的中断系统和定时/计数器的相关知识及应用,我们知道对于红、绿、黄两组各三盏灯的控制,可以通过把这六盏灯分别接到单片机的六个输出引脚,若用P1口进行输出,则分配如下:通过对P1口P0~P5编程从而实现控制。而时间的各盏灯的熄灭时间的延时情况,则用定时/计数和中断结合应用实现控制。而输出的时间显示则每个方向分别用两个发光二极管显示,十位接在P0口,个位接在P2口,对P0口P2口编程即可实现控制。二、整体设计方案2.1、单片机的选择本设计使用的单片机为AT89C51。AT89C51P1.0P1.1P1.2P1.3P1.4P1.5L1L2L3L4L5L6(东西红)(东西黄)(东西绿)(南北红)(南北黄)(南北绿)LED显示分布·与MCS-51兼容·4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路2.2、单片机的基本结构三、数字钟的硬件设计3.1、总体电路设计设计电路主要由两部分组成,一部分为P1口与十二个发光二极管连接电路,另一部分是P0、P2口与八个七段显示器相连的电路,下面分别详细说明。3.2、单片机电路设计设计中采用发光二极管作为交通灯来使用,单片机的I/O接口直接和交通灯(发光二极管)连接。在十字路口的四组红、黄、绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色的灯也彼此连接在,受单片机P1.0~P1.5控制。单片机的I/O接口与交通灯电路的具体连接方式为:P1.0~P1.2分别接东西方向的红、黄、绿共6个放光二极管,P1.3~P1.5分别接南北方向的红、黄、绿共6个发光二极管。12个发光二极管采用了共阳极的连接方式,因此I/O口输出低电平时,与之相连的发光二极管会亮,I/O口输出高电平时,相应的发光二极管会灭。交通灯电路如图所示3.3、复位电路设计3.4、LED显示电路设计该显示装置选用七段数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要两个数码管,这样四个路口就要求八个数码管。有序AT89C51单片机的I/O作为输出时,具有较强吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。四个路口倒计时显示被置在同一时刻显示相同的数字,期中P0口用来显示时间的十位,P2口用来显示时间的个位。电路如下图所示3.5、键盘控制电路设计3.6、其他各分部分电路设计3.7、元件清单名称件数参数选择理由电阻810K限流,以免烧坏数码管发光二极管123色便于仿真显示AT89C5114K闪存低电压,高性能八位微处理器七段显示数码管8常用数字显示,便于仿真开关3特殊情况使用四、软件设计4.1系统软件设计流程图4.2数字电子钟的原理图开始初始化,全部为黄灯并按照初始化运行东西红灯亮,南北绿灯亮调用显示程序,将时间送显示东西黄灯闪烁,南北黄灯烁调用显示程序,将时间送显示东西绿灯亮,南北红灯亮调用显示程序,将时间送显示东西黄灯闪烁,南北黄灯闪烁调用显示程序,将时间送显示4.3主程序#includereg52.h#includeintrins.h#includeabsacc.h#defineucharunsignedcharsbitk1=P3^2;//按键sbitk2=P3^3;sbitk3=P3^4;sbitk4=P3^5;voiddisplay(ucharm,ucharf,ucharF1);voidkeyscan();uchart,m,G1,g,o,f,M1,i,c,k1num,k2num;unsignedcharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};voidmain(){init();G1=20;g=10;o=5;M1=0;c=0;while(1){keyscan();}}4.4数码管显示子程序voiddisplay(ucharm,ucharf,ucharF1){//东西灯南北灯//76543210//黄绿红黄绿红if(c=0)//绿灯计时到0,黄灯闪烁o秒,红灯保持{if(c=o){if(c=(G1+o))//{if(c=(G1+2*o)){m=c-G1-o;f=m-o;P1=0xed;//东西红灯:1110南北绿灯:1101P2=0x22;//南北绿灯显示时间P0=tab[f%10];Delay(5);P2=0x11;P0=tab[f/10];Delay(5);P2=0x88;//东西红灯显示时间P0=tab[m%10];Delay(5);P2=0x44;P0=tab[m/10];Delay(5);}else{f=c-G1-o;P1=0xeb;//东西红灯:1110南北黄灯:1101P2=0x22;//南北灯显示时间P0=tab[f%10];Delay(5);P2=0x11;P0=tab[f/10];Delay(5);P2=0x88;//东西灯显示时间P0=tab[f%10];Delay(5);P2=0x44;P0=tab[f/10];Delay(5);}}else{m=c-o;P1=0xde;//东西绿灯:1101南北红灯:1110P2=0x22;//南北灯显示时间P0=tab[c%10];Delay(5);P2=0x11;P0=tab[c/10];Delay(5);P2=0x88;//东西灯显示时间P0=tab[m%10];Delay(5);P2=0x44;P0=tab[m/10];Delay(5);}}else{P1=0xbe;//东西黄灯:1011南北红灯:1110P2=0x22;//南北灯显示时间P0=tab[c%10];Delay(5);P2=0x11;P0=tab[c/10];Delay(5);P2=0x88;//东西灯显示时间P0=tab[c%10];Delay(5);P2=0x44;P0=tab[c/10];Delay(5);}}4.5定时器中断子程序voidexter()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;t++;if(t==20){t=0;c--;}if(c==-1){c=g+G1+2*o;}}4.6按键控制子程序voidkeyscan()//K1键盘扫描函数{if(k2==0){Delay(5);if(k2==0)
本文标题:基于51单片机的课程设计及目录模板
链接地址:https://www.777doc.com/doc-5118556 .html