单片机交通灯实训报告

时间:2024.4.1

通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。

1971年intel公司研制出世界上第一个4位的微处理器;Intel公司的霍夫研制成功世界上第一块4位微处理器芯片Intel 4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。因发明微处理器,霍夫被英国《经济学家》杂志列为“二战以来最有影响力的7位科学家”之一 。

  1971年11月,Intel推出MCS-4微型计算机系统(包括4001 ROM芯片、4002 RAM芯片、4003移位寄存器芯片和4004微处理器 )其中4004(下图)包含2300个晶体管,尺寸规格为3mm×4mm,计算性能远远超过当年的ENIAC,最初售价为200美元。

  1972年4月,霍夫等人开发出第一个8位微处理器Intel 8008。由于8008采用的是P沟道MOS微处理器,因此仍属第一代微处理器。

  1973年intel公司研制出8位的微处理器8080;1973年8月,霍夫等人研制出8位微处理器Intel 8080,以N沟道MOS电路取代了P沟道,第二代微处理器就此诞生。

  主频2MHz的8080芯片运算速度比8008快10倍,可存取64KB存储器,使用了基于6微米技术的6000个晶体管,处理速度为0.64MIPS(Million Instructions Per Second )。

  1975年4月,MITS发布第一个通用型Altair 8800,售价375美元,带有1KB存储器。这是世界上第一台微型计算机。

  1976年intel公司研制出MCS-48系列8位的单片机,这也是单片机的问世。

  Zilog公司于1976年开发的Z80微处理器,广泛用于微型计算机和工业自动控制设备。当时,Zilog、Motorola和Intel在微处理器领域三足鼎立。

20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了MCS-51系列8位高档单片机。MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很大的提高。

单片机的应用领域:

    目前单片机渗透到我们生活的各个领域,几 乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿 车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用 与智能化控制的科学家、工程师。

    单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:

1.在智能仪器仪表上的应用

单片机具有体积 小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪 器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。 例如精密的测量设备(功率计,示波器,各种分析仪)。

2.在工业控制中的应用

用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控 制、各种报警系统,与计算机联网构成二级控制系统等。

3.在家用电器中的应用

可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、 其他音响视频器材、再到电子秤量设备,五花八门,无所不在。

4.在计算机网络和通信领域中的应用

现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用 提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从 手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

5.单片机在医用设备领域中的应用

单片机在医用设备中的用途亦相当广泛,例 如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。

6.在各种大型电器中的模块化应用


某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。
在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。


此外,单片机在工商,金融,科研、教 育,国防航空航天等领域都有着十分广泛的用途。

单片机应用的意义不仅在于它的广阔范围及所带来的经济效益,更重要的意义在于,单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。以前自动控制中的PID调节,现在可以用单片机实现具有智能化的数字计算控制、模糊控制和自适应控制。这种以软件取代硬件并能提高系统性能的控制技术称为微控技术。随着单片机应用的推广,微控制技术将不断发展完善。

单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善:
1、单片机集成越来越多资源,内部存储资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时系统也更加稳定,目前该方向即是发展为SOC(片上系统)。
2、单片机抗干扰能力加强,使的它更加适合工业控制领域,具有更加广阔的市场前景。
3、单片机提供在线编程能力,加速了产品的开发进程,为企业产品上市赢得宝贵时间。

四:心得体会

通过这次交通灯的课程设计,使我得到了一次用专业知识、专业技能分析和解决现实问题的能力。使我在单片机的基本原理、单片机应用学习过程中,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为一名合格的应用型人才打下良好的基础。综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更深层次的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流得到解决。

还有交通灯是我们生活中非常常见的一种东西,对于我们学以致用的这种能力得到了很好锻炼,能够为我们以后的工作于学习打下基础。

通过合作,我们的合作意识得到加强。合作能力得到提高。上大学后,很多同学都没有过深入的交流,在设计的过程中,我们用了分工与合作的方式,每个人互责一定的部分,同时在一定的阶段共同讨论,以解决分工中个人不能解决的问题,在交流中大家积极发言,和提出意见,同时我们还向别的同学请教。在此过程中,每个人都想自己的方案得到实现,积极向同学说明自己的想法。能过比较选出最好的方案。在这过程也提高了我们的表过能力。

     在设计的过程中我们还得到了老师的帮助与意见。在学习的过程中,不是每一个问题都能自己解决,向老师请教或向同学讨论是一个很好的方法.

