欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于单片机的交通信号灯控制系统的设计-大学论文.doc

    • 资源ID:92938339       资源大小:1.03MB        全文页数:66页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的交通信号灯控制系统的设计-大学论文.doc

    广西工学院理学院电科专业2012届毕业设计论文 基于单片机的交通信号灯控制系统的设计1 绪论今天,红绿灯安装在各个路口上,已经成为指挥交通车辆最普遍的交通技术。但是这种技术早在19世纪就已经出现了。世界上最早的交通信号灯出现于1858年,在英国伦敦道口上安装了以燃煤气为光源的红,蓝两色的机械扳手式交通信号灯,用以指挥车辆的通行。接着1868年,在英国伦敦威斯敏斯特区的议会大厦前的广场上,出现了世界上最早的煤气红绿灯。 再到20世纪初,美国出现了以电气启动的红绿灯,这种红绿灯由红黄绿三种颜色圆形的投光器组成。红灯亮表示禁止车辆通行,绿灯亮表示允许车辆通行,黄灯闪烁表示警告。到了20世纪中期相继出现了带有各种红外线的红绿灯、压力探测红绿灯、扩音器红绿灯等各种交通信号灯。交通信号灯的出现,使交通规则得到了很大的改善,对于车辆的管理和通行,交通事故的发生得到了明显的减少。1968年,联合国道路交通和道路标志信号协定对各种交通信号灯做了明确的规定。绿灯表示通行,在绿灯下,车辆向相应的方向行驶,除非另一种标志禁止某一种转向。红灯表示禁止,在红灯下,车辆必须在相应的停车线后停车。黄灯表示警告,在黄灯下,已经穿越停车线的车辆和行人应继续向前,而为超出停车线的车辆在停车线后等待。对于左转和右转的车辆在通过道口时,应先让在道口上行驶的车辆或者人行道行走的行人优先通行。随着经济的快速发展,交通运输中出现了一些传统方法难以解决的问题。如:道路拥堵、塞车、交通事故等现象越来越严重,直接造成的经济损失也越来越大,而且还在以一定的速率在不断的增长。由于人民生活水平的提高,人们对交通安全也提出了更高的要求。在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,提高交通的管理质量和服务要求,同时也提高了交通运输的安全性。并在一定程度上尽可能的降低由道路拥堵造成的经济损失,同时也大大的降低了人力资源的消耗。 中国是世界人口大国,而中国的车辆也在不断的增加,交通灯的管理控制更是起着重要的作用,而智能交通灯的出现更是发挥了他举足轻重的低位。它不仅可以替代了更多的人力资源,从而也带来了更多的经济和社会效益,为创造美好城市发挥着更大的作用。2 课题的设计要求和设计方案2.1 设计要求2.1.1题目概述 道路交通信号灯是道路交通安全的产品,它可以加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。它适用于各种十字、丁字等交叉路口,由道路交通信号灯控制,指导车辆和行人安全而有序地通行。2.1.2 设计任务设计一种交通信号灯的控制系统。要求直观,简单。能够满足十字路口交通等的使用需求。2.1.3 设计要求1. 交通路口为十字路口。2马路为双向六车道,即要有左转灯,直行灯,右转灯。3要考虑人行横道的信号灯。4有显示设备可以显示通信时间。5要求通行时间可调。2.2 设计方案2.2.1 供电方案 系统要在正常而稳定的状态下工作,必须要有可靠的电源。而本次基于单片机的设计需要显示的芯片较多,电源供应量大,因此本次设计了如下三种方案。方案一:利用独立的稳压电源供电。优点是可提供稳定而可靠电源,而且可以利用220V电压转化,不受各种因素的限制;缺点是各模块都采用独立电源,会增加本次设计的难度,而且对其他电路还会造成一定的干扰。方案二:采用USB转接口5V电压供电,这样简单明了,但是单单一个5V电源供电可能会显得电源不足,而无法满足实际的需要。方案三:采用USB转接口5V双电源电压供电,这样把本次设计分为两大模块,一是交通信号灯控制系统,二是万年历系统,采用双电源供电,一个为交通信号灯控制系统提供电源,另一个为万年历系统提供电源。这样即简单而又可提供稳定的电源。考虑到实际情况和电路的简洁,本设计采用了第三套方案,此方案在电路的设计上可以把系统分为两大模块,使系统设计简单化,从而又可以提供稳定而可靠电源。而且在单电源断电的情况下不影响另一模块的工作。2.2.2 输入方案 该系统要求能手动及智能控制改变交通信号灯的通行时间和万年历时间的调整。方案一:采用8155扩展I/O 口及键盘、显示等。该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。方案二: 直接在I/O口线上接上按键开关。该方案优点是:编程更加简洁,使用更加简单,且成本更低。缺点就是功能有限。综合考虑本设计的实际需要,在使用输入的时候不需要过于复杂的功能,因此直接在I/O口线上接上按键开关足以满足本次系统设计的需要,故采用方案二。2.2.3 显示界面方案本设计涉及到倒计时、状态灯、时间、温度等显示功能。基于功能需求,本设计考虑如下四种方案:方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字符,无法胜任功能需求。方案二:完全采用点阵式LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。方案三:采用LCD1602液晶显示,这种显示比较乐观,但是工作量大,而且设计复杂,再加上需要到的LCD1602较多,从经济上也不划算。方案四:采用数码管、LED与LCD1602相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出,同时还要显示出年、月、日、时、分、秒、星期和温度。为了方便观看并考虑到实际情况,用数码管显示交通信号灯的倒计时,用LED显示交通灯的状态灯、用LCD1602显示年、月、日、时、分、秒、星期和温度。这种设计方案既满足系统功能要求,又减少了系统实现的复杂度。2.2.4交通灯方案2.2.4.1交通灯规则方案本设计的交通灯以十字路口为模型,在实现基本的功能前提下增加了时间及温度的液晶显示。从而还增加了路口高峰期的智能化人工管理机制。 实际生活中交通信号灯的规则千变万化,在不同的路口上看到的交通信号灯的规则不一样,但是总体还是相差不大,也有一些根据实际的需要而设置不同的交通规则,本次系统交通规则的设置是根据现实生活中的交通规则和多加考虑各种现实因素结合起来而制定了以下交通规则。下图所示为一种红绿灯规则的状态图: 图2.2 状态S2南北左拐通行图2.1 状态S1南北直行通行 图2.4 状态S4东西左拐通行图2.3 状态S3东西直行通行 共四种状态,分别设定为S1、S2、S3、S4,交通灯以这四种状态为一个周期,循环执行如下图所示:图2.5 交通灯状态循环图依据上述车辆行驶的状态图,可以列出正常模式下各个路口交通信号灯的逻辑表如下表所示(其中逻辑值“1”表示直行通行,逻辑值“0”表示禁止通行,逻辑值“L”表示左转通行):表2.1 正常模式下工作表S1的状态ESWN逻辑值0101显示时间正常模式下为40SS2的状态ESWN逻辑值0L0L显示时间正常模式下为20SS3的状态ESWN逻辑值1010显示时间正常模式下为40SS4的状态ESWN逻辑值L0L0显示时间正常模式下为20S程序就是在上述四种状态下循环转化的,而每种状态下又包括绿灯通行和黄灯闪烁警告状态。系统在正常模式下循环一个周期所需要的时间为120S,数码管显示的工作模式为半周期60.2.2.4.2各种模式下通行时间 本系统结合实际的需要,而在上述四种状态的每种状态下再细分为绿灯通行、黄灯闪烁两种状态,总共八种工作状态。系统在正常工作模式下又可分为三种工作模式,分别为:正常模式、繁忙模式和特殊模式。各种模式下的时间分配如下表2.2:表2.2 各模式下时间分配表S1S2S3S4S5S6S7S8周期正常模式35S5S15S5S35S5S15S5S120S繁忙模式25S5S10S5S25S5S10S5S90S特殊模式50S5S15S5S50S5S15S5S150S2.2.5 万年历设计方案电路设计框图 本系统的电路系统框图如图2.6所示。AT89C51单片机对DS1302和DS18B20写入控制字并读取相应的数据,继而控制LCD1602作出对应的显示,同时也向交通信号灯外部发出定时中断,从而改变交通信号灯的工作模式。LCD1602液晶显示模块AT89C51主控模块键盘控制模块DS18B20温度模块定时外部中断模块DS1302时钟模块 图2.6统硬件框图3 芯片的介绍及应用3.1 AT89C51单片机介绍及应用单片微型计算机简称单片机,同时又称为微控制器、嵌入式微控制器等,它属于第四代电子计算机。它把各种芯片电路集成在一块芯片上,因此它具有体积小、抗干扰能力强、功耗低、可靠性高以及低廉的价格。它广泛应用于工业过程控制、测控系统及各种智能仪器仪表等。因此国际上逐渐采用微控制器(MCU)代替单片微型计算机(SCM)这一名称。微控制器可以更准确的反应出单片机的本质,但单片机这一名称以为大多数人所接受,所以单片微型计算机即是单片机,同时又称为微控制器。3.1.1单片机的引脚及功能AT89C51单片机的 引脚图如图3.1 所示图3.1 AT89C51单片机引脚图VCC:电源电压GND:地P0口:P0口是一个漏极开路型8位双向I0口,即数据地址总线的复用口。当它作为输出端口使用时,每位能驱动8个TTL逻辑门电路。P1口:Pl 口是一个带内部上拉电阻的8位双向IO口,Pl口的输出缓冲级能驱动4个TTL逻辑门电路。当我们对端口写入“1”时,通过内部上拉电阻来把端口拉到高电平,此时P1口可做为输入端口。当P1口做为输入口时,由于内部存在上拉电阻,当被外部引脚拉低时会输出数据。P1口除了以上功能外,最重要的是它的第二功能如表3.1所示。表3.1 P1口引脚的第二功能端口引脚第二功能:P1.5MOSI(用于ISP编程)P1.6MOSI(用于ISP编程)P1.7MOSI(用于ISP编程)P2口:P2口也是一个带有内部上拉电阻的8 位双向IO 口。P2 的输出缓冲级也能驱动4 个TTL逻辑门电路。当我们对端口写入“1”时,通过内部上拉电阻来把端口拉到高电平,此时P2口可做为输入端口。当P2口做为输入口时,由于内部存在上拉电阻,当被外部引脚拉低时会输出数据。当访问外部程序存储器或16位地址外部数据的存储器时,P2口输出高8位数据地址。当访问8 位外部数据存储器地址时,P2口的内容在整个访问过程将不会改变。P3 口:P3 口也是一个带有内部上拉电阻的8 位双向I0 口。P3 口输出缓冲级也能驱动4 个TTL逻辑门电路。当我们对端口写入“1”时,通过内部上拉电阻来把端口拉到高电平,此时P3口可做为输入端口。当P3口做为输入口时,由于内部存在上拉电阻,当被外部引脚拉低时会输出数据。P3口除了以上用途外,最重要的是它的第二功能如表3.2所示。表3.2 P3口引脚的第二功能端口引脚第二功能:P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2/INT0(外中断0)P3.3/ INT1(外中断1)P3.4T0(定时计数器0外部输入)P3.5T1(定时计数器1外部输入)P3.6/ WR(外部数据存储器写选通)P3.7/ RD(外部数据存储器读选通)P3口还可用于接收一些Flash闪速存储器的编程及程序的校验控制等。RST:复位输入引脚。振荡器在工作时,RST引脚将会出现两个或两个以上的机器周期高电平来使单片机进行复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。ALEPROG():在访问外部数据存储器或程序存储器时,ALE(地址锁存)主要是利用输出脉冲来锁存地址低8位字节。ALE还可以用于对外输出时钟信号或定时功能,因为ALE时刻以时钟振荡器的1/6频率输出固定的脉冲信号。值得注意的是:当我们在访问外部数据存储器时将会跳过一个ALE脉冲。在F1ash存储器编程期间,该引脚还可用于输入编程脉冲。还可以通过特殊的功能寄存器中的8EH单元的D0位置来禁止ALE工作。执行该操作后,需要通过MOVX和MOVC指令ALE才能被激活,从而恢复工作状态。在执行单片机外部程序时,ALE应设置为无效。PSEN()程序的储存是在(PSEN())允许输出外部程序存储器时进行,当单片机需要进行读写数据时,此时该引脚在每个周期下就会两次有效,从而发出两次脉冲,当访问外部的数据存储器时,则是发出一次脉冲信号。EA()VPP:外部访问允许。当EA端设置为低电平时,CPU可单独访问外部程序存储器(即:0000HFFFFH地址)。XTAL1:振荡器的反相放大器和内部时钟发生器的输入端。3.1.2单片机最小系统的设置本次基于单片机交通信号灯控制系统的设计的单片机最小系统设置的如下图所示:图3.2 AT89C51单片机最小系统图3.2 LCD1602芯片介绍及应用3.2.1 液晶显示器的介绍 液晶显示器有多种分类方法,通常按显示的方式分可分为字符式、段式、点阵式等。液晶显示器即可显示黑白又可显示多彩色灰度,因此可分为黑白显示器和彩色显示器。如果按驱动方式分,它又可以分为单纯矩阵驱动(Simple Matrix)、静态驱动(Static)和主动矩阵驱动(Active Matrix)三种。液晶显示器它具有厚度薄、体积小,适用于大规模集成电路的驱动等特点,目前已广泛应用在数字摄像机、便携式电脑、MP3、MP4、PDA移动通信工具等领域。 3.2.2 液晶显示器各种图形的显示原理 液晶显示器是利用液晶的物理特性,通过高低电压来控制显示的区域,高电平则亮,低电平则灭,这样就可以显示出图形。液晶显示器图形的显示是通过N*M个液晶显示单元构成,通过控制各个显示单元的亮暗而达到显示图形的目的。例如一个液晶显示器有64行显示屏,而每行有128列,每字节又由8列组成,因此每行可显示16个字节,即整个显示器可显示1024个字节。最后通过控制液晶显示相应位置的亮暗从而显示出每字节上的内容。3.2.3 LCD1602的基本参数及引脚功能LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,本次设计采用16脚(带背光)来显示年、月、日、时、分、秒、星期和温度。各引脚接口说明如表3.3所示:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL是显示器对比度调整端,当接地信号时液晶对比度最高,当接正电源时对比度最弱,对比度的高低将会影响液晶显示器的显示,对比度过高时会产生“鬼影”。因此我们通常接一个10K的电位器来调节。 第4脚:RS是寄存器的选择,高电平表示数据寄存器、低电平表示指令寄存器。第5脚:R/W是信号线的读写,当高电平时表示正在进行读操作,当低电平时表示正在进行写操作,如果RS和R/W同时为低电平时可进行显示地址或写入指令,如果RS为低电平且R/W为高电平时可进行读取信号,如果RS为高电平R/W为低电平时可进行写入数据。第6脚:E端是使能信号端,当E端由高电平变化为低电平时,液晶模块命令开始执行。第714脚:D0D7是8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。表3.3引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极3.2.4 LCD1602的指令说明及时序LCD1602内部液晶显示模块控制器指令共11条,如表3.4所示:LCD1602的读写操作、光标操作以及屏幕显示等都是通过各种指令程序而实现的,具体说明如下:(注:1为高电平,0为低电平) 指令1:清显示,指令码由01H复位到00H位置。指令2:光标复位,执行时光标将返回到00H位置。指令3:光标以及显示模式的设置。光标的移动方向为:高电平表示右移,低电平则表示左移。S:屏幕文字是否进行右移或者进行左移。高电平表示有效,低电平表示无效。指令4:显示控制开关。B:光标闪烁的控制,高电平表示闪烁,低电平则表示不闪烁。C:光标开关的控制,高电平表示有光标,低电平则表示无光标 。D:整体显示的开关控制,高电平表示打开显示,低电平则表示关闭显示。指令5:光标或者显示移位 S/C的控制。高电平表示文字移动的显示,低电平表示光标的移动。指令6:功能命令的设置。DL为高电平表示4位总线,低电平则表示8位总线。F: 低电平表示显示5x7的点阵字符,高电平表示显示5x10的点阵字符。 N:低电平表示单行显示,高电平表示双行显示 指令7:字符发生器RAM地址设置。指令8:DDRAM地址的设置。指令9:光标地址和读忙信号。 BF:表示忙标志位,高电平时表示忙,此时模块不能进行命令或者数据的接受,低电平则表示不忙。指令10:写数据。指令11:读数据表3.4 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数据到CGRAM或DDRAM)10写入的数据内容11从CGRAM或DDRAM读数11读出的数据内容LCD1602液晶显示器有多种,其中市场上最常见的是HD44780。HD44780内置了DDRA(80字节),CGRAM(64字节,用来存放用户自定义字符,每个字符需要用到8个字节,所以以一共可以存放8个用户自定义字符),CGROM(内存了160个字符,包括了标准的ASCII码表上的字符等)。与HD44780相兼容的芯片时序表如表3.5所示:表3.5 基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无读写操作时序如图3.3和3.4所示。图3.3 读操作时序图3.4写操作时序 LCD1602液晶显示是一个慢显示器件,所以每次在执行指令时一定要先进行确认模块的忙标志位是否为低电平,否而指令将会失效。要进行字符的显示,首先要进行输入显示字符的地址,实际就是输入显示的内容。LCD1602内部显示地址如图3.5所示。 图3.5 1602LCD内部显示地址对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标将会自动右移。液晶模块在繁忙状态下将不能输入指令。3.2.5 LCD1602液晶显示模块原理图LCD1602显示模块电路,首先VSS接地信号,VDD接5V高电平,VEE接10K的变阻器,变阻器两端分别接5V电压和大地。接着RS、RW和E是数据信号线分别接单片机的P2.5、P2.6和P2.7引脚。最后D0到D7接单片机的P0.0到P0.7引脚,要接排阻。而实际的LCD1602还有两个背光调节引脚,分别是BLA和BLK接5V电压和大地。P2.5P2.6A P2.7T8 P0.09 P0.1C P0.25 P0.31 P0.4 P0.5 P0.6 P0.7VSS VEE VDDRS LRW CE D1D0 6D1 0D2 2D3 D4D5D6D75V10K图3.6 LCD1602显示电路3.3 DS1302芯片介绍及应用DS1302是美国 DALLAS 公司推出的一种高性能、低功耗的时钟芯片,它采用 SPI 三线接口与 CPU 进行同步通信,并可采用突发方式一次传送一个或多个字节的时钟信号和 RAM数据。它可提供年、月、日、星期、时、分、秒的计时显示,各月天数它可进行自动的调整,同时还具有闰年的补偿功能。工作电压范围为2.55.5V。DS1302芯片采用双电源供电,即有主电源和备用电源。同时还可设置备用电源的充电方式,提供了对备用电源进行电流充电的能力。DS1302也可用于数据的记录, 特别是对于某些特殊意义的数据点的记录上,它能实现数据和数据出现的时间同时记录,因此在各种测量系统中得到广泛的应用。3.3.1 DS1302引脚功能DS1302芯片的外部引脚分配如图3.7所示。图3.7 DS1302的外部引脚分配Vcc1:表示主电源;Vcc2:表示备份电源。如果 Vcc2>Vcc1+0.2V, 则 Vcc2向 DS1302供电,如果 Vcc2< Vcc1,由则Vcc1向 DS1302供电。SCLK:串行时钟,输入,控制数据的输入与输出。I/O:三线接口时的双向数据线。CE:输入信号。DS1302在进行读写数据时,此位必须为高。该引脚有两个功能:首先是CE 开始控制字进行访问移位寄存器的逻辑控制;其次是CE 提供结束单字节或者多字节数据的传输方法。3.3.2 DS1302读写说明DS1302是 SPI 总线方式来驱动。它不仅需要向寄存器写入控制字, 同时还需要读取相应寄存器的数据。 1:DS1302的读写寄存器DS1302的时间寄存器总共有12个,其中读寄存器(81H-8DH)和写寄存器(81H-8DH)是以BCD码格式进行数据的存取。表3.6 DS1302的读写寄存器写寄存器读寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit080H81HCH10秒秒82H83H10分分84H85H12/24010时时AM/PM86H87H0010日日88H89H00010月月8A8BH00000星期8C8DH10年年8E8FHWP0000000DS1302小时寄存器(84H、85H)的位7应用于DS1302是运行的模式。即12小时制还是24小时制。当位7为1时,表示12小时模式,此时相应的寄存器位5为高时表示AM,为低时表示PM。当位7为0时, 表示24小时模式。DS1302秒寄存器(80H、81H)的位7应用于时钟暂停标志(CH)位。当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。DS1302 控制寄存器(8EH、8FH)的位7是写入保护位,其它7位均为0。当WP位为0时可以开始进行对时钟和RAW进行写入,当WP位为1时,禁止对寄存器的写入操作。2:DS1302中静态RAM地址 DS1302在静态工作模式下的RAW地址如表3.7所示。表3.7 静态 RAM 的地址表读地址写地址数据范围C1HC0H00-FFHC3HC2H00-FFHC5HC4H00-FFH.FDHFCH00-FFH3:DS1302的工作模式寄存器DS1302的工作模式寄存器又分为时钟突发模式寄存器、RAW突发模式寄存器等。突发模式是指一次传送多个字节的时钟信号和 RAM 数据。 突发模式寄存器如表3.8所示。表3.8突发模式寄存器工作模式寄存器读寄存器写寄存器时钟突发模式寄器CLOCK BURSTBFHBEHRAW突发模式寄存器RAW BURSTFFHFEH4:DS1302控制字符表DS1302的控制字最高位(位7)必须是1,才能进行数据的写入,否则不能写入数据;次高位(位6)表示RAW数据或者时钟日历的存取,当为1时表示RAW数据存取,为0则表示时钟日历的存取;接着是数据操作地址(位5-位1);最后是位0表示数据的读写操作,当为1时表示读操作,为0表示写操作。如表3.9所示。表3.9控制字(即地址及命令字节)5:DS1302的读写时序DS1302数据的读写规则是在控制字的基础上从低位到高位的输出,每当控制字指令输入后下一个SCLK脉冲上升沿到来时,数据就会被写入到DS1302中,数据从最低位开始写入,下一个SCLK脉冲的下降沿到来时,就会读出DS1302里面的数据,读出的规则也是从低位到高位。图3.8 数据读写时序3.3.3 DS1302时钟采集模块原理图AT P1.589 P1.6C5 P1.71X1 D X2CE S1 VCC2I/0 30 VCC1SCLK 2GND3V5V32.768MHz图3.9 DS1302原理图此图为DS1302时钟芯片模块采集原理图,X1和X2接的是时钟晶振,大小为32.768MHz,VCC1和VCC2分别接3V和5V电压,I/O、SCLK和ST分别接单片机的P1.6、P1.7和P1.5引脚。3.4 DS18B20芯片介绍及应用 DS18B20数字温度计是DALLAS公司生产的OneWire,即单总线器件,它具有体积小而且线路简单的优点。它只有三个引脚,分别是接高电源、地信号和一条数据信号线,设计简单而又方便。因此它广泛应用于温度的测温系统。 DS18B20除了体积小、线路设计简单优点外,它在实际应用中不需要其它外部任何器件即可实现温度的测温功能,测量温度范围为55+125 °C 之间,如超出检测的温度,DS18B20将会发出报警信号。数字温度计的读取可以从9位到12位选择。可用数据线供电,供电范围+3.0-5.5V电压。3.4.1 DS18B20引脚功能DS18B20器件的封装引脚排列及引脚功能的描述如图3.10和表3.10。图3.10(底视图)表3.10 DS18B20引脚功能序号名称引脚功能描1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。3.4.2 DS18B20的应用及原理图DS18B20采用的是oneWire总线协议方式连接,实际就是在一根数据线进行数据的双向传输,然而对于51单片机在硬件上并不支持单总线协议方式的连接,因此我们采用软件的方法来模拟单总线的协议方式来完成对DS18B20温度芯片的访问。DS18B20的读写是在一根I/O线上进行,因此,对数据的读写有着严格的要求。DS18B20的通信协议也有着严格的要求来确保数据传输的正确性和完整性。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该通信协议又细分了几种信号的时序,即:初始化时序、读时序、写时序。然而在这几种时序的工作下都是以主机作为主设备,单总线器件作为从设备。数据的传输是在主机先启动读入时序,读出数据后进入写时序命令,从而启动读写时序功能,完成数据的传输。数据和命令的传输都是低位在先。下面为DS18B20在本次设计的温度采集模块原理图3.11所示。VCCDQ DS18B20GNDAT89C51VCCP1.0图3.11 DS18B20温度采集原理图 温度采集模块图主要是由DS18B20芯片进行,通过AT89C51单片机进行数据的传输和接受,从而再送到LCD1602,从LCD1602显示出来。DS18B20只有三个引脚,分别是VCC为正电源接5V电压,GND地信号接大地,最后是DQ数据输入/输出引脚连接AT89C51单片机的P1.0引脚。4 程序的设计流程4.1 交通灯程序设计的流程4.1.1倒计时显示的理论分析利用定时器中断,设置TH0= (65536-50000)/256,TH1(65536-50000)%256,即每0.05秒中断一次。每到第20次中断即过了20*0.05秒1秒时,使时间的计数值减1,便实现了倒计时的功能。4.1.2状态灯显示的理论分析黄灯闪烁同样可以利用定时器中断。每到第10次中断即过了10*0.05秒0.5秒时,使黄灯标志位反置,即可让黄灯1秒闪烁一次。4.1.3 交通灯主程序设计流程交通灯系统在正常模式下工作的1. 首先,正常进入系统开始运行,交通灯在默认正常模式下工作,数码管显示时间为60。2. 交通信号灯开始正常工作,右转弯为常亮灯(绿色)。南北直行方向绿灯亮,其它方向亮红灯,数码管开始倒计时,南北方向从40倒计,东西方向从60倒计。3. 35S后,南北直行方向灭绿灯,闪烁黄灯,闪烁时间为5S。4. 40S后,南北直行方向亮红灯,左转方向亮绿灯,亮时15S,同时数码管从20倒计,其它不变。5. 55S后,南北左转方向灭绿灯,闪烁黄灯,闪烁时间为5S。6. 60S后,南北左转方向黄灯灭,亮红灯,数码管从60倒计,东西直行方向亮绿灯,数码管从40倒计,其它不变。7. 95S后,东西直行方向灭绿灯,闪烁黄灯,闪烁时间为5S。8. 100S后,东西直行方向灭黄灯,亮红灯,左转方向亮绿灯,亮时为15S,同时数码管从20倒计,其它不变。9. 115S后,东西左转方向灭绿灯,闪烁黄灯,闪烁时间为5S。10. 120S后,东西左转方向灭黄灯,亮红灯,数码管从60倒计。南北直行亮绿灯,数码管从40倒计。开始南北直行通行东西禁止南北左转通行东西禁止AT89C51初始化南北直行黄灯闪烁南北左转黄灯闪烁通行35秒YN闪烁5秒YN通行15秒YN闪烁5秒YN东西黄灯闪烁东西直行通行南北禁止东西左转通行南北禁止东西直行黄灯闪烁通行35秒YN闪烁5秒YN通行15秒YN闪烁5秒YN 图4.1 程序设计流程图4.2万年历的设计流程万年历的设置一方面可以更好的显示时间和温度,其次可以对交通信号灯系统的控制,定时向交通信号灯控制系统发出外部中断,从而该变当前工作模式,以致在实际中更具有实用性。图4.2 万年历主程序流程图 此次万年历的设计功能主要是两个,一个是通过LCD1602显示时间和温度,另一个则是为交通信号灯提供外部定时中断,从而改变当前的工作模式。而万年历的设计流程和普通设计的一样,开始先是对各种芯片的初始化,接着是从DS1302、DS18B20读取时间和温度信息,从而传送到AT89C51单片机进行时间、温度的分离转化,再传送到LCD1602显示出来,其次是时间的调整和校正,通过调整按键可以对秒、分、时、星期、日、月和年进行加减1的修改。最近是定时发出外部中断,利用IF语句进行判断,适合条件则输出低电平到交通信号灯,否则为高电平。从而达到了实验的目的。4.3万年历时间的调整流程本次万年历系统的设计只是采用DS1302进行时间的扫描和读取,而没用进行掉电保存电路的设计,因此在每次硬件的开启,系统都是进入初始化设置,以致要进行时间的调整和校正。开始控制调整切换键加按键减按键秒加1秒减1控制调整切换键加按键减按键分加1分减1控制调整切换键加按键减按键时加1时减1控制调整切换键加按键减按键星期加1星期减1控制调整切换键加按键减按键日加1日减1控制调整切换键加按键减按键月加1月减1控制调整切换键加按键减按键年加1年减1退出时间调整按键结束图4.3 时间调整控制图时间的调整程序设计。首先,系统在正常工作下,由DS1302时钟芯片进行时间的读取,传递到AT89C51单片机进行对时间进行分离和转化,最后由LCD1602显示出来。在进行时间的调整和校正时,先进

    注意事项

    本文(基于单片机的交通信号灯控制系统的设计-大学论文.doc)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开