基于51单片机智能路灯控制器设计与实现.docx
- 文档编号:29774537
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:38
- 大小:804.99KB
基于51单片机智能路灯控制器设计与实现.docx
《基于51单片机智能路灯控制器设计与实现.docx》由会员分享,可在线阅读,更多相关《基于51单片机智能路灯控制器设计与实现.docx(38页珍藏版)》请在冰豆网上搜索。
基于51单片机智能路灯控制器设计与实现
摘要
现在,随着微电子技术和集成电路技术的快速发展,单片机技术无处不在。
单片机作为计算机科学与技术的重要组成部分,作为嵌入式系统的先头兵,片上系统的先行者,已经被广泛应用到了各行各业,尤其是与控制相关的领域,极大的提高了产品的智能化程度和技术水平,已经成为了当今社会十分重要的技术领域。
随着社会需求和单片机应用领域的不断扩展,各类智能产品、控制系统都是以单片机技术为核心来进行开发设计的。
本系统采用MSC—51系列单片机89C51和相关的光电检测设备及设计智能路灯控制器,实现了能根据实际光线条件通过8051芯片的P1口控制路灯开关功能。
随着社会文明的不断发展,城市照明已不仅局限于街道照明,而且发展成了城市景观等装饰性照明的综合市政工程。
关键词:
路灯单片机技术设计
ABSTRACT
Nowadays,withtherapiddevelopmentofmicro-electronictechnologyandintegratedcircuittechnology,SingleChipMicro-computer(MCU)technologyisbeingusedeverywhere.MCUhasbeenusedinallkindsofindustries,especiallyintheareasconcerningthecontrollingastheimportantingredientinthecomputerscienceandtechnology,thefront-runnerintheembeddedsystem.Ithasimprovedproducts’IntellectualizedandtechnicalstandardsandbeenaquiteimportanttechnicalareainourrecentsocialneedsandtheappliedareasofMCUexpanding,typesofmentalproduceandcontrolsystemsaredesignedwithMCUasthecentraltechnology.
ThesystemusesMSCMSU-51andRelevantphotoelectricequipmenttodesignintelligentizedcontrollerofstreetslightsandrealizethefunctionofcontrollingtheswitchesaccordingtotheactualconditionsoflightthroughP1portof8051chip.Astheever-accelerateddevelopmentofsocialcivilization,Citylightisnotonlyconfinedtothestreetlightingbutalsodevelopedintotheurbanlandscapeanddecorative
Keywords:
lampMCU-technologydesign
第一章绪论
1.1引言
随着我国加入世界贸易组织(WTO),为了创造一个良好的投资环境,塑造一个美丽的国际化城市,更好的与国际接轨,全国各大城市的市政建设步伐都逐步加快,公路系统蓬勃发展,因此装扮美丽城市夜景的路灯照明工程得以迅猛发展。
由于单片机具有集成度高,处理能力强,可靠性高,系统结构简单,价格低廉等优点,因此在路灯照明工程中被广泛应用。
近年来随着计算机在社会领域的渗透,单片机的应用正在不断走向深入。
单片机技术中的计时系统是单片机的一个典型的应用。
夜晚城市里花灯初上,人们消除了白天的繁忙,漫步穿行于城市的街道上,路灯已经成为一个城市的照明系统不可分割更是无可替代的一部分,在城市照明中发挥着举足轻重的作用,靠的就是路灯自动控制系统,路灯控制方式很多。
本系统采用MSC-51系列单片机89C51和相关的光电检测设备及继电设备来设计智能光控路灯控制器,实现了能根据实际光线条件通过8051芯片的P1口控制路灯开关的功能。
随着社会文明的不断发展,城市照明已不仅局限于街道的照明,而且发展成了城市景观等装饰性照明综合市政工程。
社会对亮灯率,开关灯的准确率,故障检测的实时性和维护的及时性要求不断提高,利用51系列单片机可编程控制八位逻辑I/O端口实现路灯的智能化,达到节能,自动控制的目的。
避免了传统电路对能源的浪费,路灯的自动控制更方便了工作人员的管理。
本系统实用性强,操作简单,扩展功能强。
1.2单片机概述
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种,单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3代的发展,目前单片机正朝着高性能和多品种方向发展,他们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压低功耗。
第二章芯片介绍
2.189C51芯片简介
2.1.189C51单片机内部结构
所谓单片机(SingleChipMicrocomputer或MCU)是指在一块芯片中,集成有中央处理器(CPU)、存储器(RAM和ROM)、基本I/O端口以及定时器/计数器等部件并具有独立指令系统的智能器件,即在一块芯片上实现一台微型计算机的基本功能。
不同的单片机有着不同的硬件结构和指令系统,即它们的技术特征不尽相同,硬件特征取决于单片机芯片的内部结构,设计人员必须了解其性能是否满足需要的功能和应用系统所要求的特性指标。
这里的技术特征包括功能特性、控制特性和电气特性等,这些信息可以从生产厂商的技术手册中得到。
指令特性即我们熟悉的单片机的寻址方式,数据处理和逻辑处理方法,输入输出特性等。
开发环境包括指令的兼容性及可移植性,软、硬件资源等。
单片机及应用系统有以下特点:
(1)单片机具有独立的指令系统,可以将我们的设计思想充分体现出来,使产品智能化;
(2)系统配置以满足控制对象的要求为出发点,使得系统具有较高的性能价格比;
(3)应用系统通常将程序驻留在片内(外)ROM中,抗干扰能力强,可靠性高,使用方便;
(4)单片机本身不具有自我开发能力,一般需借助专用的开发工具进行系统开发和调试,但最终形成的产品简单实用,成本低,效益高;
(5)应用系统所用存储器芯片可选用EPROM、E2PROM、OTP芯片或利用掩膜形式生产,便于批量开发和应用。
大多单片机如51系列,开发芯片和扩展应用芯片相互配套,降低了系统成本;
(6)系统小巧玲珑,控制功能强、体积小,便于嵌入被控设备之内,大大推动了产品的智能化。
89C51单片机包含中央处理器、数据存储器(RAM)、程序存储器(ROM)、定时/计数器、并行接口、串行接口和中断系统的几大单元及数据总线、地址总线和控制总线等三大总线,现在加以说明:
·中央处理器(CPU):
中央处理器(CPU)是整个单片机的核心部分,是八位数据的处理器,能处理八位二进制数据或者代码,CPU负责控制,指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(RAM):
89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,他们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据。
所以,用户使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户的定义的字形表。
·程序存储器(ROM):
程序存储器是用来存放已调试完成的程序和常数表格的。
为了提高系统的可靠性,应用程序通常固化在片内ROM中。
CPU设置了一个专用寄存器——程序计数器PC,用以存放将要执行的指令地址。
PC的长度为16位,故程序存储器的寻址范围为64KB(0000H~FFFFH),也就是说,51系列单片机具有64KB的程序存储器空间。
·定时/计数器(ROM):
89C51单片机有两个16位定时器/计数器,通过对机器周期计数达到定时的目的,通过对外部事件计数达到计数之目的。
·并行输入输出(I/O)口:
89C51共有四组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
数据在整个传输过程中,并排前进,有多少个数据线就能同时传送多少位数据。
并行通信的特点是硬件连线多、传送速率高,一般适用于近距离、高速率的通信领域。
如:
计算机主板与硬盘、打印机等之间的通信。
·双全双工串行口:
89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
数据在传输过程中一位一位的串行传输,硬件连接比较简单。
最简单时只需3根连线即可实现串行通信,相对于并行通信来讲其通信速率低,一般适用于短距离数据通信。
在单片机应用系统中常采用串行通信方式。
2.1.2中断系统
所谓中断是指计算机在执行某一程序的过程中,由于计算机系统内部或外部的某种原因,CPU必须暂时停止现行程序的执行,而自动转去执行预先安排好的处理该事件的服务子程序,待处理结束之后,再回来继续执行被中止的程序的过程。
实现这种中断功能的硬件系统和软件系统统称为中断系统。
89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
2.1.3时钟电路
89C51内置最高频率达12MHZ的时钟电路,用于产生整个单片机运行的脉冲时序,但89C51单片机需外置振荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。
INTEL的89C51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。
下图是89C51系列单片机的内部结构示意图
图2.189C51系列单片机内部结构图
2.1.489C51的引脚说明
89C51单片机采用40PIN封装的双列直接DIP结构,下图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
图2.289C51系列单片机引脚
电源引脚(40、20):
这当然是必不可少的了。
单片机使用的是5V电源,其中40引脚接正极(VCC),20引脚接负极(VSS)或地(GND)。
振荡电路(18、19):
单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
这两个脚的定义是:
(1)时钟电路引脚(XTAL2)(18脚):
该脚接外部晶体和微调电容的一段,在89C51内部,它是振荡电路反相放大器的输出端。
振荡电路的频率就是固有频率。
若采用外部时钟电路,该引脚输入外部脉冲。
(2)时钟电路引脚(XTEL1)(19脚):
该脚接外部晶体和微调电容的另一端。
在片内,它是反相放大器的输入端。
在采用外部时钟时,该脚必须接地。
复位引脚(RESET)(9脚):
它是复位信号输入端,高电平有效,当此脚保持两个机器周期,即24个时钟振荡周期为高电平时,即可完成复位操作。
他还具有第二功能,即当主电源VCC发生故障,降低到低电平规定值时,将5V电源自动接入RST端,为单片机提供备用电源。
以保证信息不丢失,电源恢复后,能够正常工作。
EA/VPP引脚(31脚):
访问程序存储器控制信号端(又:
外部存储器地址允许输入端)。
(1)当EA引脚接高电平时,CPU访问片内EPROM(CPU读取内部程序存储器
(2)当EA脚接低电平时,CPU只访问外部EPROM,并执行外部程序存储器中的指令。
而不管是否有片内程序存储器。
(3)此脚还具有第二功能VPP:
是对89C51片内同化编程时,作为施加较高编程电压输入端。
即:
89C51烧写内部EPROM时,利用此脚输入21V的烧写电压。
PSEN(29脚):
程序存储器允许输入端(也叫:
外部程序存储器读选通信号端):
在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作:
(1)内部ROM读取时,PSEN不动作;
(2)外部ROM读取时,在每个机器周期会动作两次;
(3)外部RAM读取时,两个PSEN脉冲被跳过不会输出;
(4)外接ROM时,与ROM的OE脚相接。
要检查一个89C51小系统上电后能否正确到EPROM中读取指令,可用示波器看PSEN端有无脉冲,如有,说明基本工作正常。
ALE(30脚):
地址锁存控制信号端。
89C51正常工作时,ALE脚不断向外输出正脉冲信号,频率为振荡器频率fosc的六分之一,CPU访问外部数据存储器时,ALE作为锁存8位地址的控制信号。
平时不访问外部存储器时,ALE也以六分之一的振荡频率固定输出正脉冲。
因而,ALE信号可以作为对外输出时钟或定时信号。
另外还有四个8位并行通讯端口:
P0口:
8位双向I/O端口(39—32引脚)。
即:
P0.0—P0.7
P1口:
8位双向I/O端口(1—8引脚)。
即:
P1.0—P1.7
P2口:
8位双向I/O端口(21—28引脚)。
即:
P2.0—P2.7
P3口:
8位双向I/O端口(10—17引脚)。
即:
P3.0—P3.7
P0口有三个功能:
(1)外部扩展存储器时,当做数据总线。
(2)外部扩展存储器时,当做地址总线。
(3)不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:
其内部有上拉电阻。
P2口有两个功能:
(1)扩展外部存储器时,当作地址总线使用;
(2)做一般I/O口使用,其内部有上拉电阻。
P3口有两个功能:
除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。
有内部EPROM的单片机芯片,为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的。
即:
编程脉冲:
30脚(ALE/PROG)
编程电压(25V):
31脚(EA/Vpp)
2.1.5单片机的系统资源
1.CPU(即控制器)。
2.运算器。
3.片内数据存储器(RAM):
用以存放可以读写的数据。
如运算结果、最终结果、欲显示的数据。
4.片内程序存储器(ROM):
用以存放原始程序、数据和表格。
5.四个8位并行输入输出接口:
P0—P3。
6.两个定时计数器:
每个计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据定时或计数结果实现计算机控制。
7.五个中断源的中断控制系统。
8.一个全双工UAST的串行I/O口,可以实现单片机与单片机或其他微机系统串行通讯。
9.片内振荡器和时钟产生电路。
10.片内系统总线:
包括数据总线、低8位地址总线、高8位地址总线和控制总线。
2.1.6运算器
运算器的组成:
算数逻辑单元ALU、累加器、寄存器。
算数逻辑单元ALU的作用:
把传送到处理器的数据进行算数或逻辑运算,它具有两个输入来源,一来自累加器,二来自数据寄存器。
ALU执行不同的运算操作是由不同控制线上的信息所决定的。
通常ALU接收来自累加器或寄存器的2组8位二进制数。
因为要对这两个输入的数据进行操作(如,数据进行算数或逻辑运算),所以将这两个输入的数据均称为操作数。
ALU可以对这两个操作数进行加、减、与、或、比较大小等操作,最后将结果存入累加器。
例如:
12和31相加,在相加之前,操作数12放在一个暂存器(累加器或寄存器)中,操作数31放在另一个暂存器(累加器或寄存器)中。
执行两数相加运算的控制线发出加操作信号,ALU即把两个数相加,并把结果43放入累加器,取代累加器中前面存放的数(12或31)。
2.1.7控制器
它由程序计数器PC、指令寄存器、指令译码器、时序产生器、操作控制器组成。
1.程序计数器PC:
为了保证程序能够连续的执行下去,CPU必须具有某些手段来确定一条指令的地址。
程序计数器PC正是起到这个作用。
所以通常又称其为指令地址计数器。
在程序开始执行之前,必须将其起始地址,即程序的第一条指令所在的内存中的单元地址送入PC,当执行指令时,CPU将自动修改PC中的内容,使之总是保存将要执行的下一条指令的地址。
由于大多数指令都是按顺序执行的,所以,修改的过程只是简单的加一操作。
2.指令寄存器:
用来保存当前正在执行的一条指令,当执行一条指令时,先把它从内存中取出,然后再传送到指令寄存器。
3.指令译码器:
指令分为操作码和操作数字段,由二进制数字组成,为执行任何给定的指令,必须对操作码进行译码,以便确定所要求的操作。
指令译码器就是负责这项工作的,指令寄存器中操作码的输出,就是指令译码器的输入。
操作码一经译码后,即可向操作控制器发出具体操作的特定信号。
4.时序产生器:
控制器是发布命令的决策机构,即协调和指挥整个计算机系统操作。
控制器电路复杂。
控制器内部各部分要协调工作,必须有一个同步信号,这个同步信号就是时钟,时钟是由晶体振荡电路产生的周期固定的方波序列。
5.操作控制器的主要功能:
(1)从内存中取出一条指令,并指出下一条指令在内存中的位置。
(2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。
比如一次内存读写操作、一个逻辑运算或输入输出。
指挥并控制CPU,内存和输入设备之间的数据流动的方向。
相对控制器而言,运算器接收控制器的命令而进行操作,即运算器所进行的所有操作都是由控制器发出的控制信号来指挥的。
2.1.889C51单片机的存储器系统
89C51单片机存储器在物理结构上分为程序存储器空间和数据存储器空间。
程序存储器ROM:
我们为了让单片机实现某一功能,需要利用汇编语言或其他语言编写一些源程序,然后再烧录到芯片中,我们编写的这些程序,就存储在程序存储器空间中。
数据存储器RAM:
我们编写的源程序,在运行的过程中,会产生一些临时的运算结果,这些结果需要临时存放在一个地方,这个地方就是数据寄存器。
89C51单片机具有四个存储器空间:
(1)片内程序存储器,即单片机芯片内置的存储空间;
(2)片外程序存储器,即当单片机芯片内置的存储空间不够使用时,我们需要外加的一个存储器芯片;
(3)片内数据存储器,即单片机芯片内置的存储空间;
(4)片外数据存储器,即当单片机芯片内置的存储空间不够使用时,我们需要外加的一个存储器芯片。
但从用户使用的角度,89C51存储器地址空间分为三类:
(1)片内片外统一编址的0000H—FFFFH的64K字节的程序存储器地址空间,用16位地址。
(2)64K字节片外数据存储器空间,地址也是从0000H—FFFFH用16位地址。
(3)256字节数据存储器空间,用8位地址。
程序存储器地址空间:
89C51程序存储器用于存放编写好的程序和表格常数。
程序存储器通过16位程序计数器PC寻址。
寻址能力为64K字节。
片内ROM为4KB。
地址为0000H—FFFFH。
片外最多可扩至64K字节。
地址为1000H—FFFFH。
片内片外是统一编址的。
当引脚EA接高电平时,89C51程序计数器PC在0000H—0FFFH范围内,即前4K字节地址执行片内ROM中的程序。
当指令地址超过0FFFH后,就自动转向片外ROM中取指令。
程序存储器的某些单元是留给系统使用的。
存储单元0000H—0002H用作89C51上电复位后引导程序存放单元。
因为89C51上电复位后程序计数器PC的内容为0000H,所以CPU总是从0000H开始执行程序,如果在这三个单元中有跳转指令,那么,程序就被引导到转移指令所指的ROM空间去执行。
0003H—0023H单元被均匀的分为5段。
用作5个中断服务程序的入口。
因为5个入口之间间隔较小,因此一般来说,这五个入口都是存放着一条跳转指令,而把真正的中断服务程序安排在后面的存储单元中。
数据存储器空间:
数据存储器RAM用于存放运算中的结果、数据暂存或缓冲、标志位等。
数据存储空间也分为片内和片外两大部分,即片内RAM和片外RAM。
MSC—51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。
它们是用于存放执行的中间结果和过程数据的。
MCS—51的数据存储器均可读写,部分单元还可以位寻址。
2.2232串口芯片介绍
数据在传输过程中一位一位的串行传输,硬件连接比较简单。
最简单时只需3根连线即可实现串行通信,相对于并行通信来讲其通信速率低,一般适用于短距离数据通信。
在单片机应用系统中常采用串行通信方式。
在串行通信中,按同步方式的不同,又分为同步通信和异步通信。
(1)异步通信(AsynchronousCommunication),数据通常是以字符为单位组成字符帧传送的。
字符帧由发送端一帧一帧地发送,一帧数据低位在前,高位在后,通过传输线被接收端一帧一帧地接收。
(2)同步通信(SynchronousCommunication)是将一大批数据分成若干个数据块,数据块之间用同步字符隔开,而传输的各位二进制码之间都没有间隔。
其基本特征是发送端与接收端通信时保持严格同步。
即同步通信是一种连续串行传送数据的通信方式,一次通信只传输一帧信息。
由于电脑串口RS232电平是-10V~+10V,而一般的单片机应用系统的信号电压是TTL电平0~+5V,MAX232就是用来进行电平转换的,该器件包含两个驱动器、两个接收器和一个电压发生器电路提供TIA/EIA—232—F电平。
为了提高数据通信的可靠性和抗干扰能力,RS-232C标准中规定发送端信号逻辑“0”(空号)电平范围为+5V~+15V,逻辑“1”(传号)电平范围为-5V~-15V;接收端逻辑“0”为+3V~+15V,逻辑“1”为-3V~-15V。
噪声容限为2V。
-5V~+5V以及-3V~+3V之间分别为发送端和接收端点信号的不确定区。
通常,RS-232C总线逻辑电平采用+12V表示“0”,-12V表示“1”。
下图是MAX232引脚图
图2.3MAX232引脚图
该器件符合TIA/EIA—232—F标准,每一个接收器将TIA/EIA—232—F电平转换成5VTTL/CMOS电平。
每一个发送器将TTL/CMOS那电平转换成TIA/EIA—232—F电平。
232是电荷泵芯片,可以完成两路TTL/RS—232电平的转换,它的9、10、11、12引脚是TTL电平端,用来连接单片机的。
MAX232获得正负电源的另一种方法在单片机控制系统中,我们时常要用到数/模(D/A)或者模/数(A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如:
9V,-9V;12V,-12V。
这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。
在控制板上,我们有的只是5V电源,可又有很多方法获得非5V电源。
在这里我们介绍一块大家常用的芯片
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 智能 路灯 控制器 设计 实现