本次实训完成得还算顺利。从翻看书籍、上网查资料,收集相关资料,自己尝试着用Proteus画出硬件,用Keil编写程序,电路焊接,到用伟福进行测试仿真,虽然在这过程中遇到了许多问题,但是在同学的帮助,大家的讨论下还是按时完成了任务。

刚开始编写程序时,我根据书上的内容和自己的理解试着编写,但总是在出错,后来在同学的指点下,终于把程序写出来了,并经过Keil编译,在Proteus仿真通过了。后来,在焊接中,由于电烙铁不够热,一不小心就把两条相邻的线焊在一起了,结果在硬件测试时,发现显示器A和B端、D和E端粘在一起,经过修改,最终通过了硬件测试。但是又在仿真时,发现显示器不够亮,后来经多次检查才发现原来是软件部分少了一条返回指令,经修改,显示器总算能正常显示示数了。之后的仿真烧录过程完成得比较顺利。

在本次实训中,我受益匪浅,在这不断的发现问题,解决问题中,我对单片机这门课程有了更深入的了解,也在这过程中,提高了自己的动手能力。

做了几周的课程设计,让人感受颇深,有关于单片机知识的,但更多是团队和合作。

我们小组一共6个人,人多,分工就显得很重要,在我们的集体的讨论之下,我得到了设计硬件电路和总体调试的任务,当时让我感到很有压力。因为我们平时接触的都是纯粹理论的东西,做实验也是雾里看花,对硬件的认识是很缺乏的。

一回来我就去图书馆查阅的大量的单片机和数字芯片的资料,由于资料比较分散,所以整理有用的资料就显得很重要,有些东西实在是不懂我就把资料带回来请教同学,让我受益匪浅。然后在硬件电路的设计中,由于要涉及软件设计的具体情况,又和组员共同讨论,最终确定了一个大家都可以接受的方案。当时感觉这下任务该完成了,没有想到的是在实际的调试中更是遇到了太多的麻烦。

我们拿着设计好的电路接线图和设计的程序去实验室调试,第一次就给了我们致命的打击,设计的功能仅仅实现了一个,只有红绿灯变化正常,倒计时也显示不出来,紧急功能也不能很好的返回。

虽然我们没有完全成功,但是我们已经努力了,所以我们很高兴。

很感谢学校和老师给我们安排了这次课程设计,让我真正感受到的是合作的重要,许多时候都是组员的讨论,老师的指导中的一句半句启发了我,就出现的让人欣喜的结果;理论知识同样很重要,有些问题都是由于基础知识掌握不好才出现的。

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

通过这几天的单片机的实训,我在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。通过实训,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,并且可以在今后的日常生活中灵活运用。


第二篇:单片机交通灯实训报告完整版


    

课题名称       智能交通信号灯     

                               

                               

                               

                               

                           

指导教师                           

完成日期                           

智能交通信号灯

摘要

本设计是在熟练掌握单片机及其仿真系统使用方法基础上,综合应用单片机原理、微机原理等课程方面的知识,设计一个采用AT89C52单片机控制的交通灯控制电路。该设计结合实际情况给出了一种简单低成本城市交通灯控制系统的硬件及软件设计方案、各个路口交通灯的状态循环显示,并对程序流程图进行详细讲解分析。交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。根据给出的要求设计交通灯东西、南北两干道交于一个十字路口各干道有一组红、黄、绿三色的指示灯指挥车辆和行人安全通行。红灯亮禁止通行绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换且黄灯亮的时间为东西、南北两干道的公共停车时间。

关键词:电子线路 ;AT89C52 ; LED 交通灯。

 

目录

一、绪论... 4

二、总体设计方案... 4

1.设计思路... 4

2.设计目的... 5

3.设计任务和内容... 5

(1)设计任务... 5

4.电源提供方案... 5

5.复位方案... 5

6.输入方案... 5

三、显示界面方案... 6

四、交通管理的方案论证... 6

五、芯片简介... 6

1.AT89S52单片机简介... 6

2.主要性能... 6

3.功能特性描述... 6

六、设计原理分析... 6

1.交通灯显示时序的理论分析与计算... 6

2.交通灯显示时间的理论分析与计算... 6

七、LED数码管显示模块... 6

1.静态显示方式... 6

八、复位电路... 6

九、晶振电路... 6

十、总结与谢词... 6

十一、参考文献... 6

十二、附录... 6

附录1:程序清单... 6

附录2:电路设计图... 6

一、绪论

当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。

电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。

1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。

信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。

二、总体设计方案

1.设计思路

