智能路灯节能系统显示部分.docx

上传人:b****7 文档编号:9146823 上传时间:2023-02-03 格式:DOCX 页数:34 大小:164.55KB
下载 相关 举报
智能路灯节能系统显示部分.docx_第1页
第1页 / 共34页
智能路灯节能系统显示部分.docx_第2页
第2页 / 共34页
智能路灯节能系统显示部分.docx_第3页
第3页 / 共34页
智能路灯节能系统显示部分.docx_第4页
第4页 / 共34页
智能路灯节能系统显示部分.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

智能路灯节能系统显示部分.docx

《智能路灯节能系统显示部分.docx》由会员分享,可在线阅读,更多相关《智能路灯节能系统显示部分.docx(34页珍藏版)》请在冰豆网上搜索。

智能路灯节能系统显示部分.docx

智能路灯节能系统显示部分

毕业设计(论文)

 

智能路灯控制系统

 

学生:

学号:

专业:

班级:

指导教师:

 

自动化与电子信息学院

二○一一年六月

摘要

本毕业论文由单片机STC89C52系统、LED显示、交通灯演示系统组成。

系统包括基本的交通灯的功能,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

关键词:

倒计时STC89C52

 

Abstract

Thissystemconsistsofsingle-chipmicrocomputersystem,LEDdisplay,trafficlightpresentationsystem.Systemincludesthebasicfunctionsoftrafficlights,alsohasacountdown,thetimesetting,emergencyhandling,attimestoadjustthelightsignalinaccordancewiththespecificcircumstancesoftimeandmanualcontrolfunctions.

Keywords:

countdownSTC89C52

 

目录

摘要1

Abstract2

目录3

第一章引言4

第二章智能路灯系统的总体概述5

2.1国内路灯系统目前状况5

2.2合适的照度5

第三章智能路灯系统的方案设计6

3.1设计方案6

3.2方案的论证及确定6

第四章芯片选择及硬件结构7

4.1单片机芯片选择7

4.1.1STC89C52芯片芯片介绍7

4.1.2STC8C952芯片的引脚定义8

4.2LED数码管选择10

4.3锁存器11

第五章软件设计13

5.1软件总体设计13

5.2数码管显示驱动电路主程序模块14

5.3U1串行通信模块19

5.4系统调试21

第六章结束语23

参考文献24

附录Ⅰ25

附录Ⅱ26

第一章引言

随着我国国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大压力,交通拥堵已经成为影响城市可持续发展的一个全局性问题。

而街道各十字路口,又是车辆通行的瓶颈所在。

已有的许多建立在精确模型基础上的交通系统控制方案都存在着一定的局限性。

研究车辆通行规律,找出提高十字路口车辆通行效率的有效方法,对缓解交通阻塞,提高畅通率具有十分现实的意义。

地面道路是一个庞大的网络,交通状况十分复杂,使目前交通灯控制器的单一时段控制已不能满足现代交通流量的多变性,特别是在交通流量高峰时,往往会造成交通路口的通过率下降,甚至出现交通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。

道路平面交叉口(简称交叉口)是交通网中通行能力的“隘口”和交通事故的“多发源”,国内外城市的交通事故约有一半发生在交叉口。

因此,交叉口这个事故多发源不能不引起人们的高度关注。

随着交通技术、电子技术的发展及微机技术的应用,人们设计出了适应各种需要的交通检测器、信号控制机和交通信号灯。

 

第二章智能路灯系统的总体概述

2.1国内路灯系统目前状况

路灯照明是城市公共设施的重要组成部分,它不但给人们的生活带来光明,还能将一个城市的夜色点缀得多姿多彩。

但同时,它也是一个耗电大户。

随着社会的进步和城市的发展,道路照明质量也相应的得到了很大的提高,这使得它成为最消耗能源的一种城市公共设施。

怎样在节约能源和保护环境的前提下进一步提高路灯照明质量是我国城市发展的一个重要课题。

在路灯光源的选择上,随着科技的进步,LED光源取得了越来越大的进步,光效越来越高,前景越来越广阔,并已经由传统的作为指示灯用途而跨入现代照明体系中,以其诸多优点在路灯照明系统中扮演者越来越重要的角色,LED是固态光源,体积小、抗摔、耐震、无紫外、红外污染、寿命长,因此现在已经逐步取代白炽灯、CFL节能灯等传统光源。

