2022年单片机交通灯课程方案设计书2.docx
精品学习资源课程设计课程名称: 交通信号灯设计学 院:专 业: 姓名: 学 号:年 级: 任课老师:2021 年 7 月 8 日欢迎下载精品学习资源目录一、摘要1二、任务分析与设计思路2三、总体设计3四、具体设计41、设计电路42、交通灯连接电路43、倒计时电路54、仿真电路及成效图65、元件清单76、软件框图87、程序及其清单9五、调试与运行11六、参考资料及参考文献11七、心得体会12欢迎下载精品学习资源一、摘要在日常生活中,交通灯作为治理交通、调协车辆的一个便利的手段,起着很大的作用;各种交通工具、行人都要依据交通灯的变化来打算是否前行,通行的时间的规定和谐了它们的步伐,极大的削减了由于交通纷乱引起的各种事故的发生;因此,一个完善的交通系统中,交通灯是必不行少的设备,一个完善的交通灯程序会更有效的治理当前道路中显现的实际情形,使车辆、行人的行进变得更顺畅、更和谐;信号灯的显现,使交通是得以有效管制,对于疏导交通流量、提高道路通行才能, 削减交通事故有明显成效;1986 年,联合国道路交通和道路标志信号协定对各种信号灯的含义做了规定;绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯;左右转弯的车辆都必需让合法的正在路口内行驶的车辆和过人行横道的行人优先通行;红灯是禁行信号,面对红灯的车辆必需在交叉路口的停车线后停车;黄灯是警告信号;近年来随着科技的进展,单片机的应用正在不断地走向深化;二、任务分析与设计思路1、任务分析:本次设计要求:运用所学单片机原理、模拟和数字电路等方面的学问,设计出一台交通信号灯,模拟路口交通信号;交通灯要求如下:1) 交通信号灯能够掌握东西、南北两个方向的交通,红绿黄灯用对应颜色的发光二极管代替;2) 用四个 2 位数码管分别显示东、南、西、北方向的通行时间,东西或南北通行时间为 25 秒,红绿灯切换中间黄灯闪耀 5 秒;目前,我们接触到的交通灯都位于十字路口,假设实际情形为东西南北走向的十字路口,如下图:欢迎下载精品学习资源东西南北各三盏灯,每三盏分别为红、黄、绿三种颜色,总共十二盏灯,而实际情形下,东西方向灯亮灭一样,南北方向灯亮灭一样,故只需要按东西为一组,南北为一组,两组交叉亮灭来设计掌握系统,即可达到交通灯系统的掌握目的;依据以上分析那么只需要掌握东南或者西北六盏灯亮灭规律就能实现控制,另外两组对应一样就行了;依据设计要求,要求东西或者南北通行25 秒, 红绿灯切换中间黄灯闪耀 5 秒;那么要求绿灯亮放行,放行线,绿灯连续亮(通行时间) 25 秒,黄灯亮(警告提示时间) 5 秒,红灯亮禁止通行,禁止线,为了简化设计,也为 25 秒;切换过程东西南北均为黄灯闪耀;2、设计思路基于完成以上任务分析,结合所学有关学问,特殊是本学期所学关于单片机的中断系统和定时 /计数器的相关学问及应用,我们知道对于红、绿、黄两组各三盏灯的掌握,可以通过把这六盏灯分别接到单片机的六个输出引脚,如用P1 口进行输出,就安排如下:AT89C51P 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5L1L2L3L4L5L6东西红 (东西黄)(东西绿)南北红 (南北黄)(南北绿)LED 显示分布欢迎下载精品学习资源通过对 P1 口 P0P5编程从而实现掌握;而时间的各盏灯的熄灭时间的延时情形,就用定时 /计数和中断结合应用实现掌握;而输出的时间显示就每个方向分别用两个发光二极管显示,十位接在P0口,个位接在 P2 口,对 P0 口 P2 口编程即可实现掌握;三、总体设计1、单片机内部资源分布图:2、硬件原理框图:时钟电路交通灯振路荡电LEDAT89C51数码上 电位 电复路管3、软件结构图:欢迎下载精品学习资源3、软件结构框图:主显示子程序调用实现功能模块程序4、软硬件分工硬件实现实物连接,软件与硬件连接相对应,通过编写程序,使硬件实现期望的功能;说的形象些,软件相当于其内在本质功能,而硬件是将该功能表现出来,让人们可见罢了;三、具体设计本设计使用的单片机为 AT89C51;AT89C51 是带有 4K 字节闪存的低电压高性能微处理器;其主要特性: 与 MCS-51 兼容 1、工作电压 5V 2、工作频率范畴: 024MHZ 3 、应用程序空间: 4K 字节 4 、RAM :256 字节 5 、4 个 8 位并行 I/O 接口 6 、2 个 16 位定时器 /计数器 7 、5 个中断源 8 、用单一 +5v 电源 9 、片内振荡器和时钟电路 10、低功耗的闲置和掉电模式1、设计电路:设计电路主要由两部分组成,一部分为P1 口与十二个发光二极管连接电路,另一部分是 P0、P2 口与八个七段显示器相连的电路,下面分别具体说明;2、交通灯电路:设计中采纳发光二极管作为交通灯来使用,单片机的I/O 接口直接和交通灯(发光二极管)连接;在十字路口的四组红、黄、绿三色交通灯中,东西方向 道路上的两组同色灯连接在一起,南北方向道路上的两组同色的灯也彼此连接 在,受单片机 P1.0P1.5掌握;单片机的 I/O 接口与交通灯电路的具体连接方式为: P1.0P1.2分别接东西方向的红、黄、绿共 6 个放光二极管, P1.3P1.5分别接南北方向的红、黄、绿共 6 个发光二极管; 12 个发光二极管采纳了共阳极的连接方式,因此 I/O 口输出低电平常,与之相连的发光二极管会亮,I/O 口输出高电平常,相应的发光二极管会灭;交通灯电路如下列图欢迎下载精品学习资源3、倒计时显示电路:该显示装置选用七段数码管来显示交通灯转换的剩余时间,依据掌握要求,每个路口需要两个数码管,这样四个路口就要求八个数码管;有序AT89C51 单片机的 I/O 作为输出时,具有较强吸取电流才能,因此我们可以选用共阳型数码管,这样由单片机的I/O 就可以直接驱动,从而简化硬件电路的设计;四个路口倒计时显示被置在同一时刻显示相同的数字,期中P0 口用来显示时间的十位, P2 口用来显示时间的个位;电路如下图所示欢迎下载精品学习资源4、仿真电路及成效图:(1) 仿真电路:(2) 仿真成效:欢迎下载精品学习资源5、元件清单:名称件数参数挑选理由电阻810K限流,以免烧坏数码管发光二极管123 色便于仿真显示AT89C5114K 闪存低电压,高性能八位微处理器欢迎下载精品学习资源七段显示数码管8常用数字显示,便于仿真开关3特殊情形使用欢迎下载精品学习资源6、软件框图( 1)主程序流程图:开头初始化,全部为黄灯并依据初始化运行东西红灯亮,南北绿灯亮调用显示程序,将时间送显示东西黄灯闪耀,南北黄灯烁调用显示程序,将时间送显示东西绿灯亮,南北红灯亮调用显示程序,将时间送显示东西黄灯闪耀,南北黄灯闪耀调用显示程序,将时间送显示欢迎下载精品学习资源( 2)显示子程序流程图:开头取倒计时数值提取倒计时数据的十位数猎取十位数字型码并送到P0 口提取倒计时数据的个位数猎取个位数字型码并送到P2 口调用延时子程序返回7、程序及注释主程序 :#include<reg52.h> #include<intrins.h> #include<absacc.h>欢迎下载精品学习资源#define uchar unsigned char sbit k1=P32; /按键sbit k2=P33;sbit k3=P34;sbit k4=P35;void displayuchar m,uchar f,uchar F1; void keyscan;uchar t,m,G1,g,o,f,M1,i,c,k1num,k2num;unsignedcharcode tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void Delayunsigned char aunsigned char ;i while-a.=0fori=0;i<125;i+ ;void init/初始化函数TMOD=0x01 ; /设定定时器 0 工作方式为 1 TH0=65536-46083/256; /高 8 位赋值TL0=65536-46083%256 ;/低 8 位赋值EA=1 ; /开总中断ET0=1 ;/开定时器 0 中断TR0=1 ;/启动定时器 0void maininit ;G1=20;g=10;o=5;M1=0 ;c=0 ;while1keyscan;void keyscan/ K1 键盘扫描函数ifk2=0Delay5;ifk2=0k2num+;欢迎下载精品学习资源while.k2;欢迎下载精品学习资源ifk2num.=0switchk2num case 1:P1=0xee; P2=0x00;TR0=0;break;欢迎下载精品学习资源欢迎下载精品学习资源case 2:TR0=1;欢迎下载精品学习资源k2num=0;break;elseifk1=0Delay5;ifk1=0k1num+;while.k1;ifk1num.=0欢迎下载精品学习资源switchk1num case 1: /南/北绿灯通行显示时间欢迎下载精品学习资源TR0=0; /答应计时器 T0 工作位, 0 停止工作,可以设置南北方向绿灯通行时间欢迎下载精品学习资源间Delay5;ifk4=0/ 可以设置南北方向绿灯通行时ifk4=0欢迎下载精品学习资源while.k4;g+;欢迎下载精品学习资源Delay5;ifk3=0欢迎下载精品学习资源ifk3=0while.k3;g-;欢迎下载精品学习资源P0=tabg%10;Delay5;P1=0xfd;P2=0x22;欢迎下载精品学习资源P2=0x1;1P0=tabg/10; Delay5; ;break;欢迎下载精品学习资源case 2:/东/Delay5;西绿灯通行时间ifk4=0欢迎下载精品学习资源ifk4=0while.k4;G1+;欢迎下载精品学习资源Delay5;ifk3=0欢迎下载精品学习资源ifk3=0while.k3;G1-;P1=0xdf;P2=0x88;P0=tabG1%10;Delay5;欢迎下载精品学习资源P2=0x44;P0=tabG1/10; Delay5;break;欢迎下载精品学习资源case 3:/可/Delay5;以设置黄灯时间ifk4=0欢迎下载精品学习资源ifk4=0while.k4;o+;欢迎下载精品学习资源Delay5;ifk3=0欢迎下载精品学习资源ifk3=0while.k3;o-;欢迎下载精品学习资源o=0; P1=0xbd;P0=tabo; Delay5;ifo=10P2=0x88;/黄灯显示时间欢迎下载精品学习资源欢迎下载精品学习资源case 4:;break;TR0=1;k1num=0;break;欢迎下载精品学习资源else displaym,f,M1;欢迎下载精品学习资源void exter interrupt 1TH0=65536-50000/256;TL0=65536-50000%256 ;t+;ift=20欢迎下载精品学习资源ifc=-1t=0;c-;c=g+G1+2*o;欢迎下载精品学习资源void displayuchar m,uchar f,uchar F1/东西灯南北灯/7 6 5 43 2 1 0/黄 绿 红黄 绿 红ifc>=0/绿灯计时到 0,黄灯闪耀 o 秒,红灯保持ifc>=oifc>=G1+o/ifc>=G1+2*om=c-G1-o;f=m-o;P1=0xed;/东西红灯 : 1110南北绿灯 : 1101 P2=0x22;/南北绿灯显示时间 P0=tabf%10;Delay5;P2=0x11;P0=tabf/10;Delay5;P2=0x88;/东西红灯显示时间 P0=tabm%10;Delay5;欢迎下载精品学习资源P2=0x44;P0=tabm/10;Delay5;else f=c-G1-o;P1=0xeb;/东西红灯 : 1110南北黄灯 : 1101 P2=0x22;/南北灯显示时间P0=tabf%10;Delay5;P2=0x11;P0=tabf/10;Delay5;P2=0x88;/东西灯显示时间P0=tabf%10;Delay5;P2=0x44;P0=tabf/10;Delay5;elsem=c-o;P1=0xde;/东西绿灯 : 1101南北红灯 : 1110 P2=0x22;/南北灯显示时间P0=tabc%10;Delay5;P2=0x11;P0=tabc/10;Delay5;P2=0x88;/东西灯显示时间P0=tabm%10;Delay5;P2=0x44;P0=tabm/10;Delay5;elseP1=0xbe; /东西黄灯 : 1011南北红灯 : 1110欢迎下载精品学习资源P2=0x22;/南北灯显示时间P0=tabc%10;Delay5;P2=0x11;P0=tabc/10;Delay5;P2=0x88;/东西灯显示时间P0=tabc%10;Delay5;P2=0x44;P0=tabc/10;Delay5;五、调试与运行1、依据硬件连接图,相应的, P1.0 接红灯 ,P1.1 接黄灯 ,P1.2 接绿灯 ,P1.3 接红灯,P1.4接黄灯,P1.5 接绿灯2、从 0100H 单元开头连续运行,观看六个LED 灯是否与交通显示情形对应, 假如有偏差,就单步运行或断点运行,进行调试,直至满意设计要求;3、调试完灯的显示后,从0100H 开头连续运行,观看数码管显示的是否正常,假如不正常,就运用单步运行或断点运行进行分析和调试,直至满意要 求;4、整体运行,观看灯显示和时间显示是否都符合要求,假如不符合,就再调试;直至满意要求;六、设计资料及参考文献1. 高惠芳单片机原理与应用技术科学出版社,2021.42. 胡汉才单片机原理及其接口技术清华高校出版社,20043. 吴飞青等单片机原理与应用实践指导机械工业出版社2021.24. Proteus 帮忙文档5. Keil C51 帮忙文档七、心得体会欢迎下载精品学习资源通过一个星期的交通灯课程设计,我对单片机相关学问有了更深的明白;对于管脚及相关的掌握寄存器,有了更进一步的巩固和明白,特殊是I/O口的有用及编程,相当于重新细细温习了一遍;特殊对protues软件画电路图及仿真的过程,我几乎是从零开头学习并使用的;说到这里,得感谢小组里同学们的指导,同时也幸好大家都很繁忙,让我有更多的独立探究学习和摸索的空间,将这些东西变成自己的;这次课程设计的任务是通过单片机的I/O口来掌握交通灯;主要完成两大项任务,第一就是硬件连接图;其次是编写相应的程序来实现硬件功能;看似简洁,实际上需要过硬的学问作为基础,平常看看书考试那样的过程,是难以完成这样的任务的;这次设计过程中,遇到了许多麻烦的问题,许多东西,动起手来束手无策,大多都只得先通过查阅资料或者参考别人做类似课题,才能自己动手设计 画图,编程调试;过程中仍错误不少,就这个程序吧,我写了改,改了写,花 了很长时间;仍有就是protues软件仿真原先及整个过程,虽然并不太难,但是我是通过这次才真正弄明白的;通过这次课程设计,关于单片机的学问深化 明白了更多,但更多是让我知道了学问的欠缺,许多环节,都渐渐翻书或者查 找资料才能完成;让我明白,在以后的学习中,应更注意学问的应用,更注意 实质的把握;当然这次课程设计,提高了学问的应用才能和和实践才能,同时提高了独立摸索独立完成任务的才能,当然同组之间,遇到了实在没方法解决的问题, 也相互的询问和争论,加强了大家的合作精神和团结才能;这对以后的学习和工作都有重要意义;欢迎下载