C语言单片机交通灯.docVIP

  • 18
  • 0
  • 约6.54千字
  • 约 14页
  • 2017-12-30 发布于江苏
  • 举报
C语言单片机交通灯

目 录 摘要 ……………………………………………………………1 设计目的 ………………………………………………………2 设计任务和要求 ………………………………………………2 设计原理分析 …………………………………………………2 硬件模块及功能 ………………………………………………3 1、个模块功能 …………………………………………………… 3 2、材料清单…………………………………………………………4 3、硬件图 ………………………………………………………5 软件模块及功能 ………………………………………………6 1、个模块功能原理 ………………………………………………6 2、程序清单…………………………………………………………6 3、程序流程图 ……………………………………………………9 调试运行 ………………………………………………………10 程序编译链接………………………………………………10 观察模拟仿真………………………………………………11 心得体会 ………………………………………………………12 参考文献 ………………………………………………………12 致谢 ……………………………………………………………13 摘 要: 单片微型计算机(单片机)自问世以来,因其小巧灵活、成本低、控制能力强、易于产品化等优势,在社会各领域中得到广泛的应用。根据89C52单片机的特点及交通灯在实际控制中的特点,本文提出一种利用单片机自动控制交通灯及时间倒计时显示的方法,将整个系统缩小在一块小小的单片机上,大大提高了产品的经济性和轻便性。设计过程包括硬件电路设计和程序设计两大步骤。硬件电路其结构比较简单,主要包括核心器件单片机、12只二极管组成的模拟交通灯、复位电路、振荡电路、显示数码管模块。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。本文就用Keil编程,相比硬件设计程序设计较为复杂,必需同时考虑灯控制、时间显示、紧急开关等问题,并且具有一定的C语言基础和一定的思维能力及逻辑能力。本文对十字路口状态预设为两种,一种是正常状态,即倒计时60秒,交通灯循环亮,另一种是故障或紧急状态,即无论交通灯处于何种状态只要按下紧急开关,就立即打开相应的绿灯,另一方向则亮红灯,当再按起开关则反向,并从60秒倒计时,恢复正常状态,分别用黄、红、绿色灯的不同组合来表示。本系统采用单片机AT89C52为核心器件来设计交通灯控制器,模拟现实中的交通灯控制方法,具有较强的实用性。 关键词:89C51单片机;交通灯;自动控制;时间显示器;软件;硬件;定时器;延时;外部中断 一、设计目的 1、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。 2、通过交通信号灯控制系统的设计,掌握定时/计数器、中断的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。 二、设计任务和要求 任务:设计一个能够控制十二盏交通信号灯及显示时间60秒倒计时的模拟系统 要求:利用单片机的定时器定时和中断功能,令十字路口的红绿灯交替点亮和熄灭,并用共阳极数码管显示倒计时间。 三、设计原理分析 1、根据实际交通灯的变化情况和规律。假设一个十字路口如上图所以,为东南西北走向。初始状态1东西绿灯通车,南北红灯亮。过一段时间后,转状态2,东西绿灯灭,黄灯闪几下,南北还是红灯。再转状态3,南北绿灯通车,东西红灯亮。过一段时间后转状态4,南北绿灯灭,闪几个黄灯,东西还是为红灯亮,一段时间后,又循环至状态1。 列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭) 状态 北 西 南 东 绿黄红 绿黄红 绿黄红 绿黄红 1 001 100 001 100 2 001 010 001 010 3 100 001 100 001 4 010 001 010 001 2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚

文档评论(0)

1亿VIP精品文档

相关文档