课程设计(论文)用单片机实现交通灯的简单控制.doc

上传人:文库蛋蛋多 文档编号:3993662 上传时间:2023-03-30 格式:DOC 页数:28 大小:587KB
返回 下载 相关 举报
课程设计(论文)用单片机实现交通灯的简单控制.doc_第1页
第1页 / 共28页
课程设计(论文)用单片机实现交通灯的简单控制.doc_第2页
第2页 / 共28页
课程设计(论文)用单片机实现交通灯的简单控制.doc_第3页
第3页 / 共28页
课程设计(论文)用单片机实现交通灯的简单控制.doc_第4页
第4页 / 共28页
课程设计(论文)用单片机实现交通灯的简单控制.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《课程设计(论文)用单片机实现交通灯的简单控制.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)用单片机实现交通灯的简单控制.doc(28页珍藏版)》请在三一办公上搜索。

1、广东石油化工学院课程设计说明书题 目 用单片机实现交通灯的简单控制班 级: 机电08-2班 姓 名: 学 号: 指导老师: 陈 英 俊 (讲师)完成时间 2011 年12月(第16、17、18周)广东石油化工学院课 程 设 计 任 务 书一、课程设计题目: 用单片机实现交通灯的简单控制二、课程设计时间: 第16、17、18周三、课程设计的要求1、设计说明书一份(8000字); 2、程序清单(有注释); 3、电路原理图(A3)。 四、课程设计的内容1. 单片机系统:单片机AT89S51的I/O口输出控制电平信号实现交通灯直行信号(不包括转弯信号)的控制。一共四个状态,将东西方向允许行车的情况作为

2、状态1,将东西方向行车到南北方向行车的转换阶段作为状态2,将南北方向允许行车的情况作为状态3,将南北方向行车到东西方向行车的转换阶段作为状态4。绿灯和红灯的维持时间为5s,黄色灯每隔300ms闪烁一次,维持时间1.8s; 2. 外围电路:单片机的八路P0口和二路P1口直接驱动发光二极管(LED),可串联保护电阻,包含红绿灯各4个,黄灯2个;3. C51程序:编写单片机控制LED的驱动程序(汇编语言),实现单片机的控制功能。五、课程设计进度安排第一周:指导教师讲解设计题目、设计思路和说明书格式;学生查阅资料,理解交通灯的控制流程和单片机驱动LED基本原理;第二周:硬件电路设计;程序框图;设计并调

3、试程序;第三周:整理设计说明书;答辩。六、成绩评定平时设计表现(含考勤、进度完成情况、独立解决问题的能力等)40%;答辩30%;设计说明书(含图)30%。七、参考文献:1.李朝青. 单片机原理及接口技术(第3版). 北京航空航天大学出版社, 20052.求是科技. 单片机典型模块设计实例导航. 人民邮电出版社, 20043.肖倩. 单片机入门与趣味实验设计, 北京航空航天大学出版社, 2007指导教师:陈英俊2011年12月摘 要I第一章 引言( 绪论)11.1交通灯的背景11.1.1交通灯的历史11.1.2交通灯的出现11.2单片机简介11.2.1单片机的发展历程11.2.2单片机的特点21

4、.2.3 AT89S51介绍21.2.4单片机AT89S51的内部结构图5第二章 单片机控制交通灯的总体设计62.1单片机交通控制系统通行方案设计62.2电路设计分析92.3程序设计分析92.3.1程序控制状态分析92.3.2程序延时时间的设计分析102.3.3交通灯控制电路图112.3.4程序流程图12第三章设计心得体会13参考文献14计算机编程程序15附件:用Keil编译程序17摘 要 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞

5、速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。本系统采用单片机AT89S51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时等功能,较好的模拟实现了十字路口可能出现的状况。软件上采用MCS51编程,主要编写了主程序

6、,LED数码管显示程序,中断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。关键词:电子线路 AT89S51 LED 交通灯第一章 引言( 绪论)1.1交通灯的背景1.1.1交通灯的历史19世纪初,在英国中部的约克城,红、绿装分别代表女性的不同身份。其中,着红装的女人表示我已结婚,而着绿装的女人则是未婚者。后来,英国伦敦议会大厦前经常发生马车轧人的事故,于是人们受到红绿装启发,1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯-煤气交通信号灯,这是城市街道的第一盏信号灯。在灯的脚下