2.2合适的照度

合适的照度,,是我们在道路照明节电工作中首先需要重视的问题。

它包括两个方面。

其一是为所设计的道路选择合适的照度标准;其次,是采用适当的计算及设计方式,实现合适的照度。

我们不难观察到,国内不少城市道路照度偏高,既增加了路灯照明的耗电,也削弱了道路两侧景观照明的效果。

 

第三章智能路灯系统的方案设计

3.1设计方案

智能路灯节能系统突破传统单一的时间控制系统模式,采用更为先进的光控与时间控制相结合的方式。

利用光敏电阻和DS1302时钟芯片,在51单片机上实现了更人性化的路灯控制模式。

在普通模式下路灯06:

00——18:

00路灯熄灭,18:

00——06:

00亮起。

在智能节能模式下能按照光敏元件光线的亮暗程度,每天自动控制路灯傍晚开启、黎明关闭,并且能再大雾、大雨天等光线不足的天气,自动开启。

在路灯的选择上,放弃了白炽灯、CFL节能灯等传统光源,而采用更节能的LED灯,使能源消耗降到最低。

智能路灯节能系统的智能性、低耗能性很切合当今节能减排、构建和谐社会的大主题。

3.2方案的论证及确定

根据题目要求,我们讨论了两种方案。

方案一:

采用8255扩展I/O口及键盘,显示等。

该方案的优点是:

使用灵活可编程,并且有RAM,及计数器。

若用该方案,可提供较多I/O口,但操作起来稍显复杂。

方案二:

采用STC89C52来控制键盘及数码管显示。

该芯片有较宽的工作电压(2.7V-6V),128*8B内置RAM,4KB可在线重复编程的闪烁存储器。

完全可以满足系统需求,由于不需要外部EPROM芯片,可以简化电路设计。

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

 

第四章芯片选择及硬件结构

4.1单片机芯片选择

单片机与PC机串行通信,又称为下位机与上位机的串行通信。

采用这种通信方式,可以解决工况条件差对工作人员带来的危害,又可以实现实时在线远距离集中监控,对工作现场分散的单片机采用控制平台管理,既可以改善工作条件,又可以提高工作效率。

4.1.1STC89C52芯片芯片介绍

STC8C952芯片是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用STC公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

它是51系列单片机兼容的微控制器,具有高性能、高可靠性及低价格的特点。

STC8C952芯片具有以下标准功能:

8k字节Flash,256字节RAM,32位F0口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,STC8C952芯片可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

4.1.2STC8C952芯片的引脚定义

图4-1STC8C952芯片

VCC:

电源

GND:

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位地址字节。

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口亦作为AT89S52特殊功能(第二功能)使用。

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

RST:

复位输入。

晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。

看门狗计时完成后,RST脚输出96个晶振周期的高电平。

特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。

DISRTO默认状态下,复位高电平有效。

ALE/PROG:

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

在flash编程时,此引脚(PROG)也用作编程输入脉冲。

在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。

然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。

如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。

这一位“1”,ALE仅在执行MOVX或MOVC指令时有效。

否则,ALE将被微弱拉高。

这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

PSEN:

外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。

当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

EA/VPP:

访问外部程序存储器控制信号。

为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。

为了执行内部程序指令,EA应该接VCC。

在flash编程期间,EA也接收12伏VPP电压。

XTAL1:

振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:

振荡器反相放大器的输出端。

4.2LED数码管选择

LED是发光二极管的英文缩写。

发光二极管是应用半导体发光原理制造的技术成果。

全世界第一家LED工厂诞生于上世纪60年代。

LED整体技术以日本、美国领先,其次为德国、台湾、韩国。

LED产业化程度最高的是台湾,2006年台湾首次超过日本成为世界LED产出量最高地区。

LED广泛应用于加点、手机、电脑、仪器的各种显示,加点的遥控功能,户外、户内看板和交通灯,等等。

目前,LED照明技术比较成熟,市场成长快速,产品具有节能、环保、寿命长、免维护等特点。

