一种温湿度感应配时交通灯.doc

上传人:叶*** 文档编号:37557063 上传时间:2022-09-01 格式:DOC 页数:58 大小:973KB
返回 下载 相关 举报
一种温湿度感应配时交通灯.doc_第1页
第1页 / 共58页
一种温湿度感应配时交通灯.doc_第2页
第2页 / 共58页
点击查看更多>>
资源描述

《一种温湿度感应配时交通灯.doc》由会员分享,可在线阅读,更多相关《一种温湿度感应配时交通灯.doc(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一种温湿度感应配时交通灯图书馆收藏中图分类号:密级:UDC:编号:1331毕业设计说明书双休日交通信号灯控制系统黄昕彤专业名称:楼宇智能化建筑技术班 级:楼宇13-1学 制:三年学 号:1360223108学 历:专科指导教师:李德路评阅人:论文(设计)提交日期:2016年6月2日论文(设计)答辩日期:2016年6月7日目录1 概述11.1 单片机的定义11.2 单片机的应用12 开发工具42.1 Proteus 8.142.1.1 Proteus简介42.1.2 Proteus特点42.2 Keil 553 系统设计63.1 设计背景63.2 设计简介63.3 设计原理63.4 设计框图74

2、 硬件设计84.1 芯片选用84.1.1 AT899C51简介84.1.2 引脚功能94.1.3 内部结构94.2 液晶显示屏104.2.1 LCD1602简介104.2.2 引脚功能104.3 串行时钟电路114.3.1 时钟电路DS1302简介114.3.2 引脚功能125 程序设计135.1 主程序设计135.1.1 中断介绍135.1.2 程序内容145.2 两个子功能185.2.1 功能介绍185.2.2 程序内容195.3 液晶屏显示235.3.1 显示流程图235.3.2 程序内容235.4 万年历计算285.5 延时程序315.6 按键调节程序315.6.1 按键功能介绍315

3、.6.2 程序内容32参考文献39致谢40摘要双休日交通信号灯控制系统,本项设计涉与智能交通与自动控制技术领域;提供一种结构简单、设计合理、使用方便的双休日交通信号灯控制系统,解决现有的红绿灯控制系统周期固定造成交通拥堵和时间浪费的问题。为实现上述目的,本详设计采用的技术方案是:单片机处理器,单片机处理器分别电路连接液晶屏时钟显示模块、交通灯模块和按键调节模块。关键词:单片机,交通灯,万年历,AT89C51,LCD,DS13021 概述1.1 单片机的定义所谓单片机,就是把微型计算机的各个零件,如具有数据处理功能中央处理器CPU、随机存储器RAM、只读存储器ROM、输入/输出I/O口、定时/计

4、数器以与串行通信接口等集成在一块芯片中,构成一个微型的计算机系统。这些元件能在计算机系统的控制下准确、迅速、高效地依据事先设定的程序完成任务。单独地完成现代工业控制所要求的智能化控制功能,拥有大规模的集成电路技术,是单片机最大的特征,也是它与微型计算机的不同之处。图1-1AT89C51单片机1.2 单片机的应用单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理与过程控制等领域,大致可分为如下几个。1计算机网络和通信领域现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机

5、智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。2工业控制单片机体积小而价格便宜的特点倍受工业控制的青睐,应用于工业极大的提高了工业设备的智能化,提高了处理能力和处理效率。其在工业中主要运用于变频控制,运动控制、数据采集、信号采集与检测、无线感知等控制系统。图1-2塑料包装印刷机械人机界面单片机控制器3家用电器随着单片机技术日新月异的发展,单片机取代传统家电中的机械控制部件,减小家电体积也使传统的产品走向智能化。如能识别衣物脏物程度控制洗涤液用量,自动选择洗涤时间和强度的洗衣机;能识别食物类型、保鲜程

6、度,自动调节储藏温度的冰箱等。这类高智能的全自动家用电器充分发挥了单片机和家电系统的融合优势。 图1-3电地暖温控器 图1-4电子时钟4智能仪器仪表在科学技术与工农业生产水平不断提高的当代社会,仪器仪表需扩展大量的外围功能部件来满足其复杂性、高性能与智能化的要求,单片机是最优之选。单片机将功能复杂的众多外围功能部件全部或大部分集成到内部,他的介入大大提高了仪器仪表系统的可靠性,同时又使系统的成本得以降低。图1-4甲烷检测仪5医用设备领域单片机的应用在我们的生活中已是相当常见,除了上面介绍的几个方面,他在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备与病床呼叫系统等

7、等。图1-5医用分析检测仪器2 开发工具2.1 Proteus 8.12.1.1 Proteus简介Proteus软件是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。具有强大的原理图绘制功能,实现了单片机仿真和SPICE电路仿真的相结合。图2-1Proteus8.12.1.2 Proteus特点1Proteus提供30多个元件库,有仿真数字和模拟、交流和直流等上千种元器件。还提供示波器、逻辑分析仪、虚拟终端、信号发生器、交直流电流表等各种仿真仪表资源。在一个电路中,同一种仪器可以随意调用。2Prot

8、eus拥有特殊的图形显示功能,可以将线路上变化的信号,以图形的方式实时的显示出来,其作用与示波器相似,但是具有更多的功能。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。3Proteus支持多种主流单片机系统的仿真,如51系列、AVR系列、PIC系列、Z8系列等;提供软件调试功能;提供丰富的外围接口器件与其仿真,如RAM、键盘、马达、LCD、LED、一些IIC器件等。这些很接近实际,在训练时,可以有不同的方案选择。4具有强大的原理绘图功能2.2 Keil 5Keil C51是美国Keil Software公司出品的51系列兼容单片

9、机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51的实用简单方便,随着汉化版与破解版本的出现,更大限度的方便了国人的使用。Keil可与PROTUES联机仿真,不过需要联调补丁,也可以生成HEX文件在PROTUES里仿真。图2-2keil53 系统设计3.1 设计背景目前城市十字路口所使用的交通信号灯都是设定好固定的时间间隔,一直循环工作的,此类信号灯根据十字路口的平均车流量将红绿交替工作间隔设定在一个合适的时间长度,但是现在车辆的急剧增加导致工作日与双休日的车流量出现巨大的反差,普通的信号灯已经无法满足交通的正常运行,这也就

10、是普通灯的缺陷。双休日交通信号灯完全克服普通型的不足,它可以通过自带的万年历判断出当前的日期是否为双休日,假日将延长绿灯时间使汽车能够全部通过路口,减少路口的拥堵现象。3.2 设计简介本项设计的目的在于针对现有技术的缺陷和不足,提供一种结构简单、设计合理、使用方便的双休日交通信号灯控制系统,解决现有的红绿灯控制系统周期固定造成交通拥堵和时间浪费的问题。所采用的设计方案包括单片机处理器,单片机处理器分别电路连接液晶屏时钟显示模块、LED交通灯模块和按键调节模块。3.3 设计原理液晶显示屏显示当前年月日时分秒,当当前日期为双休日时红绿灯的周期延长。首先,万年历显示当前日期;其次,判断是否为双休日;

11、最后,使用单片机切换双休日与非双休日的红绿灯循环程序,若当前为双休日,红绿灯的间隔时间为T2秒,反之为T1秒。交通灯的工作过程如下:南北路口的绿灯亮,东西路口的红灯亮,南北路口方向通车,两个路口的LED开始倒计时40秒。40秒后,南北路口的绿灯熄灭,同时南北路口的黄灯开始闪烁。闪烁3次后,南北路口的红灯亮,同时东西路口的绿灯亮,东西路口方向开始通车,2个路口的LED重新开始倒计时40秒。40秒后,东西路口的绿灯熄灭,而黄灯开始闪烁。闪烁3次后,再切换到南北路口方向。之后,重复上述过程。当当前日期为周六周日时,通车时间延长至60s,倒计时60s后,黄灯闪烁3次,切换方向。3.4 设计框图单片机A

12、T89C51LCD1602显示交通灯模块键盘模块时钟电路DS1302复位电路震荡系统图3-1系统设计框图4 硬件设计4.1 芯片选用4.1.1 AT899C51简介AT89C51单片机是把那些作为控制应用所必须的基本内容都集中在一个尺寸有限的集成电路芯片上。它由如下功能部件组成,具有数据处理功能中央处理器CPU、随机存储器RAM、只读存储器ROM、输入/输出I/O口、定时/计数器以与串行通信接口等。它们都是通过芯片内单一总线串联而成,其基本结构还是微处理器(CPU)加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式,以实现不同的功能。图4-1AT89C514.

13、1.2 引脚功能XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。XTAL2(18引脚):片内振荡器反相放大器的输出端。RST:复位引脚,高电平有效。EA:外部程序存储器访问允许控制端。ALE:低8位地址锁存允许信号端。PSEN:读外部程序存储器的选通信号端。P0口:8位,漏极开路的双向I/O口。P1口:8位,准双向I/O口,具有内部上拉电阻。P2口:8位,准双向I/O口,具有内部上拉电阻。P3口:8位,准双向I/O口,具有内部上拉电阻。4.1.3 内部结构(1)1个8位的中央处理器(CPU),是单片机的核心。(2)128个字节的内部数据RAM,地址为00H7FH。(3)2

14、1个特殊功能的寄存器SFR,离散分布于地址80HFFH中(4) 程序计数器PC,是物理上独立的16位专用寄存器(5) 4K字节FLASH内部程序存储器(内ROM)(6) 4个8位可编程I/O口(P0、P1、P2、P3)(7) 1个UART串行通信口(8) 2个16位定时器、计数器(9) 5个中断源,两个中断优先级的中断控制系统(10) 1个片内振荡器和时钟电路(11) 用于扩展外RAM、外ROM等的结构4.2 液晶显示屏4.2.1 LCD1602简介1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵

15、字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。LCD1602使用方便,体积小巧,在很多领域都用大用途,在平常的生活物品中也极为常见,如电动车的显示屏,智能仪表的显示屏等等。图4-2LCD1602液晶显示屏4.2.2 引脚功能1602采用标准的16脚接口,其中:VSS:接地极VCC:接5V电源正极V0:为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。RS:为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存

16、器。RW:为读写信号线,高电平时进行读操作,低电平时进行写操作。E(或EN):为使能(enable)端,高电平时读取信息,负跳变时执行指令。714引脚:D0D7为8位双向数据端。1516引脚:空脚或背灯电源。15引脚背光正极,16引脚背光负极。表4-1LCD控制器接口信号说明ERSR/W说明100将数据总线DB7DB0上的指令码写入指令寄存器IR中1001读BF和AC到DB7DB0110将DB7DB0上数据写到CGRAM或者DDRAM中1011从CGRAM或者DDRAM读数据到DB7DB04.3 串行时钟电路4.3.1 时钟电路DS1302简介DS1302是美国DALLAS公司推出的一种高性能

17、、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力,它广泛应用于电话、传真、便携式仪器以与电池供电的仪器仪表等产品领域。图4-3时钟电路DS13024.3.2 引脚功能Vcc:为后备电源。VCC:为主电源。在主电源关闭的情况下,也能保

18、持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。X1和X2:振荡源,外接32.768kHz晶振。RST:复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O:串行数据输入输

19、出端(双向)。SCLK:时钟输入端。5 程序设计5.1 主程序设计5.1.1 中断介绍在主程序的运行中利用了中断这一技术。下面先来介绍一下什么是中端:在计算机执行程序的过程中,当出现某种情况,有服务对象向CPU发出请求当前程序中断的信号,要求CPU暂时停止当前程序的执行,而转去执行相应的处理程序,待处理程序执行完毕后,再返回继续执行被中断的程序,这样的过程称为中断过程。把引起中断的原因和触发中断请求的来源称为中断源。为实现中断而设置的各种硬件和软件称为终端系统。有了中断功能,一方面,PC系统就可以使CPU和外设同时工作,使系统可以与时地响应外部事件。而且有了中断功能,CPU可允许多个外设同时工

20、作。这样就大大提高了CPU的利用率,也提高了数据输入、输出的速度。另一方面,有了中断功能,就可以使CPU与时处理各种软硬件故障。计算机在运行过程中,往往会出现事先预料不到的情况或出现一些故障,如电源掉电、存储出错,运算溢出等等。计算机可以利用中断系统自行处理,而不必停机或报告工作人员。中断的处理过程主要包括中断请求、中断响应、中断服务和中断返回四个阶段,如图5-1所示。首先由中断源发出中断请求信号,CPU在运行主程序时,不断地检测是否有中断请求产生,在检测到有中断请求信号后,决定是否响应中断。当CPU满足条件响应中断后,进入中断服务程序,为申请中断的对象服务。当服务对象的任务完成后,CPU重新

21、返回到原来的程序中继续工作。这就是中断处理的全过程。中断返回中断响应检测发出中断源中断请求恢复断点中断服务程序主程序保护断点图5-1中断处理过程5.1.2 程序内容否是开始红绿灯运行液晶屏显示日期当前日期为双休日运行功能一运行功能二图5-2主程序流程图#include#include#include#include#include#include#include#includevoid play()hour=read1302(0x85);/读1302上的数据,将时分秒十进制化hour=deci(hour);min=read1302(0x83);min=deci(min);sec=read130

22、2(0x81);sec=deci(sec);years=read1302(0x8d);/将年月日十进制化years=deci(years);month=read1302(0x89);month=deci(month);day=read1302(0x87);day=deci(day);week=read1302(0x8b);/将星期十进制化week=deci(week);write_sfm(0,hour);/在液晶屏上显示时间write_sfm(3,min);write_sfm(6,sec);write_nyr(0,years);write_nyr(3,month);write_nyr(6,da

23、y);write_week(week);write_com(0x80+0x40+11);write_date(0x30+RH_data/10);write_date(0x30+RH_data%10);write_com(0x80+0x40+14);write_date(0x30+TH_data/10);write_date(0x30+TH_data%10);/*初始化函数*/void init()uchar num;s1num=0;/s1按键定义flag=0;TMOD=0x01;TH0=65536-50000/256;TL0=65536-50000%256;EA=1;/总中断打开ET0=1;/

24、定时器0打开TR0=1;/定时器0启动if(deci(read1302(0xc1)!=0x05)init1302();write_com(0x38);/设置8位、2行、57点阵write_com(0x0c);/设置显示数据,不显示光标write_com(0x06);/每写一个字符指针地址加一write_com(0x01);/清零write_com(0x80);/将指针移到第一位for(num=0;num9;num+)write_date(riqinum);yanshi(2);write_com(0x80+0x40);for(num=0;num=6)shuangxiuri();/双休日运行功能一

25、else if(week=5)common();/工作日运行功二5.2 两个子功能5.2.1 功能介绍根据万年历显示的星期判断当前日期是否为双休日,若是双休日,则运行功能一:绿灯时间延长至60s;如是正常工作日,则运行功能二:绿灯时间为40s。红绿灯显示仿真模块如图5-3。图5-3红绿灯显示模块实现的两个子功能参考表5-1。表5-1子功能表功能一:双休日功能二:工作日南北向绿灯60s南北向绿灯40s东西向红灯60s东西向红灯40s东西向红灯,南北向黄灯闪烁3下东西向红灯,南北向黄灯闪烁3下南北向红灯60s南北向红灯40s东西向绿灯60s东西向绿灯40s南北向红灯,东西向黄灯闪烁3下南北向红灯,

26、东西向黄灯闪烁3下5.2.2 程序内容#ifndef _gongneng_H_#define _gongneng_H_/*两个子功能*/void shuangxiuri()/功能一:双休日switch(Dnum0) case 1:RED_A=0;YELLOW_A=0;GREEN_A=1;RED_B=1;YELLOW_B=0;GREEN_B=0;if(+Time0_Count!=1200) return;/南北绿灯持续60sTime0_Count=0;Dnum0 = 2;break;case 2:if(+Time0_Count!=20) return;Time0_Count=0;YELLOW_A

27、=!YELLOW_A;GREEN_A=0;if(+Flash0_Count!=6) return;/黄灯闪烁3下Flash0_Count=0;Dnum0= 3;break;case 3:RED_A=1;YELLOW_A=0;GREEN_A=0;RED_B=0;YELLOW_B=0;GREEN_B=1;if(+Time0_Count!=1200) return;/东西绿灯持续60sTime0_Count=0;Dnum0 = 4;break;case 4:if(+Time0_Count!=20) return;Time0_Count=0;YELLOW_B=!YELLOW_B;GREEN_B=0;i

28、f(+Flash0_Count!=6) return;/黄灯闪烁3下Flash0_Count=0;Dnum0= 1;/四个场景循环break;void common()/功能二:工作日switch(Dnum0)case 1:RED_A=0;YELLOW_A=0;GREEN_A=1;RED_B=1;YELLOW_B=0;GREEN_B=0;if(+Time0_Count!=800) return;/南北绿灯持续40sTime0_Count=0;Dnum0 = 2;break;case 2:if(+Time0_Count!=20) return;Time0_Count=0;YELLOW_A=!YE

29、LLOW_A;GREEN_A=0;if(+Flash0_Count!=6) return;/黄灯闪烁3下Flash0_Count=0;Dnum0= 3;break;case 3:RED_A=1;YELLOW_A=0;GREEN_A=0;RED_B=0;YELLOW_B=0;GREEN_B=1;if(+Time0_Count!=800) return;/东西绿灯持续40sTime0_Count=0;Dnum0 = 4;break;case 4:if(+Time0_Count!=20) return;Time0_Count=0;YELLOW_B=!YELLOW_B;GREEN_B=0;if(+Fl

30、ash0_Count!=6) return;/黄灯闪烁3下Flash0_Count=0;Dnum0= 1;/四个场景循环break;#endif5.3 液晶屏显示5.3.1 显示流程图开始A/D转换选择量程20v选择量程5v选择量程10v20V10V0;i-)tda=(bit)(da&0x01);_nop_();clk=0;_nop_();clk=1;_nop_();da=1;uchar read_byte(void)uchar i,j,AC;for(i=0;i8;i+)clk = 1;_nop_();clk = 0;_nop_();j=tda;_nop_();AC =(j1);return(

31、AC);void write1302(char addr,char da)=0;clk=0;reset=1;write_byte(addr);write_byte(da);reset=0;clk=1;char read1302(char addr)char temp;reset=0;clk=0;reset=1;write_byte(addr);temp=read_byte();reset=0;clk=1;return(temp);void init1302(void)write1302(0x8e,0X00);write1302(0x80,0X00);write1302(0x82,0X25);w

32、rite1302(0x84,0X06);write1302(0X8a,0X02);write1302(0X86,0X20);write1302(0X88,0X05);write1302(0X8C,0X15);write1302(0xc0,0x05);write1302(0x8e,0X80);char bcd(char a)uchar b,c;b=a/10;c=a%10;b=b&0x0f;c=c&0x0f;b0;i-)for(j=110;j0;j-);#endif5.6 按键调节程序5.6.1 按键功能介绍K1为选择键,K2为加号键,K3为减号键,K4为确定键。调节步骤:第一步点击K1选择键,按

33、一下光标往后退一格,反复按下K1使光标停留在要更改的对象上。第二步点击K2或者K3上下调节数字。第三步点击K4确定键,改好日期之后按下确定键,万年历更新完成。图5-6按键仿真模块5.6.2 程序内容#ifndef _anjian_H_#define_anjian_H_/*按键控制函数*/void anjian()if(s1=0)/按下K1yanshi(10);/延时消抖if(s1=0)/再次读按键状态flag=1;s1num+;while(!s1);switch(s1num)/根据键值转向不同的函数/定位光标闪烁点case 1:write_com(0x80+0);/年write_com(0x0f);/光标闪烁显示break;case 2:write_com(0x80+3);/月break;case 3:write_com(0x80+6);/日break;case 4:write_com(0x80+12);/星期break;case 5:write_com(0x80+0x40+0);/时break;case 6:write_com(0x80+0x40+3);/分break;case 7:write_com(0x80+0

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

当前位置:首页 > 图片设计 > 工程图纸

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

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