基于单片机的智能灯光设计毕业论文Word文档下载推荐.docx
- 文档编号:17498918
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:32
- 大小:836.34KB
基于单片机的智能灯光设计毕业论文Word文档下载推荐.docx
《基于单片机的智能灯光设计毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能灯光设计毕业论文Word文档下载推荐.docx(32页珍藏版)》请在冰豆网上搜索。
如图2-1所示,单片机选用STC89C52,通过光强检测模块检测出外界光强,是否合适开灯,由红外检测模块检测是否有人进入房间,通过主控板的单片机进行控制。
在主控板上有状态转换按键,通过按键控制各个房间的状态,是强制开/强制关/自动状态。
主控板通过无线射频模块与遥控器通讯,给遥控器传送各个房间的状态信息,并且接收遥控器发来的控制信号。
在遥控器上,把接收来的状态信号,将其通过LCD1602显示屏显示出来。
用户在不去该房间的情况下监控房间灯光的状态,并且通过遥控器上的键盘进行控制。
时钟模块将当前时间发送给单片机,单片机再通过程序控制,将时间显示在显示屏上。
系统硬件设计
单片机选用的是STC89C52,光强检测模块采用光敏电阻实现,红外检测模块采用HC-SR501人体红外感应模块,RS232通讯模块采用MAX232对信号转换,无线射频模块采用nRF2401A模块,显示屏使用LCD1602,时钟芯片使用DS1302,键盘使用可复位按键开关。
2.2.1主控板电路设计
电路设计我用的是protel99绘制。
由于光强检测和红外检测需要较大的空间,我将单片机P1口都接出来了外部接口,将其制作成方便安装的分离模块式。
P0口主要功能是与nRF2401A无线射频模块相连。
P2口我将其分成三部分,,三个管脚我用它们作为继电器输出接口;
,,作为各个房间的自动状态指示灯;
,,采集主控板上按键信号,用于转换各个房间的控制状态。
TXD和RXD两个管脚分别接MAX232芯片的R1_OUT和T1_IN位,作为单片机与PC通讯的接口。
电路原理图如图2-2所示。
图2-2主控板总原理图
2.2.2STC89C52简介
STC89C52是一种低功耗、高性能、价格低廉的CMOS8位微控制器,具有8K在系统可编程Flash储存器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
其引脚图如图2-3所示。
图2-3STC89C52单片机
2.2.3检测模块的设计与选用
1)光强检测模块
光强检测模块采用的是光敏电阻5516,其亮电阻约5KΩ,暗电阻约500KΩ。
将其与电阻串联,与三极管9014组成光强检测模块,工作电压为5V(如图2-4所示)。
在光照下,其阻值迅速下降,三极管9014的基极电压升高,三极管导通,输出信号由高变低。
当光照强度变暗后,光敏电阻的阻值升高,三极管基极电压降低,图2-4光强检测模块电路
三级管截止,光强检测信号由低变高。
2)红外检测模块
红外检测模块采用封装好的红外热释传感器HC-SR501(图2-5),感应范围138°
*125°
,感应距离7m,工作温度-15~+70℃。
通过跳线将其触发模式调成可重复收发模式,接入工作电压+5V,将其信号端接入单片机端口。
图2-5红外传感器
2.2.4继电器输出模块
该系统采用的继电器为24V继电器,需要使用ULN2003将单片机输出的5V电压信号放大到24V驱动继电器工作。
由于STC89C52单片机一般用并口进行编程,理论上可以直接用单片机的几根I/O口接并口线,但如果电路板没做好,可能会连带把计算机并口烧坏,所以要加个74HC244芯片隔离一下。
(如图2-7所示)
ULN2003是高耐压、大电流复合晶体管阵列,由七个硅NPN复合晶体管组成(图2-6)。
ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。
可直接驱动继电器等负载。
由于ULN2003是一个非门电路,继电器线圈另一端接在+24V电源上,当+5V的控制信号传送到ULN2003中,图2-6ULN2003ULN2003会输出一个低电平,让线圈吸合。
74HC244是一个三态缓冲器,作为单片机输出缓冲作用。
可以将单片机输出信号长时间保持。
图2-7继电器输出模块电路图
2.2.5nRF2401A无线射频模块
作为主控板与遥控器通讯的重要组成枢纽,无线射频模块,该系统选用的是nRF2401A无线射频模块,如图2-8所示。
nRF2401A是挪威Nordic公司推出的2.4G单片无线射频收发芯片,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。
该芯片具有接收灵敏度高、外围电路少、发射功率低、传输速率高、低功耗等优点。
nRF2401适用于多种无线通信的场合,如:
无线鼠标、无心数据采集、小型无线网络、无线抄表、门禁系统、小区传呼、监控系统、非接触RF智能卡、无线遥控、无线音频/视频数据传输等。
图2-8nRF2401A引脚示意图
nFR2401A引脚功能如表2-1所示:
表2-1NRF2401A引脚功能表
引脚
名称
引脚功能
描述
1
VCC
电源
电源正极
2
3
GND
电源地
4
PWR_UP
数字输入
芯片激活端
5
CE
使nFR2401A工作于接收或发送状态
6
DR2
频道2接收数据准备好
7
8
CLK2
数字I/O
频道2接收数据时钟输入/输出
9
10
DOUT2
数字输出
频道2接收数据
11
CS
配置模式的片选端
12
DR1
频道1接收数据准备好
13
14
CLK1
15
16
DATA
频道1接收/发送数据端
nFR2401A的工作模式有配置模式、收发模式、待机模式、关机模式四种。
模式由主控芯片通过软件设置。
芯片上电后,STC89C52通过接口将配置数据送入芯片,设置收发模式、收发频率、接收地址、发射功率、CRC校验和的长度、有效数据的长度等。
传输中,只有地址,校验和匹配的数据包才能被进一步处理,产生中断信号。
这时,S3C2440读取数据。
在同一时刻nRF2401A只能处于接收或发送模式中的一种,一般以接收模式为待机状态。
工作模式
收发模式
配置模式
空闲模式
关机模式
X
nRF2401A工作模式如表2-2所示:
表2-2nRF2401A工作模式该系统是用的是通道一,所以单片机接口只需接入PWR_UP,CE,CS,CLK1四个控制位和数据位DATA1。
同时将CLK2第二通道的脉冲输入信号接地,以防干扰。
nRF2401A工作电压为+而单片机使用的是+5V的直流电源,所以使用降压芯片将+5V的直流电转换成+的直流电为nRF2401A供电。
其外围电路如图2-9所示。
图2-9外围电路图2-10MAX232
2.2.6基于MAX232与PC通讯
MAX232是一种把电脑的串行口rs232信号电平(-10,+10v)转换为单片机所用到的TTL信号点平(0,+5)的芯片,使用+5v单电源供电,MAX232共16跟引脚,第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、
12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
其接线电路如图2-10所示。
图2-11MAX232周边电路
在该系统中,MAX232分别连接着RS232串口和单片机的TXD,RXD位,使用的是通道1,即使用的输入输出的管脚是T1_OUT,T1_IN,R1_OUT,R1_IN。
周边电路如图2-11所示。
2.3.1遥控器的设计
在遥控器的设计中,P0口外接一个排阻,排阻公共端接的是输出的+电源,主要控制nRF2401A无线射频模块,负责与主控板进行无线通讯;
P1口连接的是LCD1602显示屏的8位数据位DB0-DB7,接LCD的E端(使能端),接LCD1602的R/W管脚,负责控制LCD1602的读写控制,接LCD1602的RS管脚,负责对寄存器的选择。
同时,LCD1602的VSS位接地,VDD接LM7805提供的+5V电源。
并且VEE外接一个电位器,控制背光亮度。
单片机的分别接了四个低电平触发的按键,作为UP上翻,DOWN下翻,SWITCH切换,BACKLIGHT背光。
三位分别接入时钟芯片DS1302的SLCK,I/O,CE,作为读写时间的控制位和数据通道。
同时单片机的TXD,RXD与MAX232相连,通过RS232串口与计算机通讯。
总电路原理图如图2-12所示。
图2-12遥控器总电路原理图
2.3.2显示屏LCD1602
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。
LCD1602功能管脚如表2-3所示:
表2-3LCD1602功能管脚
第1脚
VSS接电源地。
第2脚
VCC接+5V
第3脚
VEE背光对比度调整端
第4脚
RS寄存器选择端
第5脚
RW读写信号线
第6脚
E使能端
第7~14脚
D0~D7八位双向数据线
第15-16脚
15脚背光正极,16脚背光负极
在设计中,我们将VCC和VSS分别接电源+5V和地,为LCD1602供电,在VEE端接了一个20K的变阻器到+5V电源,通过调整变阻器的阻值来调整LCD1602的对比度,当电压越高时对比度越弱,反之越强。
RS寄存器选择端,RW读写信号线,E使能端这三位分别接入单片机的,,。
通过程序控制这三位控制位对LCD1602的读写操作。
15脚和16脚主要是为LCD1602的背光供电,将其分别接入电源+5V和电源地。
2.3.3时钟芯片DS1302
DS1302是美国DALLAS公司推出地一种高性能、低功耗、带RAM的实时时钟电路,它能对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能。
工作电压为~,外接的晶振。
采用三线接口与单片机进行同步通信,并可采用突发方式,一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×
8的RAM寄存器,用于临时性存放数据。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
DS1302功能引脚如表2-4所示:
表2-4DS1302管脚功能
管脚号
管脚名称
VCC2
主电源,使用+5V供电
XLAT1
晶振接口
XLAT2
同上
复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
I/O
串行数据输入输出端(双向)。
SCLK
时钟输入端
VCC1
备用电源正极,可采用大电容或者电池供电。
在该系统中,VCC2用LM7805提供的+5V电压供电,VCC1备用电源使用的是纽扣电池CR2016,提供的电压是+3V。
I/O管脚接单片机的脚,作为单片机对DS1302进行读写操作的数据通道,SCLK接入单片机口,作为单片机与DS1302的通讯时钟输入端,CE接入单片机口主要对DS1302发送片选信号。
2.3.4LM7805与AMS1084
1)LM7805应用
图2-13LM7805典型应用电路
单片机电源电路的设计以三端集成稳压器LM7805为核心,它属于串联稳压电路,其工作原理与分立元件的串联稳压电源相同。
图2-13是三端稳压集成电路LM7805的典型应用电路,三端集成稳压器设置的启动电路,在稳压电源启动后处于正常状态时,启动电路与稳压电源内部其他电路脱离联系,这样输入电压变化不直接影响基准电路和恒流源电路,保持输出电压的稳定。
电路中Ci的作用是消除输入连线较长时其电感效应引起的自激振荡,减小纹波电压,取值范围在μF~1μF之间,本文Ci选用μF;
在输出端接电容Co是用于消除电路高频噪声,改善负载的瞬态响应,一般取μF左右,本文Co即选用μF。
一般电容的耐压应高于电源的输入电压和输出电压。
另外,为避免输入端断开时Co从稳压器输出端向稳压器放电,造成稳压器的损坏,在稳压器的输入端和输出端之间跨接一个二极管,对LM7805起保护作用。
LM7805输入电压为8V到36V,最大工作电流1.5A,具有输入电压范围宽,工作电流大,输出精度高且工作及其稳定,外围电路简单等特点,太阳能电池电压即使有较大的波动,也能稳定的输出5V电压,从而是单片机等控制电路正常工作,且成本低。
2)AMS1084
由于单片机、LCD、DS1302使用电压为+5V直流电,而NRF2401A射频使用电压为+~+,所以需要将5V的直流电变压成为NRF2401A射频芯片供电,其接线图如图2-14所示
图2-14外部接线图
2.3.5按键指示电路及实现
在单片机应用系统中,按键主要有两种形式:
1、独立按键;
2、矩阵编码键盘。
独立按键的每个按键都单独接到单片机的一个I/O口上,独立按键则通过判断按键端口的电位即可识别按键操作;
而矩阵键盘通过行列交叉按键编码进行识别。
通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当我们按压按钮时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。
因而机械触点在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性及操作人员按键动作决定,一般为5ms~20ms;
按键稳定闭合时间的长短是由操作人员的按键按压时间长短决定的,一般为零点几秒至数秒不等。
在本设计中由于按键不是太多,故采用独立按键法,这样可以减小编程的难度,图2-15为本设计的按键接线图。
图2-15按键接线图
2.4硬件电路板制作
2.4.1开发环境protel99SE
开发硬件设计主要使用的是protel99软件如图15所示,protel是Altium公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用protel。
Protel99SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。
图2-16protel工作空间界面
首先进入protel新建一个工程,在菜单栏中的file→new,然后选择路径和设定工程名称,单机OK,这样就成功的新建了一个工程。
在右边会出现工作空间,单机右键→new→选择SchematicDocument,这样就新建了一个电气原理图(如图2-16),修改原理图名称,然后进入原理图,绘制需要的电气图。
在原理图绘制完毕后,对每个元件选择相应的封装,接着在菜单栏里的design菜单中选择UpdatetoPCB,protel会自动在工作空间中生成与原理图同名的PCB图,并且在PCB中标记有飞线,这样会方便布线,分布号元器件位置,设置好线宽,焊盘等设置,即可开始绘图。
如图2-17所示。
图2-17PCB图形绘制
2.4.2电路板的制作
绘制完毕PCB图后,将其打印在转印纸上,将其覆盖在擦洗打磨干净的覆铜板上,平整的固定住,与其一起在快速制版机中加热。
注意,温度过高可能会使覆铜板铜皮翘起,温度太低会使碳粉吸附不牢固。
转印好铜板后,将转印好的铜板放入氯化铁溶液中浸泡腐蚀,将没有覆盖碳粉的部分腐蚀掉,待腐蚀完毕后,用细砂纸将电路上的碳粉打磨掉露出同色的铜皮即可。
使用0.5mm的钻头在焊盘上打孔,并且对照着PCB图焊接好对应的元器件,经过万用表测试无断线无短路即可上电使用。
成果如图2-18所示。
图2-18焊接完毕的电路板
第三章程序的设计实现
系统整体程序框架
本设计整体工作主要由单片机程序控制实现,其工作过程为:
电路启动初始化,电路功能选择,通讯握手,读取信号,显示信号,输出选择并确定输出,单片机采集外部光强和红外信号等,程序整体框架如图3-1所示。
图3-1程序整体框架图
主控板程序设计
本设计流程框图如图3-2所示。
首先上电,对各个模块进行初始化,然后检测各个房间的灯光状态(自动状态,强制开,强制关),将状态写给NRF2401A射频芯片的缓存区,并将其发射给遥控器。
再进行对各个状态的处理,强制开状态则将该房间对应的管脚置1;
反之,强制关则将对应房间的管脚清零。
继电器输出模块会通过管脚电平变化改变继电器线圈电流,控制线圈吸合或者断开,从而控制房间灯光的开关。
如果是自动状态,则通过光强传感器、红外传感器判断房间是否应该开灯。
当外部亮度足够亮,则不需要开灯;
若外部亮度较暗,则通过红外传感器检测是否有37℃的红外频率出现,当有人被红外传感器检测到,红外传感器信号位跳变为高电平,单片机相应管脚接收到该信号会进行处理,控制对应房间的管脚变为高电平。
图3-2主控板程序流程图
3.2.1灯光延时等待的设计与思考
考虑到在家居时,很多人会暂时离开一下某件屋子,然后会回来,这样使灯具频繁的开关可能会导致灯具的损坏,所以设计了一套灯光延时等待程序,为了节省MCU的占用率,该段程序使用的是内部定时器进行计时,这样可以再执行其他程序的同时进行延时。
通过TMOD将单片机内部定时器0与定时器1的工作方式选方式一。
TMOD状态字如表3-1所示
表3-1TMOD状态字
D7
D6
D5
D4
D3
D2
D1
D0
GATE
C/~T
M1
M0
定时器/计数器1
定时器/计数器0
计算出计时器每次计时时间,并对TH1,TL1,TH0,TL0进行赋值。
计算公式如3-2式。
T=(65536-X)TCY(3-2)
在式3-2中T为定时器定时时间,X为寄存器存储值,将其高八位写入TH中低八位写入TL中;
TCY为一个指令周期,TCY与晶振频率f有关,TCY=12/f。
由于每次计时器计时长度有限约10ms(方便计算),不能达到系统要求,在使用时,设定了一个时间次数变量TIME,让其循环100次即可延时1S,如需时间改变,改变TIME值即可。
定时器的调用步骤如图3-3所示。
图3-3定时器调用框图
鉴于本设计有多个房间(多于两个)而单片机中仅有两个定时器,所以在每次调用定时器时都会有一个对定时器选择的程序。
当需要使用定时器时,先进行判定,定时器0是否被其他房间所占用,若没有被占用则使用定时器0,若被占用了,则使用定时器1。
若定时器0与定时器1同时被占用,则调用手动编写的延时定时器程序,由于该程序段比较占用单片机,会影响到系统整体的运行速度,所及将其优先级放在最后。
3.3.1遥控器程序设计
遥控器主要包含的模块有LCD1602显示器,DS1302时钟芯片,NRF2401A射频模块,还有按键部分。
主要设计思路如下,首先上电对各个模块初始化,读取DS1302中的时间数据,同时让LCD液晶显示屏显示时间与房间,接着通过NRF2401A向主控板发送信号,要求返回各个房间的状态,并将其写入LCE液晶显示屏上。
然后扫描键盘,判断是否有房间状态需要改变,若有键盘按下,则将按键信号通过NRF2401A射频发送到主控板中,主控板接收到信号后改变房间状体,同时返回当前房间状态,让遥控板上的LCD作出相应的显示。
其流程框图如图3-4所示。
图3-4遥控器工作流程图
3.3.2NRF2401A无线射频通讯的程序设计
1)初始化程序
初始化函数:
voidn1A_Init_Dev()
程序包括端口初始化和向芯片写控制字操作,初始化流程如图3-2所示。
图3-5NRF2401A初始化框图
NRF2401A的工作模式如表3-2所示:
表3-2NRF2401A工作模式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 灯光设计 毕业论文