随着高油价时代来临,以及全球变暖问题日益严重,几年来节能及减少CO2排放的相关话题持续升温。

电价的持续高涨促使各种省电方法纷纷出笼。

其中,以能大幅度省功耗的LED照明取代传统荧光灯功效最显著,全球各地也力推LED照明,从辅助照明到主要照明,甚至是道路路灯。

随着LED组件品质及展缓功率相关技术的突破,LED取代传统荧光灯的趋势愈发明显,未来的三年至五年,LED将成为照明主流。

数码管是一种半导体发光器件,其基本单元是发光二极管。

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

数码管是一类显示屏通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。

图4-2LED灯

4.3锁存器

74HC573是高性能硅门CMOS器件,八进制3态非反转透明锁存器,SL74HC573跟LS/AL573的管脚一样。

器件的输入是和标准CMOS输出兼容;加上拉电阻,他们能和LS/ALSTTL输出兼容。

  当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。

当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。

图4-374HC573芯片

 

第五章软件设计

本章我们将介绍系统的软件设计。

系统中控制软件占有很重要的地位。

本系统的运行程序采用C语言编写,采用模块化设计,整体程序由主程序和子程序构成。

5.1软件总体设计

系统监控程序是控制单片机系统按照预定操作方式运转的程序,是整个系统程序的框架。

在本系统中,单片机的主要任务是在操作者输入不同的指令代码,执行相应的任务,各个任务执行的先后顺序取决于软件模块。

根据这样的功能和操作方法,程序总体结构采用分析作业调度型,即作业调度完全服从操作者的意图,操作者通过指令发出作业调度命令,监控程序接收到控制命令后,通过分析启动对应的作业。

系统软件设计采用模块化设计的方法,它是把一个功能完整的较大的程序分解为若干个功能相对独立的较小的程序模块,对各个程序模块分别进行设计、编程和调试,最后把各个调试好的程序模块联成一个大的程序。

模块化程序设计的优点是单个功能明确设计和调试比较方便、容易完成。

一个模块可以为多个程序所共享。

模块化编程的具体体现是把各个功能相对独立的模块作为子函数,主程序是一个不断循环检测结构。

当系统上电自检、初始化后,进入信号输出的循环,并自动查询面板按键的状态,以检测用户可能输入的指令,确定程序将要执行的功能。

在系统工作中,串行口是一种非常方便可行的通讯方式。

本系统软件由主程序模块、时间显示模块、交通灯路灯控制模块构成。

其中主程序模块是系统软件的主程序,是整个系统软件的核心,上电复位后系统首先进入监控主程序。

它的任务是识别命令、解释命令,并获得完成该命令的相应模块的入口,起着引导仪器进入正常工作状态,协调各部分软件有条不紊地工作的重要作用。

5.2数码管显示驱动电路主程序模块

程序开始后,运行初始化程序,包括初始化单片机STC89C52、初始化LED显示模块等。

数码管显示驱动电路采用“三极管驱动的并行LED数码管动态扫描显示”三极管用于位选起到开关的作用,P1口作为段选。

当三极管基极高电平时,三极管截止,数码管不工作。

基极低电平时,三极管导通,数码管公共端为高电平,数码管工作同时点亮。

然后通过程序的设置使用按键1和按键2来改变数码管上显示的数字。

本系统选用的是LED数码管显示模块,其控制芯片为STC89S52,可以显示年、月、日、时、分、秒等字符。

在本系统中,显示内容为输出信号的相关信息,包括年、月、日、时、分、秒。