7、,一名手持长杆的警察随心所欲地牵动皮带转换提灯的颜色。后来在信号灯的中心装上煤气灯罩 ,它的前面有两块红、绿玻璃交替遮挡。不幸的是只面世23天的煤气灯突然爆炸自灭,使一位正在值勤的警察也因此断送了性命。 从此,城市的交通信号灯被取缔了。直到1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是“电气信号灯”。稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。1.1.2交通灯的出现随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。 黄色信号

8、灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员。一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。他的建议立即得到有关方面的肯定。于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。1.2单片机简介1.2.1单片机的发展历程单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。

9、 在MCS-51系列单片机中,有两个子系列:51子系列和52子系列。每个子系列有诺干中型号。51系列有8051、8751和8031三个型号,后来经过改进产生了80c51、87c51、80c31三个型号;52系列有5021、8752、8032三个型号,改进后的型号是80c52/87c52、80c32。改进后的型号更加省电。52系列比对应的51系列增加了定时器T2并将内部程序存贮器增加到8KB。Inter公司停止生产MCS-51系列单片机之后将生产权转让给了许多其他公司,于是出现了许多与Mcs-51兼容的单片机。现在生产Mcs-51兼容单片机的公司对其进行了不同程度的改进和提高。我们现在使用比较的

10、多的是AT89C51/AT89s51等。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。1.2.2单片机的特点(1)性价比高,开发周期短,易于产品化,(2)集成度高,可靠性好,抗干扰性强,(3)功能完善,接口多样,(4)低功耗、低电压一般电源供电电压在53V范围内单片机都能正常工作,供电的下限可达12V。(5)总线

11、多样,易于扩展单片机外部的典型三总线结构,方便系统构扩展,构成各种规模的应用系统。外部总线增加了I2C及SPI等串行总线方式, 可根据需要进行并行或者串行扩展。1.2.3 AT89S51介绍(1)T89S51是一个低功耗,高性能CMOS8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。(2)

12、主要性能特点1、4k Bytes Flash片内程序存储器; 2、128 bytes的随机存取数据存储器(RAM); 3、32个外部双向输入/输出(I/O)口; 4、5个中断优先级、2层中断嵌套中断; 5、6个中断源; 6、2个16位可编程定时器/计数器; 7、2个全双工串行通信口; 8、看门狗(WDT)电路; 9、片内振荡器和时钟电路; 10、与MCS-51兼容; 11、全静态工作:0Hz-33MHz; 12、三级程序存储器保密锁定; 13、可编程串行通道; 14、低功耗的闲置和掉电模式。 (3)管脚说明VCC:电源电压输入端。 GND:电源地。 P0口:P0口为一个8位漏级开路双向I/O口

13、,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流

14、,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)