以单片机为核心器件,对系统进行控制,外加辅助电路对系统参数进行必要的设置和显示。交通信号灯的显示时间可以固定,也可用键盘重新设置,时间控制和LED显示均由单片机进行控制。交通信号灯控制系统主要可以分为定时、红绿灯转换、倒计时显示等三个控制模块,单片机作为系统的控制单元,在系统中的作用主要有以下几个方面:

(1)利用单片机中的定时器循环出一秒时间,然后将它累计到处于活动状态的寄存器中。寄存器里的计数是递减的,一秒时间到则减1,直到计数为0,说明定时时间到。

(2)定时时间到后,单片机将对寄存器地址进行判断,不同的寄存器对应不同的红绿灯显示。

(3)每次一秒时间到,寄存器自减1后,还要将寄存器中的值,也就是剩余的秒数反映到LED显示器上,构成倒计时显示。

(4)扫描键盘上的数值,并将它反映到特定的寄存器里,根据寄存器的存储值对定时程序进行重新置数操作

2.设计目的

(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。

(2)用单片机模拟实现具体应用,使个人设计能够真正使用。

(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。

(4)提高利用已学知识分析和解决问题的能力。

(5)提高实践动手能力。

3.设计任务和内容

(1)设计任务

单片机采用用AT89C52芯片,使用发光二极管(红,黄,绿)代表各个路口的交通灯,用8段数码管对转换时间进行倒时(东西路口25秒,南北路口20秒,黄灯时间5秒)。

(2)设计内容

a设计并绘制硬件电路图

b制作PCB并焊接好元器件

c编写程序并将调试好的程序固化到单片机中

4.电源提供方案

    为使模块稳定工作,须有可靠电源,采用单片机控制模块提供电源。此方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。

5.复位方案

复位方式有两种:按键复位与软件复位。由考虑到程序的简洁,避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。

6.输入方案

方案一:

采用89S52扩展I/O 口及键盘,显示等。该方案的优点是:

使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。

方案二:

直接在IO口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用2个按键,分别是K1、K2。

由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二

三、显示界面方案

    该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:

方案一:

完全采用数码管显示。这种方案只显示有限的符号和数码字符,无法胜任题目要求。

方案二:

完全采用点阵式LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。

方案三:

采用数码管与点阵LED (点阵式和8段式LED)相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。

设计方框图

整个设计以AT89S52单片机为核心,由数码管显示,LED数码管显示,复位电路组成。

硬件模块入图1-1。

图1

四、交通管理的方案论证

东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。指示灯燃亮的方案如表2。

图2

说明:       

(1) 当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为25秒。

(2) 黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。      

(3) 当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为25秒。

(4) 这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。

五、芯片简介

1.AT89S52单片机简介

其引DIP封装的脚图如下:

图3

2.主要性能

  与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz~33Hz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。

3.功能特性描述

  At89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89C52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89C52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89C52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89C52 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。

  当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。

  在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。

  P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。

  在flash编程和校验时,P1口接收低8位地址字节。

引脚号第二功能

  P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出

  P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

  P1.5 MOSI(在系统编程用)

  P1.6 MISO(在系统编程用)

  P1.7 SCK(在系统编程用)

  P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

  在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

  P3口亦作为AT89C52特殊功能(第二功能)使用,如下表所示。

  在flash编程和校验时,P3口也接收一些控制信号。

  端口引脚 第二功能

  P3.0 RXD(串行输入口)

  P3.1 TXD(串行输出口)

  P3.2 INTO(外中断0)

  P3.3 INT1(外中断1)

  P3.4 TO(定时/计数器0)

  P3.5 T1(定时/计数器1)

  P3.6 WR(外部数据存储器写选通)

  P3.7 RD(外部数据存储器读选通)

  此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

  RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

  ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

  对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

  如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

  PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

  EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

  如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

六、设计原理分析

1.交通灯显示时序的理论分析与计算

对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流为车流量,用公式:车流量= 车流 / 时间 来表示。

先设定一些标号如图5 所示。

点此在新窗口浏览图片

图5

说明:

此图为直方图,上边为北路口灯,右边为东路口灯,下边为南路口灯,左边为西路口灯。

    图2-2 所示为一种红绿灯规则的状态图,分别设定为S1、S2、S3、S4,交通灯以这四的状态为一个周期,循环执行(见图6)。

点此在新窗口浏览图片

图6

请注意图2-1b和图2-1d,它们在一个时间段中四个方向都可以通车,这种状态能在一定的时间内达到较大的车流量,效率特别高。

依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于相向的灯的状态图是一样的,所以只需写出相邻路口的灯的逻辑表;根据图2-3 可以看出,相邻路口的灯它们的状态在相位上相差180°。因此最终只需写出一组S1、S2、S3、S4的逻辑状态表。

如表7 所示。

点此在新窗口浏览图片

表7

点此在新窗口浏览图片

表8

表中的“×”代表是红灯亮(也代表逻辑上的0),“√”是代表绿灯亮(也代表逻辑上的1),依上表,就可以向相应的端口送逻辑值。

2.交通灯显示时间的理论分析与计算

东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且S1、S2、S3、S4各个状态保持的时间之有严格的对应关系,其公式如下示。

T-S1+T-S2=T-S3

T-S2=T-S4

T-S1=T-S3

我们可以依据上述的标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分为主干道和次干道,主干道的放行时间大于次干道的放行时间。

七、LED数码管显示模块

1.静态显示方式

静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。由于单片机本身提供的I/O口有限,实际使用中,通常通过扩展I/O口的形式解决输出口数量不足的问题。

静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。

2.动态显示方式

动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。

 

八、复位电路

复位方式有多种,本设计采用按键复位。接线图如图程序

复位电路

 


在设定的定时时间内,89C52必须在RST引脚产生一个由高到低的电平变化,以清内部定时器.

九、晶振电路

  晶振电路原理图9

             图9晶振模块原理图

 选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取30pF,晶振为12MHz。

十、总结与谢词

这次十字路口交通灯的设计原理之前根本没有接触过,也就是说在短暂的一周中我们不但要学习一个新的东西,而且还要融会贯通用它来设计十字路口交通灯系统。还好前面的几次实习已经锻炼了我们快速学习的能力,对于一个完全陌生的东西也没有啥畏难情绪了,而这一次的实习就相当于一次考察,考察我们查找资料快速学习团结协作的能力。 不得不说我和搭档的合作是相当愉快的,虽然我俩的成绩都不咋样,但对于实习我们是积极地,曹老师一讲完实习任务,我们就去图书馆借来了书,学习交通灯技术,了解交通灯的原理。当然这些的学习与我们的实习进程是同步的,我们分几个模块来设计,针对每个模块有针对性的快速学习,然后用Keil软件编程。这已经是最后一次实习了,每结束一个实习,就越发觉得自己实在是有太多知识不会的,即便是在实习过程中掌握了的知识自己也不是很有底,当时目的性太强,学的太专,也许这就是快速学习的后遗症吧。但实习本身重点就不是用来系统学习知识的,而是用来锻炼能力的,锻炼查找资料快速学习融会贯通以及动手的能力,只要能有这方面的收获实习的目的就已经达到了,自己还是有不少收获的!

致谢   

感谢学校为我们提供的实习机会

感谢曹老师的辛苦教诲与指导

感谢同学的支持与同组者的配合

十一、参考文献

[1].《单片机原理及应用》 张毅刚 高等教育出版社

[2].《单片机控制实习与专题制作》蔡朝洋.

[3].《单片机实验教程》 彭冬明、韦友春 北京理工大学出版社

十二、附录

附录1:程序清单

    #include"reg52.h"          //宏包含MCS-52系列单片机的头文件

#define uchar unsigned char

#define uint  unsigned  int

uchar code DM[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//数码管段码数组

uchar code WM[]={0x7f,0xbf};//位码数组

uchar code XW[]={0xde,25,0xdb,5,0xed,15,0xf9,5}; //相位数组

void  delay (int); //延时函数声明

uchar n50ms,GL; // 定义变量 延时为50毫秒 绿灯显示时间

uchar  SX[2]={10,10}; //显示数组

/*主程序*/

void intital();

main()

{ intital();

    while(1) // 循环变量

   { uchar i,j;    

           for(;GL==0&&j<8;j+=2) //绿灯时间等于0相位选择小于8相位加2

      {  GL=XW[j+1];   //显示路灯时间

              P0=XW[j];     // 显示相位

       }

       if(j==8)    //如果等于8

          {

                  j=0;     // 清零

            }        

         SX[0]=GL%10;//更新显示数组

      SX[1]=GL/10; //更新显示数组

          if(n50ms>=20)   // 小于等于1秒

          {      n50ms=0;   //清零

                GL-=1;    // 绿灯时间减1  倒计时

          }

          for(i=0;i<2;i++)//送显示

          {  P3=WM[i];    // 位码显示

             P2=DM[SX[i]];  // 断码显示

             delay(5);    //延时5个周期

          }

    }

}

void  timer0isr() interrupt 1 // 中断服务程序入口  定时器0中断1

{

 TH0=(65536-50000)/256;  // 取8位的商数

 TL0=(65536-50000)%256;  // 取8位的余数

 n50ms++;                // 50毫秒自增1

}

/*中断方式*/

void intital()

{

   TMOD|=0X01;              //设置为内部定时器、软件启动、Moder1

   TH0=(65536-50000)/256;    // T0(Moder0)  计数高8位

   TL0=(65536-50000)%256;     // T0(Moder0) 计数低8位

   ET0=1;                     //开启定时器

   EA=1;                      //启动中断

   TR0=1;                     //启动定时器

 }

/*延时子程*/

 void delay(uint x)    

{       uint i,j;         // 声明整数组变量i,j

        for(i=0;i<x;i++)  // 计数x次,延时X*1ms

        for(j=0;j<120;j++); //计数120次,延时1ms

} //延时程序结束

附录2:电路设计图

更多相关推荐:
单片机交通灯实验报告

交通灯控制系统设计院系:电子电气工程学院专业:电气自动化班级:P10电气四班成员:*************交通灯控制系统设计实验一.设计目的1.通过本次课程设计进一步熟悉和掌握单片机的结构及工作原理,巩固和加…

单片机交通灯实训报告

九江职业技术学院单片机交通灯设计班级电气综1101小组成员侯政刘述全游子民罗垂军九江职业技术学院电气工程学院目录第一章任务分析与设计111任务分析112设计思路1第二章硬件与软件设计121硬件组成1211设计电...

单片机交通灯实训报告

物理与机电工程学院课程设计报告课程名称单片机课程设计系部物理与机电工程学院专业班级学生姓名指导教师完成时间报告成绩目录一设计任务与要求二方案设计与论证三硬件电路设计1单片机模块2时钟震荡电路3复位电路四软件设计...

单片机交通灯实验报告

一实验目的通过仿真和实物搭建相结合完成交叉口交通灯的设计并掌握C51编程的操作二实验内容及要求模拟控制就是以红绿黄色4组6个发光二极管表示交通信号灯每组有两位数码倒计时显示1正常情况下AB道轮流放行A道放行15...

交通灯实训报告

20xx20xx学年第1学期单片机综合技术实训报告题目基于单片机的交通灯控制器设计系别电子工程系班级电子B1101姓名杨杰指导教师袁战军时间20xx121620xx13地点1S203实训室一实训目的通过基于单片...

单片机交通灯实验完整代码加报告

湖北大学20xx20xx学年度第二学期课程考试试题纸第1页共12页说明本试卷将作为样卷直接制版胶印请命题教师在试题之间留足答题空间湖北大学20xx20xx学年度第二学期课程考试试题纸第2页共12页说明本试卷将作...

单片机交通灯专周实习报告

单片机专周实习专业班级姓名学号交通灯控制系统前言交通的发达标志着城市的发达于是交通的管理也显得越来越重要对于复杂的城市交通系统为了确保安全保证正常的交通秩序十字路口的信号控制必须按照一定的规律变化以便于车辆行人...

基于单片机的交通灯.开题报告

塔里木大学毕业设计开题报告课题名称基于单片机的交通灯学生姓名高玉雪学号8052210008所属学院机械电气化工程学院专业机电一体化班级机电一体化13班指导教师刘新英起止时间20xx1020xx05机械电气化工程...

单片机交通灯实训报告完整版

课程设计课题名称智能交通信号灯姓名学号班级专业所在系指导教师完成日期智能交通信号灯摘要本设计是在熟练掌握单片机及其仿真系统使用方法基础上综合应用单片机原理微机原理等课程方面的知识设计一个采用AT89C52单片机...

单片机交通灯实验设计报告(C语言)

东北林业大学单片机原理实验课程设计总结报告设计项目电子交通灯的设计项目完成人指导教师学院信息与计算机工程学院专业电子信息工程20xx级3班20xx年5月23日综合电子课程设计任务书摘要随着目前微电子技术的发展技...

交通灯控制系统实训报告

项目实训报告课程名称虚拟仪器应用项目名称交通灯控制系统班级姓名学号指导教师日期项目信息表交通灯控制系统项目报告第1章概述11引言实现路口信号灯控制系统的方法很多可以用可编程控制器PLC单片机标准逻辑器件等实现但...

单片机交通灯实验报告(汇编语言)

实验四单片机交通灯实验1实验要求本实验分两部分第一部分是普通交通灯的模拟初始状态0为东西红灯南北红灯然后转状态1南北绿灯通车东西红灯过一段时间转状态南北绿灯闪几次转两黄灯延时几秒东西仍然红灯再转状态3东西绿灯通...

单片机交通灯实训报告(30篇)