1、智能路灯节能系统显示部分毕业设计(论文)智能路灯控制系统学 生: 学 号: 专 业: 班 级: 指导教师:自动化与电子信息学院二一一 年 六 月 摘 要 本毕业论文由单片机STC89C52系统、LED 显示、交通灯演示系统组成。系统包括基本的交通灯的功能,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。关键词: 倒计时 STC89C52 Abstract This system consists of single-chip microcomputer system, LED display, traffic light presentation
2、 system. System includes the basic functions of traffic lights, also has a countdown, the time setting, emergency handling, at times to adjust the light signal in accordance with the specific circumstances of time and manual control functions.Keywords:countdown STC89C52目录摘 要 1Abstract 2目录 3第一章 引 言 4
3、第二章 智能路灯系统的总体概述 52.1 国内路灯系统目前状况 52.2 合适的照度 5第三章 智能路灯系统的方案设计 63.1 设计方案 63.2方案的论证及确定 6第四章 芯片选择及硬件结构 74.1 单片机芯片选择 74.1.1 STC89C52芯片芯片介绍 74.1.2 STC8C952芯片的引脚定义 84.2 LED 数码管选择 104.3 锁存器 11第五章 软件设计 135.1 软件总体设计 135.2 数码管显示驱动电路主程序模块 145.3 U1串行通信模块 195.4 系统调试 21第六章 结束语 23参考文献 24附 录 25附 录 26第一章 引 言随着我国国民经济的迅
4、速发展,城市街道车辆大幅度增长,给城市交通带来巨大压力,交通拥堵已经成为影响城市可持续发展的一个全局性问题。而街道各十字路口,又是车辆通行的瓶颈所在。已有的许多建立在精确模型基础上的交通系统控制方案都存在着一定的局限性。研究车辆通行规律,找出提高十字路口车辆通行效率的有效方法,对缓解交通阻塞,提高畅通率具有十分现实的意义。地面道路是一个庞大的网络,交通状况十分复杂,使目前交通灯控制器的单一时段控制已不能满足现代交通流量的多变性,特别是在交通流量高峰时,往往会造成交通路口的通过率下降,甚至出现交通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。道路平面交叉口(简称交叉口)是交通网中通行能力的“
5、隘口”和交通事故的“多发源” ,国内外城市的交通事故约有一半发生在交叉口。因此,交叉口这个事故多发源不能不引起人们的高度关注。随着交通技术、电子技术的发展及微机技术的应用,人们设计出了适应各种需要的交通检测器、信号控制机和交通信号灯。第二章 智能路灯系统的总体概述 2.1 国内路灯系统目前状况路灯照明是城市公共设施的重要组成部分,它不但给人们的生活带来光明,还能将一个城市的夜色点缀得多姿多彩。但同时,它也是一个耗电大户。随着社会的进步和城市的发展,道路照明质量也相应的得到了很大的提高,这使得它成为最消耗能源的一种城市公共设施。怎样在节约能源和保护环境的前提下进一步提高路灯照明质量是我国城市发展
6、的一个重要课题。在路灯光源的选择上,随着科技的进步,LED光源取得了越来越大的进步,光效越来越高,前景越来越广阔,并已经由传统的作为指示灯用途而跨入现代照明体系中,以其诸多优点在路灯照明系统中扮演者越来越重要的角色,LED是固态光源,体积小、抗摔、耐震、无紫外、红外污染、寿命长,因此现在已经逐步取代白炽灯、CFL节能灯等传统光源。2.2 合适的照度合适的照度,是我们在道路照明节电工作中首先需要重视的问题。它包括两个方面。其一是为所设计的道路选择合适的照度标准;其次,是采用适当的计算及设计方式,实现合适的照度。我们不难观察到,国内不少城市道路照度偏高,既增加了路灯照明的耗电,也削弱了道路两侧景观
7、照明的效果。 第三章 智能路灯系统的方案设计3.1 设计方案智能路灯节能系统突破传统单一的时间控制系统模式,采用更为先进的光控与时间控制相结合的方式。利用光敏电阻和DS1302时钟芯片,在51单片机上实现了更人性化的路灯控制模式。在普通模式下路灯06:0018:00路灯熄灭,18:0006:00亮起。在智能节能模式下能按照光敏元件光线的亮暗程度,每天自动控制路灯傍晚开启、黎明关闭,并且能再大雾、大雨天等光线不足的天气,自动开启。在路灯的选择上,放弃了白炽灯、CFL节能灯等传统光源,而采用更节能的LED灯,使能源消耗降到最低。智能路灯节能系统的智能性、低耗能性很切合当今节能减排、构建和谐社会的大
8、主题。3.2方案的论证及确定根据题目要求,我们讨论了两种方案。方案一:采用8255扩展I/O口及键盘,显示等。该方案的优点是:使用灵活可编程,并且 有 RAM,及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。 方案二:采用STC89C52来控制键盘及数码管显示。该芯片有较宽的工作电压(2.7V6V),128*8B内置RAM,4KB可在线重复编程的闪烁存储器。完全可以满足系统需求,由于不需要外部EPROM芯片,可以简化电路设计。由于该系统对于交通灯及LED的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。 第四章 芯片选择及硬件结构4.1 单片
9、机芯片选择单片机与PC机串行通信,又称为下位机与上位机的串行通信。采用这种通信方式,可以解决工况条件差对工作人员带来的危害,又可以实现实时在线远距离集中监控,对工作现场分散的单片机采用控制平台管理,既可以改善工作条件,又可以提高工作效率。4.1.1 STC89C52芯片芯片介绍STC8C952芯片是一种低功耗、高性能 CMOS8 位微控制器,具有8K 在系统可编程 Flash 存储器。使用 STC 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Fl
10、ash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。它是51系列单片机兼容的微控制器,具有高性能、高可靠性及低价格的特点。STC8C952芯片具有以下标准功能:8k字节Flash,256字节RAM,32位F0口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC8C952芯片可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬
11、件复位为止。4.1.2 STC8C952芯片的引脚定义图4-1 STC8C952芯片VCC:电源GND:地P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1输出缓冲器能驱动 4 个TTL 逻辑电平。对 P
12、1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2的触发输入(P1.1/T2EX)。在 flash 编程和校验时,P1 口接收低 8 位地址字节。P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(II
13、L)。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(I
14、IL)。P3 口亦作为 AT89S52 特殊功能(第二功能)使用。在 flash 编程和校验时,P3 口也接收一些控制信号。RST:复位输入。晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来
15、作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。如果需要,通过将地址为 8EH 的 SFR 的第 0 位置“1”,ALE 操作将无效。这一位“1”,ALE 仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE 将被微弱拉高。这个 ALE 使能标志位(地址为 8EH 的 SFR 的第 0 位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当 AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。EA/VPP
16、:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。为了执行内部程序指令,EA 应该接 VCC。在 flash 编程期间,EA 也接收 12 伏 VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。4.2 LED 数码管选择LED是发光二极管的英文缩写。发光二极管是应用半导体发光原理制造的技术成果。全世界第一家LED工厂诞生于上世纪60年代。LED整体技术以日本、美国领先,其次为德国、台湾、韩国。LED产业化程度最高的是台湾,2006年台湾首次超过日本成为世界LED产出量最高地
17、区。LED广泛应用于加点、手机、电脑、仪器的各种显示,加点的遥控功能,户外、户内看板和交通灯,等等。目前,LED照明技术比较成熟,市场成长快速,产品具有节能、环保、寿命长、免维护等特点。随着高油价时代来临,以及全球变暖问题日益严重,几年来节能及减少CO2排放的相关话题持续升温。电价的持续高涨促使各种省电方法纷纷出笼。其中,以能大幅度省功耗的LED照明取代传统荧光灯功效最显著,全球各地也力推LED照明,从辅助照明到主要照明,甚至是道路路灯。随着LED组件品质及展缓功率相关技术的突破,LED取代传统荧光灯的趋势愈发明显,未来的三年至五年,LED将成为照明主流。数码管是一种半导体发光器件,其基本单元
18、是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管; 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的
19、阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管是一类显示屏 通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数。图4-2 LED灯4.3 锁存器 74HC573是高性能硅门CMOS器件,八进制3态非反转透明锁存器,SL74HC573 跟LS/AL573 的管脚一样。器件的输入是和标准 CMOS 输出兼容 ;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。 当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。图4-3
20、74HC573芯片第五章 软件设计本章我们将介绍系统的软件设计。系统中控制软件占有很重要的地位。本系统的运行程序采用C语言编写,采用模块化设计,整体程序由主程序和子程序构成。5.1 软件总体设计 系统监控程序是控制单片机系统按照预定操作方式运转的程序,是整个系统程序的框架。在本系统中,单片机的主要任务是在操作者输入不同的指令代码,执行相应的任务,各个任务执行的先后顺序取决于软件模块。根据这样的功能和操作方法,程序总体结构采用分析作业调度型,即作业调度完全服从操作者的意图,操作者通过指令发出作业调度命令,监控程序接收到控制命令后,通过分析启动对应的作业。 系统软件设计采用模块化设计的方法,它是把
21、一个功能完整的较大的程序分解为若干个功能相对独立的较小的程序模块,对各个程序模块分别进行设计、编程和调试,最后把各个调试好的程序模块联成一个大的程序。模块化程序设计的优点是单个功能明确设计和调试比较方便、容易完成。一个模块可以为多个程序所共享。模块化编程的具体体现是把各个功能相对独立的模块作为子函数,主程序是一个不断循环检测结构。当系统上电自检、初始化后,进入信号输出的循环,并自动查询面板按键的状态,以检测用户可能输入的指令,确定程序将要执行的功能。在系统工作中,串行口是一种非常方便可行的通讯方式。 本系统软件由主程序模块、时间显示模块、交通灯路灯控制模块构成。其中主程序模块是系统软件的主程序
22、,是整个系统软件的核心,上电复位后系统首先进入监控主程序。它的任务是识别命令、解释命令,并获得完成该命令的相应模块的入口,起着引导仪器进入正常工作状态,协调各部分软件有条不紊地工作的重要作用。5.2 数码管显示驱动电路主程序模块程序开始后,运行初始化程序,包括初始化单片机STC89C52、初始化LED显示模块等。 数码管显示驱动电路采用“三极管驱动的并行LED数码管动态扫描显示”三极管用于位选起到开关的作用,P1口作为段选。当三极管基极高电平时,三极管截止,数码管不工作。基极低电平时,三极管导通 ,数码管公共端为高电平,数码管工作同时点亮。然后通过程序的设置使用按键1和按键2来改变数码管上显示
23、的数字。本系统选用的是LED数码管显示模块,其控制芯片为STC89S52,可以显示年、月、日、时、分、秒等字符。在本系统中,显示内容为输出信号的相关信息,包括年、月、日、时、分、秒。74HC573的显示数据寄存器(DD RAM)用于存贮显示数据,能存贮80个字符码。复位后74HC573对LED进行初始化: 1.清屏(清显示指令使DD RAM的内容全部被清除:光标回原位,地址计数器AC=0); 2.功能设定,显示开关设置; 3.入口模式设定。初始化结束后,执行显示内容(年、月、日、时、分、秒等)。在此过程中,执行每条指令前先检查忙标志(BF),只有当空闲时,才能执行下一条指令。程序流程图如图5-
24、1所示。图5-1 年,月,日,时,分,秒设置流程图部分时间显示程序:程序_时间CPU/宏定义#define uint unsigned int#define uchar unsigned char/头函数#include /时钟#include sbit K1=P25;sbit K2=P26;sbit K3=P27;#define D P0/位选管脚定义/WH 行 位sbit WH11 = P10;sbit WH12 = P11;sbit WH13 = P12;sbit WH14 = P13;sbit WH15 = P14;sbit WH16 = P15;sbit WH17 = P16;sbi
25、t WH18 = P17;sbit WH21 = P32;sbit WH22 = P33;sbit WH23 = P34;sbit WH24 = P35;sbit WH25 = P36;sbit WH26 = P37;/显示 0 1 2 3 4 5 6 7 8 9 - 空uchar const discode =0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff;/闪烁使用变量uchar X=0;uchar Q=0;/模式uchar Mode=0;/时间日期uchar YY=0;uchar MM=0;uchar RR=0;uc
26、har SS=0;uchar FF=0;uchar Mi=0;/串口uchar time=0;/延时void Delay(uint T) uint i,j; for(i=0;iT;i+) for(j=0;j=50) X=0; Q=Q; /年 if(W!=1|(W=1&Q=0) /位1 D=discode11; WH11=0; D=discode2; Delay(1); WH11=1; /位2 D=discode11; WH12=0; D=discode0; Delay(1); WH12=1; /位3 D=discode11; WH13=0; D=discodenian/10; Delay(1)
27、; WH13=1; /位4 D=discode11; WH14=0; D=discodenian%10&0x7f; Delay(1); WH14=1; /月 if(W!=2|(W=2&Q=0) /位1 D=discode11; WH15=0; D=discodeyue/10; Delay(1); WH15=1; /位2 D=discode11; WH16=0; D=discodeyue%10&0x7f; Delay(1); WH16=1; /日 if(W!=3|(W=3&Q=0) /位1 D=discode11; WH17=0; D=discoderi/10; Delay(1); WH17=1
28、; /位2 D=discode11; WH18=0; D=discoderi%10; Delay(1); WH18=1; /时 if(W!=4|(W=4&Q=0) /位1 D=discode11; WH21=0; D=discodeS/10; Delay(1); WH21=1; /位2 D=discode11; WH22=0; D=discodeS%10&0x7f; Delay(1); WH22=1; /分 if(W!=5|(W=5&Q=0) /位1 D=discode11; WH23=0; D=discodeF/10; Delay(1); WH23=1; /位2 D=discode11; W
29、H24=0; D=discodeF%10&0x7f; Delay(1); WH24=1; /秒 if(W!=6|(W=6&Q=0) /位1 D=discode11; WH25=0; D=discodeM/10; Delay(1); WH25=1; /位2 D=discode11; WH26=0; D=discodeM%10; Delay(1); WH26=1; 5.3 U1串行通信模块U1串行通信模块是数码管显示时间驱动模块和路灯交通模块的连接部分。通过单片机U1发出指令,通过程序设置波特率和串行寄存器,启动TR,控制路灯在普通模式下路灯06:0018:00路灯熄灭,普通模式下路灯18:0006:00亮。图5-2 U1串行通信程序流程图程序设计:void Ds1302_Init(void) RST_CLR; /RST脚置低 SCK_CLR; /SCK脚置低 /Ds1302_Write_Byte(ds1302_sec_add,0x00); void InitUART(void) / 串行口初始化程序 TMOD = 0x20; /工作方式2,初值自动装入 SCON = 0x50; / 串行工作方式设定 TH1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1