15、这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(T0定时器的外部计数输入) P3.5 T1(T1定时器的外部计数输入) P3.6 /WR(外部数据存储器的写选通) P3.7 /RD(外部数据存储器的读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只

16、有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。 RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁

17、止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:外部程序存储器访问允许。当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期

18、间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:片内振荡器反相放大器和时钟发生器的输入端。 XTAL2:片内振荡器反相放大器的输出端。1.2.4单片机AT89S51的内部结构图除去图中的存储电路和I/O部件,剩下的是CPU,它可以分为运算器和控制器两部分。运算器功能部件包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存寄存器TMP1、TMP2、程序状态字寄存器PSW等。控制器功能部件包括程序计数器PC、指令寄存器IR、指令译码器ID、定时控制逻辑电路CU、数据指针寄存器DPTR、堆栈指针SP及时钟电路等。图1-2第二章 单片机控制交通灯的总体设计2.1单片机交通控制系统通行方

19、案设计设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续5秒,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,即如图(图2-1)所示:直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:状态S1东西通行5S状态S2 东西绿灯转黄灯状态S3南北通行5S 东西禁止 状态S4南北转黄灯共四种状态,分别设定为S1、S2、S3、S42,交通灯以这四种状态为一个周期。循环执行如图2-1所示。图2-1 交通灯状态循环2.2电路设计分析电路设计中应有控制模

20、块(单片机电路)、显示模块(10个信号灯组成的电路)以及一些外围电路模块(如电源电路等)。本电路设计中,将以发光二极管来作为10个信号灯的材料。电源将采用5V直流电源。另外,将用单片机的P0端口的8个引脚分别控制东西方向和南北四个方向共8个红绿信号灯,有P1端口的P1.0和P1.1引脚来分别控制东西方向个南北方向的黄色信号灯。具体来说,P1.1控制东西方向的黄色灯Y1,P1.0引脚控制南北方向的黄色灯Y2;P0.7、P0.6、P0.5、P0.4四个引脚分别控制东西南北四个方向的红色灯R1、R2、R3、和R4,P0.3、P0.2、P0.1、P0.0四个引脚分别控制东西南北四个方向的绿色灯G1、G

21、2、G3和G4。各信号灯均是负极接单片机控制引脚,正极通过保护电阻接电源。这样,当单片机引脚输出一个低电平时,相应的控制信号灯就会被点亮。单片机电路中应包括复位电路和晶体振荡器。在本设计中,由于那个较为简单,因此,复位电路是采用简单的上电复位形式,而晶体振荡器则将采用12MHz的石英晶体振荡器。2.3程序设计分析2.3.1程序控制状态分析具体的程序控制状态如下:所谓初始状态,就是当开机时,使所有的信号灯均保持熄灭的状态(及P1和P0端口均输出高电平,P1和P0数据分别为03H和0FFH),可以定义此状态的维持时间为300ms。状态1,东西方向亮绿灯,南北方向亮红灯(及P1和P0输出数据分别为0

22、3H和0C3H),维持时间为5s。状态2,东西方向亮绿灯,南北方向亮红灯,而两黄色灯每隔300ms闪烁一次(即P0输出数据为0C3H,P1输出数据为00H和03H变化),维持时间为1s。 状态3,南北方向亮绿灯,东西方向亮红灯(即P1和P0输出数据分别为03H和3CH),维持时间为5s。状态4,南北方向亮绿灯,东西方向亮红灯,而两黄色灯每隔300ms闪烁一次(即P0输出数据为3CH,P1输出数据为00H和03H变化),维持时间为1.8s。表3.1交通灯控制状态与输出引脚数据表引脚状态P1.1P1.0P1数据P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0P0数据东西向黄Y1南北

23、向黄Y2东向红灯R1西向红灯R2南向红灯R3北向红灯R4东向绿灯G1西向绿灯G2南向绿灯G3北向绿灯G4初始态1103H111111110FFH状态11103H110011000C3H状态2黄亮0000H110011000C3H黄灭1103H110011000C3H状态31103H001100113CH状态4黄亮0000H001100113CH黄灭1103H001100113CH2.3.2程序延时时间的设计分析程序中用到的延时时间是用延时子程序来实现的。由于电路采用的石英晶体振荡器频率为12MHz,因此,程序中的1个机器周期就是1s。图为一个简单延时子程序延时时间的计算过程。机器周期个数MOV

24、 R4,#20 2个 2 D1:MOV R5,#248 2个 2 2+2248 DJNZ R5,$ 2个 2248 =498 DJNZ R4,D1 2个 220 20(498+2)+2 =10002机器周期 图3.2延时子程序延时时间的计算过程 图中#20等表示十进制数20,出了这种书写方式外,数据还可用#14H(十六进制数)和#00010100B(二进制数)等形式。但为了计算方便,常用十进制数形式。右图中的计算过程可知,此程序运行用的时间为10002*机器周期,即10002s,也就是越10ms。如果修改其中的R4、R5的数值,或者在其外围再添加计数的运算个数,那么延时时间将相应发生变化。 本

25、次设计中要用到的延时时间为300ms和5s。我们可以设计一个100ms的延时子程序,然后分别在其外围用3次和50次调用这个子程序,那么,就能得到300ms和5s的延时计数时间了。2.3.3交通灯控制电路图 AT89S51控制交通图2.3.4程序流程图第三章设计心得体会经过两周的努力,我们终于完成关于交通灯控制的课程设计,通过两周不断的查资料让我积累了许多实际经验。经过这次设计,我学会了许多东西,学会了严密的思考,构想及怎样把计划付诸于实际行动之中。同时与社会的不断高速发展的步伐相比,我认识到自己所学的知识和技能还远远不足,有些实际性的问题还不能够解决,缺少很多有实际运用价值的知识储备,缺乏应有

26、的动手解决实际问题的能力,缺乏些高效利用及筛选大量资料的能力,缺乏资源共享及应有的团队合作精神,有待进一步提高,我应当学好自己的专业知识以适应不断发展的社会。 在本次课程设计中,重新巩固了单片机理论课时,感觉到的内容很多,知识点很杂、很繁琐。通过自己的努力也更进一步掌握了单片机的内容构造和工作原理,以及接外部电路的情况。当然光有理论知识那只是“纸上谈兵”,还需实际动手去实践。真正把所学的用到日常生活中,理论联系实际。这次单片机课程设计,我们设计的是单片机实现交通灯的简单控制,通过这次课程设计我感觉到要想做成功,必须花时间多做准备,查阅大量资料,每个过程都很繁琐,都要认真地分析每一步每一个模块要

27、实现大的功能。在这次课程设计中,让我感到过程决定结果,细节觉得成败。过程很艰难,每个细节都要认真的分析。同时,我学会了如何有效的利用网络资源及图书馆的藏书,找到了几个很不错的专业网站,为以后的查阅专业方面的信息和相互之间的交流打下了坚实的基础,学会了如何看电路图,识别电路图,提高了自己的专业技能,同时也培养了自己独立解决实际问题的能力,也培养了自己认真和严谨的科学态度,收到了很大的启发,为以后的工作积累了些宝贵的经验。在这次课程设计中,经历了多次失败的洗礼,我明白在以后学习和实践中,我要努力掌握知识,多动手,多思考,以免在以后的学习工作中犯同样的错误。参考文献1.李朝青. 单片机原理及接口技术

28、(第3版). 北京航空航天大学出版社, 20052.求是科技. 单片机典型模块设计实例导航. 人民邮电出版社, 20043.肖倩. 单片机入门与趣味实验设计, 北京航空航天大学出版社, 2007计算机编程程序ORG 0000HLJMP STARTORG 0040HSTART: MOV P0,#03HMOV P1,#OFFHM1: MOV P0,#0C3H ;东西方向绿灯,南北方向红灯MOV P1,#03HMOV R2,#50 ;延时5SLCALL DELAYMOV R1,#03H ;闪烁次数设定M2: MOV P0,#0C3HMOV P1,#00HMOV R2,#03 ;延时300msLCAL

29、L DELAYMOV P0,#0C3HMOV P1,#03HMOV R2,#03 ;延时300msLCALL DELAYDJNZ R1,M2 ;闪烁次数没到就继续M3: MOV P0,#3CH ;南北方绿灯,东西方红灯MOV P1,#03HMOV R2,#50 ;延时5SLCALL DELAYMOV R1,#03H ;闪烁次数设定M4: MOV P0,#3CHMOV P1,#00HMOV R2,#03 ;延时300msLCALL DELAYMOV P0,#3CHMOV P1,#03HMOV R2,#03 ;延时300msLCALL DELAYDJNZ R1,M4 ;闪烁次数没到就继续SJMP

30、M1DELAY: MOV R3,#10 ;延时100ms D1: MOV R4,#20 ;延时10msD2: MOV R5,#248D3: DJNZ R5,D3DJNZ R4,D2DJNZ R3,D1DJNZ R2,DELAYRETEND附件:用Keil编译程序首先按照安装说明要求装KeilC51软件,必须是全英文路径,安装成功以后会在桌面生成一 图标,点击进入Keil Vision2程序,首次进入 Keil Vision2,的界面如下:1:建立工程单击Project-New Project选择要保存的路径和输入工程文件的名字test1,然后点击保存,然后弹出一个界面,要求选择目标CPU,在此

31、我们选择Atmel前面的“+”号,然后选择AT89S51,然后点确定按钮如图所示此时弹出一个询问是否添加startup.a51,点击否。此时,在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要为这个工程添加文件。2:源文件添加单击File-New,此时出现一个界面,光标在编辑口里闪烁,首先我们要保存该空白的文件,单击File-Save As,此时弹出一个界面,然后在此界面中输入文件名text1.asm并输入正确的文件扩展名,这里我们使用汇编语言编写程序,扩展名为

32、(.asm)然后点击保存按钮。这时回到编辑界面点击项目工作区“Target 1”前面的“”号,然后在“Source Group 1”上单击右键,选择“Add File to Group Source Group 1”在弹出的对话框中双击我们所保存的文件将文件加入到工程中,然后点击“Close”此时我们回到工作界面,在项目工作双击text1.asm进入源程序开始写入程序,如图所示3:工程设置点击工具栏上的图标,此时出现新的对话框,将Xtal(MHz)改为12.0点击Output按钮出现一个工作界面如下:然后单击Debug出现新的工作界面,设置如图所示然后点击Setting按钮,点击弹出对话框的Ok.4:编译和链接点击3个中得任何一个进行编译,结果如图所示:表明程序无错误。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号