交通灯课程设计毕设论文

上传人:M****1 文档编号:487292690 上传时间:2024-02-09 格式:DOC 页数:20 大小:578.50KB
返回 下载 相关 举报
交通灯课程设计毕设论文_第1页
第1页 / 共20页
交通灯课程设计毕设论文_第2页
第2页 / 共20页
交通灯课程设计毕设论文_第3页
第3页 / 共20页
交通灯课程设计毕设论文_第4页
第4页 / 共20页
交通灯课程设计毕设论文_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《交通灯课程设计毕设论文》由会员分享,可在线阅读,更多相关《交通灯课程设计毕设论文(20页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计课 题 交通灯院 系: 工学院 专 业: 电子信息工程 姓 名: 吴亚明学 号: 10043121目 录任务书摘 要一、绪 论11.1 概述11.2 设计目的11.3 设计要求1二、总体设计22.1总框图22.2 电路图32.3 工作原理32.4 所用元件4三、各部分电路设计43.1芯片介绍43.2晶振电路63.3 复位电路73.4 显示电路83.5 数码管93.6 C语言程序10四、整体电路图15五、设计总结16六、致谢17参考文献24摘要 本设计是交通信号灯控制系统,随着社会的不断的进步,社会的不断发展。交通也日渐复杂,交通的自动化也不断更新,交通的一些指挥系统光靠人来完成是

2、远远不够的,这就需要设计各种交通指挥自动化系统来完成这些复杂的工作。从而使交通指挥系统更加有秩序,更加安全。至此本人设计了交通信号灯控制系统,来指挥十字路口车辆的停通,使红绿灯指挥系统实现自动化,无人化。该交通灯控制系统控制的是A和B两个方向上的车辆通行,系统共采用6个发光二极管来模拟各路交通信号灯,2个LED七段数码管以倒计时的方式显示各个方向上允许通行或禁止通行的信号灯剩余的时间。并能通过控制开关的关与断来控制A、B通道上的红绿灯亮的状态,从而可以应付各种特殊情况。、关键词: STC89C51 LED 交通灯 程序 一、 绪论 1.1概述近年来随着科技的飞速发展,单片机的应用正在不断地走向

3、深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 1.2设计目的 1 熟练掌握AT89C51开发板的使用方法和注意事项、keil软件编辑、Proteus等对电路的设计和仿真的操作方法及应用编程器烧操作方法 2 了解简单单片机应用系统的设计方法,进一步理解和消化书本知识,运用所学知识和技能进行简单的设计通过某一电路的综合设计,了解某一电路的

4、综合设计过程、设计 要求进而提高应用能力,分析问题和解决问题的能力 4 通过单片机的控制实现对二极管的控制来模拟交通灯控制系统,并利用开关来模拟几种特殊情况(如要求所述),巩固单片机知识培养查阅资料的习惯,训练和提高自学,独立思考的能力,帮助学生养成良好实验习惯 1.3设计要求: 利用STC89C51单片机为核心,制作一个单片机控制的交通灯控制系统:1、A道和B道上均有车辆要求通过时,A、道轮流放行。道放行分钟(调试时改为秒钟),道放行分钟(调试时改为秒钟);2、一道有车而另一道无车(实验时用开关K0和K1控制),交通灯控制系统立即让有车道放行;3、有紧急车辆要求通过时,系统要能禁止普通车辆通

5、行,A、B道均为红灯,紧急车由K2开关模拟; 4、绿灯转换为红灯时黄灯亮1秒钟。二、总体设计: 2.1 总框图:交通灯显示时间部分电源STC89C51时钟电路交通灯复位电路2.2电路图:图1 电路原理图2.3工作原理:通过输入的程序控制单片机端口高低电平从而实现对二极管的亮灭的控制,其中也有定时器和中断的综合应用,中断:当中断源发出中断请求时,如果允许的话,单片机暂时中止当时正在执行的主程序,转到中断服务处理程序处理中断服务请求,处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的程序;定时器则是相当精确的计时器。本设计使用的是定时器1,定时器T0是有特殊功能寄存器TH0

6、、TH1构成;通过工作方式寄存器TMOD选择定时器的工作方式,计算出初值并写入TH0、TH1,然后应用中断从而执行中断程序,首先要对IE赋值,开放中断,然后使TR0置位,启动定时器。2.4 所用元件: STC89C51单片机、IC底座 USB接口、八位共阳数码管、 复位开关、按钮开关、 红黄绿LED灯、排针、12MHZ晶振、 10uf电容、30pf电容、 4.7K电阻。三、各部分电路设计:3.1芯片介绍: STC89C51单片机引脚图如下: 图2 STC89C51引脚图 STC89C51单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能可分为如下3大类:1.电源引脚:电源引脚接入单片机

7、的工作电源。 (1)VCC(40脚):接+5V电源; (2)VSS(20脚):接地。2.时钟引脚:该引脚外接晶体引线端3.控制引脚:此类引脚提供控制信号,有的引脚还有复用功能: (1)RST(9脚):复位信号输入端,高电平有效。在此引脚加上持续时间大于2个机器周期的高电平,就可以是单片机复位。在单片机正常工作时,此引脚应为0.5V的低电平。 (2) /(31脚):为该引脚的第一功能,及外部程序存储器访问允许控制端。 当引脚接高电平时,在PC值不超出0FFFH时,单片机读片内程序存储器中的程序;当PC值超出时,将自动转向读取片外程序存储器空间中的程序。 当引脚接高电平时,只读取片外程序存储器空间

8、中的内容,读取的地址范围为0000HFFFFH,片内的4KB Flash程序存储器不起作用。 为该引脚的第二功能,即在对片内Flash进行编程时,引脚接入编程电压。 (3)ALE/(30脚)ALE为CPU访问外部程序存储器或外部数据存储器提供一个地址锁存信号,将低8位地址锁存在片外地址锁存器中。 为该引脚的第二功能,即在对片内Flash进行编程时,此引脚作为编程脉冲输入端。 (4)(29脚):片外程序存储器的读选通信号低电平有效。3.2晶振电路: 下图所示为时钟电路原理图,在AT89C51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTA

9、L1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。图3 晶振电路3.3复位电路:单片机复位的条件是:必须使RST(9脚)加上持续两个机器周(即24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。图4单片机复位电路3.4 显示电路:图5数码管显示电路 这是一个7位8段的共阳极数码管,把它的八个一脚按一定的顺序分别与单片机P0口的八个脚相连接,然后剩余两个口中的一个与+5v的电源相连接,根据单片机

10、中编写的相应程序可以控制数码管的显示情况,从而达到显示时间的目的。3.5数码管:图6数码管引脚图 led数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等.,led数码管根据LED的接法不同分为共阴和共阳两类,本实验用的是共阳极的数码管。了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共

11、阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。3.6 C语言程序:#include #define uchar unsigned char #define uint unsigned intvoid delay(uint z); uint num1,num2; uchar code table= 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F ;/*南北方向*sbit SN_G = P10;sbit SN_Y = P11;sbit SN_R = P12;/*东西方向*sbit EW_G = P13;sbit EW_Y = P

12、14;sbit EW_R = P15;/*控制开关*sbit SN_K = P30; /南北通行sbit EW_K = P31; /东西通行sbit STOP_K = P32; /全部都停char T0_50ms, T_LOOP, t_ew, t_sn;bit ew;/-void init() TMOD = 0x11; TH0 = (65536 - 50000) / 256; /50ms12MHz TL0 = (65536 - 50000) % 256; TR0 = 1; ET0 = 1; EA = 1; T_LOOP = 0; T0_50ms = 0; ew = 1;/-void E_W(v

13、oid) EW_G = 0; EW_Y = 1; EW_R = 1; SN_G = 1; SN_Y = 1; SN_R = 0;/-void S_N(void) EW_G = 1; EW_Y = 1; EW_R = 0; SN_G = 0; SN_Y = 1; SN_R = 1; /-void STOP(void) EW_G = 1; EW_Y = 1; EW_R = 0; SN_G = 1; SN_Y = 1; SN_R = 0; P0=0xFF;P2=0xFF;/-void main() init(); while(1) ;/-void T0_INT(void) interrupt 1 using 0 TL0 = (65536 - 50000) % 256;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号