74HC573的显示数据寄存器((DDRAM)用于存贮显示数据,能存贮80个字符码。

复位后74HC573对LED进行初始化:

1.清屏(清显示指令使DDRAM的内容全部被清除:

光标回原位,地址计数器AC=0);

2.功能设定,显示开关设置;

3.入口模式设定。

初始化结束后,执行显示内容(年、月、日、时、分、秒等)。

在此过程中,执行每条指令前先检查忙标志((BF),只有当空闲时,才能执行下一条指令。

程序流程图如图5-1所示。

图5-1年,月,日,时,分,秒设置流程图

部分时间显示程序:

程序_时间CPU

//宏定义

#defineuintunsignedint

#defineucharunsignedchar

//头函数

#include

//时钟

#include

sbitK1=P2^5;

sbitK2=P2^6;

sbitK3=P2^7;

#defineDP0

//位选管脚定义

//WH行位

sbitWH11=P1^0;

sbitWH12=P1^1;

sbitWH13=P1^2;

sbitWH14=P1^3;

sbitWH15=P1^4;

sbitWH16=P1^5;

sbitWH17=P1^6;

sbitWH18=P1^7;

sbitWH21=P3^2;

sbitWH22=P3^3;

sbitWH23=P3^4;

sbitWH24=P3^5;

sbitWH25=P3^6;

sbitWH26=P3^7;

//显示0123456789-空

ucharconstdiscode[]={0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};

//闪烁使用变量

ucharX=0;

ucharQ=0;

//模式

ucharMode=0;

//时间日期

ucharYY=0;

ucharMM=0;

ucharRR=0;

ucharSS=0;

ucharFF=0;

ucharMi=0;

//串口

uchartime=0;

//延时

voidDelay(uintT)

{

uinti,j;

for(i=0;i

for(j=0;j<110;j++);

}

//显示日期年月日时分秒闪烁位

voidDisplay_Data(ucharnian,ucharyue,ucharri,ucharS,ucharF,ucharM,ucharW)

{

//闪烁控制

X++;

if(X>=50)

{

X=0;

Q=~Q;

}

//年

if(W!

=1||(W==1&&Q==0))

{

//位1

D=discode[11];

WH11=0;

D=discode[2];

Delay

(1);

WH11=1;

//位2

D=discode[11];

WH12=0;

D=discode[0];

Delay

(1);

WH12=1;

//位3

D=discode[11];

WH13=0;

D=discode[nian/10];

Delay

(1);

WH13=1;

//位4

D=discode[11];

WH14=0;

D=discode[nian%10]&0x7f;

Delay

(1);

WH14=1;

}

//月

if(W!

=2||(W==2&&Q==0))

{

//位1

D=discode[11];

WH15=0;

D=discode[yue/10];

Delay

(1);

WH15=1;

//位2

D=discode[11];

WH16=0;

D=discode[yue%10]&0x7f;

Delay

(1);

WH16=1;

}

//日

if(W!

=3||(W==3&&Q==0))

{

//位1

D=discode[11];

WH17=0;

D=discode[ri/10];

Delay

(1);

WH17=1;

//位2

D=discode[11];

WH18=0;

D=discode[ri%10];

Delay

(1);

WH18=1;

}

//时

if(W!

=4||(W==4&&Q==0))

{

//位1

D=discode[11];

WH21=0;

D=discode[S/10];

Delay

(1);

WH21=1;

//位2

D=discode[11];

WH22=0;

D=discode[S%10]&0x7f;

Delay

(1);

WH22=1;

}

//分

if(W!

=5||(W==5&&Q==0))

{

//位1

D=discode[11];

WH23=0;

D=discode[F/10];

Delay

(1);

WH23=1;

//位2

D=discode[11];

WH24=0;

D=discode[F%10]&0x7f;

Delay

(1);

WH24=1;

}

//秒

if(W!

=6||(W==6&&Q==0))

{

//位1

D=discode[11];

WH25=0;

D=discode[M/10];

Delay

(1);

WH25=1;

//位2

D=discode[11];

WH26=0;

D=discode[M%10];

Delay

(1);

WH26=1;

}

}

5.3U1串行通信模块

U1串行通信模块是数码管显示时间驱动模块和路灯交通模块的连接部分。

通过单片机U1发出指令,通过程序设置波特率和串行寄存器,启动TR,控制路灯在普通模式下路灯06:

00——18:

00路灯熄灭,普通模式下路灯18:

00——06:

00亮。

图5-2U1串行通信程序流程图

程序设计:

voidDs1302_Init(void)

{

RST_CLR;//RST脚置低

SCK_CLR;//SCK脚置低

//Ds1302_Write_Byte(ds1302_sec_add,0x00);

}

voidInitUART(void)//串行口初始化程序

{

TMOD=0x20;//工作方式2,初值自动装入

SCON=0x50;//串行工作方式设定

TH1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1