基于单片机的智能路灯的设计
自动化1031班:何欢,郭颖悟,
田太铭,杨春燕,
李忠
目录控制系统总框图及工作原理图控制系统的硬件简介
电路设计原理图及说明
软件设计及说明序
心得体会
控制系统总框图及工作原理图
•本次课程设计题目是《基于单片机的智能路灯的设计》,此课题要求以路灯控制器为对象,完成硬件系统和软件系统程序的设计,实现以传统手动和行人通过控制两种方式来控制路灯的亮灭功能,属于软硬件结合的题目。
•其中硬件包括:单片机最小系统、路灯控制电路部分、手动控制部分、行人检测电路部分
工作原理简图如下
系统总框图如下
行人检测手动控制AT89C51
单片机
路灯控制
功能的实现
•当程序启动后,单片机处于设置的原始状态;所以灯全关,所以红外传感器打开手动控制开关处于关灯状态。
此时系统开始正常工作。
如果有行人进入智能路灯面前,红外传感器检测到信号,并以电压的形式吧信号送给单片机,单片机根据传感器送来的信号个传感器的布置,点亮相应的传感器所处的位置LED路灯,当行人通过这个路灯后,达到下一个路灯时,上一个路灯熄灭。
所处位置处和所处位置下一个灯亮。
从而实现自动控制,达到节能的效果。
当人通过最后一个路灯后,最后一个灯延时8s熄灭。
在紧急的情况下,所有的路灯都要打开,此时通过手动开关打开路灯,紧急情况过后,关闭所以路灯。
系统恢复正常。
控制系统的硬件简介
•AT89C51 简介
•AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51原理图
红外线传感器简述
•热释电红外传感器通过目标与背景的温差来探测目标,其工作原理是利用热释电效应,即在钛酸钡一类晶体的上、下表面设置电极,在上表面覆以黑色膜,若有红外线间歇地照射,其表面温度上升△T,其晶体内部的原子排列将产生变化,引起自发极化电荷,在上下电极之间产生电压△U。
常用的热释电红外线光敏元件的材料有陶瓷氧化物和压电晶体,如钛酸钡、钽酸锂、硫酸三甘肽及钛铅酸铅等。
•
红外线传感器原理图
电路设计原理图及说明
单片机最小系统电路
路灯控制电路部分
行人检测电路部分
手动控制部分
硬件电路原理图
软件设计及说明序
•Proteus软件环境介绍
•Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
其功能特点如下: Proteus软件具有其它EDA工具软件(例:multisim)的功能。
这些功能是:原理布图;PCB自动或人工布线;SPICE电路仿真。
具有3大功能模块
(1)—个易用而又功能强大的ISIS原理布图工具;
(2)PROSPICE混合模型SPICE仿真;
(3)ARES PCB设计.
软件缺点
(1)器件库溃乏,库中缺少很多重要芯片,严重影响电路仿真
(2)软件出错或乱码,此时仿真效果不及硬件仿真。
keil c51简介
•Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统[14],与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
•Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中[15]。
程序流程图及程序
程序
#include<reg51.h>
•#define uchar unsigned char •#define uint unsigned int •sbit sw1=P3^2;
•sbit sw2=P3^3;
•uint num,j;
•void delays(uint x)
•{
•uint i;
•while(x--)
•{
•if(i=0,i<110,i++);•}
•}
•
•int main()
•{
•while(1)
•{
•TMOD=0x01;•TH0=(65535-110000)/256;•TL0=(65535-110000)%256;•EA=1;
ET0=1;
P1=0xff;
P0=0xff;
while(sw1==1&&sw2==0)
{
if(P1==0xfe)
P2=0xfc;
if(P1==0xfd)
P2=0xf9;
if(P1==0xfb)
P2=0xf3;
if(P1==0xf7)
P2=0xe7;
if(P1==0xef)
P2=0xcf;
if(P1==0xdf)
P2=0x9f;
if(P1==0xbf)
P2=0x3f;
if(P1==0x7f)
j=0xba;
while(j==0xba)
{ TR0=1;
while(num==160)
{TR0=0;
num=0;
P2=0xff;
j=0;
break;}
}
if(sw1==0)
{
P2=0x00;
break;
}
}
if(sw1==0)
{
P2=0x00;
delays(20);
}
if(sw1==1&&sw2==0)
{
delays(20);
P2=0xff;
}
}
}
void time() interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
num++;
}
心得总结
•本次课程设计是基于单片机的智能控制路灯控制作为设计对象的,通过对系统所需要完成实现的功能进行分析,从而绘制出其仿真原理图,再利用C51编程软件根据系统所需要完成的功能进行程序设计,再利用仿真软件实现其功能。
•在整个设计过程中,我们遇到了很多问题,例如刚开始的时候做到一半的项目因为没理解题目的深刻含义,导致不符合要求,期间我们又重新想了很久新课题,到绘制仿真软件的时候有得元器件找不到,编程的时候总是会有这样那样的错误,或大或小的错误,好在人多力量大,在组员的认真检查,充分考虑,积极讨论下我们重新确定了这个“智能路灯”的项目,而且遇到的这些问题在请教同学和大家一起讨论中也一个个的被解决掉了。
•总而言之,在这次课程设计中我们收获颇多。
不仅仅在文字编辑上有了些提高,重要的是我们还对PROTEUS仿真软件和keil c51编程软件有了更深的应用,并且对单片机的应用和原理了解的更多了,当然更为重要的是,这次课程设计让我掌握了在团队中的交流方式及如何在团队中更好地发挥各自的强项为团队的奉献自己的力量!这些对我们即将出去是有很大的用处的。