基于单片机的智能灯光设计论文.doc
《基于单片机的智能灯光设计论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能灯光设计论文.doc(39页珍藏版)》请在咨信网上搜索。
第一章前言2 1.1 本课题的研究背景和意义2 1.2 本课题研究的主要容2 1.3 本论文的主要容与结构安排2 第二章系统设计3 系统总体设计方案3 2.1 系统硬件设计3 2.2.1 主控板电路设计4 2.2.2 STC89C52简介4 2.2.3 检测模块的设计与选用4 2.2.4继电器输出模块5 2.2.5 nRF2401A无线射频模块6 2.2.6 基于MAX232与PC通讯8 2.3.1 遥控器的设计9 2.3.2 显示屏LCD16029 2.3.3 时钟芯片DS130210 2.3.4 LM7805与AMS108411 2.3.5 按键指示电路与实现12 2.4硬件设计开发13 2.4.1 开发环境protel99SE13 2.4.2 电路板的制作14 第三章程序的设计实现15 3.1 系统整体程序框架15 3.2.1 主控板程序设计16 3.2.2 灯光延时等待的设计与思考17 3.3.1 遥控器程序设计19 3.3.2 NRF2401A无线射频通讯的程序设计19 3.3.2 LCD1602显示模块的程序设计23 3.3.3 DS1302时钟芯片的设计26 3.4软件设计开发28 3.4.1 软件开发环境KeiluVision4简介28 3.4.2 KEIL的使用28 3.4.3单片机程序的烧写29 第四章调试结果30 结束语31 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作与取得的成果。尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得与其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。 作者签名: 日 期: 学位论文原创性声明 本人重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 1 绪论 1.1 本课题的研究背景和意义 随着科技的发展,和人们的生活水平不断提高,居住环境的改善备受关注,于是家居智能化的快速兴起,满足人们对舒适,安全,便捷以与节能环保的时尚生活的追求。现阶段人类社会的进步越来越依赖于对能源的开发与利用,然而人们对能源无尽的需求量和有限的能源数量形成了不可抗拒的矛盾,能源匮乏不仅是我国所面临的危机,更是世界所面临的严峻考验。而中国是一个人口大国,家庭是其中最基本的一个组成单元,家庭照明占我国电能消耗的一大部分。管理好家庭灯光照明系统,不仅能减少电能的巨大浪费,优化我们的生活方式和居住环境,还能为我们提供优质、舒适、安全的生活空间。 灯光的智能化是智能家居的重要组成部分,本文介绍了一种基于单片机和无线射频技术的的智能灯光控制系统(增多) 1.2 本课题研究的主要容 本设计所制作的智能灯光主要用来控制照明灯,通过检测室有无人员和室光线的强弱来控制照明灯的开启和关闭,以达到根据不同的环境,人们的不同需要实现室不同位置的照明需求,并且可以通过遥控对室的灯光进行控制,实现自动/手动切换,更加人性化的设计,让该系统有了更高的实用价值。 该设计主要由主控板和遥控器组成,其中:主控板包括单片机控制模块、检测输入模块、射频通讯模块、PC上位机监控模块、驱动电路模块、继电器输出模块。遥控器包括单片机控制模块、无线射频模块、键盘模块、显示器模块。通过测试,系统稳定,能够根据外界环境的变化自动进行开关的控制。由于单片机的I/O口资源丰富,可将后级扩展成多路自动开关,同时控制多路照明灯,使其应用于宾馆、学校、家庭等环境。所以该设计具有较广泛的应用前景。(合并) 1.3 论文的主要容与结构安排 鉴于无线通讯与灯光智能系统的重要意义与单片机在该系统中的独特优势,本论文选择以单片机为核心,以红外感应与光强感应为被测量,开关按钮可切换状态,设计了智能灯光系统。不但实现了下位机对灯光的自动控制、实时监测与遥控器的通讯,还在此基础上实现了对时间的显示,操作系统的简便化,让系统更容易被用户使用。 论文结构安排如下: 第一章:智能灯光系统的普遍性性与研究现状,以与论文的主要容与结构。 第二章:总体设计方案与硬件设计,其中包括主控板和遥控器的设计。 第三章:主控板和遥控器的程序设计。 第四章:调试结果。 2 方案设计 图2-1 系统总体设计方案 系统总体设计方案 如图2-1所示,单片机选用STC89C52,通过光强检测模块检测出外界光强,是否合适开灯,由红外检测模块检测是否有人进入房间,通过主控板的单片机进行控制。在主控板上有状态转换按键,通过按键控制各个房间的状态,是强制开/强制关/自动状态。主控板通过无线射频模块与遥控器通讯,给遥控器传送各个房间的状态信息,并且接收遥控器发来的控制信号。在遥控器上,把接收来的状态信号,将其通过LCD1602显示屏显示出来。用户在不去该房间的情况下监控房间灯光的状态,并且通过遥控器上的键盘进行控制。时钟模块将当前时间发送给单片机,单片机再通过程序控制,将时间显示在显示屏上。 2.1 系统硬件设计 单片机选用的是STC89C52,光强检测模块采用光敏电阻实现,红外检测模块采用HC-SR501 人体红外感应模块,RS232通讯模块采用MAX232对信号转换,无线射频模块采用nRF2401A模块,显示屏使用LCD1602,时钟芯片使用DS1302,键盘使用可复位按键开关。 2.2.1 主控板电路设计 电路设计我用的是protel99绘制。由于光强检测和红外检测需要较大的空间,我将单片机P1口都接出来了外部接口,将其制作成方便安装的分离模块式。P0口主要功能是与nRF2401A无线射频模块相连。P2口我将其分成三部分P2.0,P2.1,P2.2三个管脚我用它们作为继电器输出接口;P2.3,P2.4,P0.7作为各个房间的自动状态指示灯;P2.5,P2.6,P2.7采集主控板上按键信号,用于转换各个房间的控制状态。TXD和RXD两个管脚分别接MAX232芯片的R1_OUT和T1_IN位,作为单片机与PC通讯的接口。电路原理图如图2-2所示。 图2-2 主控板总原理图 2.2.2 STC89C52简介 STC89C52是一种低功耗、高性能、价格低廉的CMOS8位微控制器,具有 8K 在系统可编程Flash 储存器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。其引脚图如图2-3所示。 图2-3 STC89C52单片机 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-6 ULN2003 ULN2003会输出一个低电平,让线圈吸合。 74HC244是一个三态缓冲器,作为单片机输出缓冲作用。可以将单片机输出信号长时间保持。 图2-7 继电器输出模块电路图 2.2.5 nRF2401A无线射频模块 作为主控板与遥控器通讯的重要组成枢纽,无线射频模块,该系统选用的是nRF2401A无线射频模块,如图2-8所示。nRF2401A是挪威Nordic公司推出的2.4G单片无线射频收发芯片,芯片置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。该芯片具有接收灵敏度高、外围电路少、发射功率低、传输速率高、低功耗等优点。nRF2401 适用于多种无线通信的场合,如:无线鼠标、无心数据采集、小型无线网络、无线抄表、门禁系统、小区传呼、监控系统、非接触RF智能卡、无线遥控、无线音频/视频数据传输等。 图2-8 nRF2401A引脚示意图 nFR2401A引脚功能如表2-1所示: 表2-1 NRF2401A引脚功能表 引脚 名称 引脚功能 描述 1 VCC 电源 电源正极 2 VCC 电源 电源正极 3 GND 电源 电源地 4 PWR_UP 数字输入 芯片激活端 5 CE 数字输入 使nFR2401A工作于接收或发送状态 6 DR2 数字输入 频道2接收数据准备好 7 GND 电源 电源地 8 CLK2 数字I/O 频道2接收数据时钟输入/输出 9 GND 电源 电源地 10 DOUT2 数字输出 频道2接收数据 11 CS 数字输入 配置模式的片选端 12 DR1 数字输入 频道1接收数据准备好 13 GND 电源 电源地 14 CLK1 数字I/O 频道2接收数据时钟输入/输出 15 GND 电源 电源地 16 DATA 数字I/O 频道1接收/发送数据端 nFR2401A的工作模式有配置模式、收发模式、待机模式、关机模式四种。模式由主控芯片通过软件设置。芯片上电后,STC89C52通过接口将配置数据送入芯片,设置收发模式、收发频率、接收地址、发射功率、CRC校验和的长度、有效数据的长度等。传输中,只有地址,校验和匹配的数据包才能被进一步处理,产生中断信号。这时,S3C2440读取数据。在同一时刻nRF2401A只能处于接收或发送模式中的一种,一般以接收模式为待机状态。 工作模式 PWR_UP CE CS 收发模式 1 1 0 配置模式 1 0 1 空闲模式 1 0 0 关机模式 0 X X nRF2401A工作模式如表2-2所示: 表2-2 nRF2401A工作模式 该系统是用的是通道一,所以单片机接口只需接入PWR_UP,CE,CS,CLK1四个控制位和数据位DATA1。同时将CLK2第二通道的脉冲输入信号接地,以防干扰。 nRF2401A工作电压为+3.3V而单片机使用的是+5V的直流电源,所以使用AMS1084-3.3V降压芯片将+5V的直流电转换成+3.3V的直流电为nRF2401A供电。其外围电路如图2-9所示。 图2-9 AMS1088-3.3V外围电路图2-10 MAX232 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-11 MAX232周边电路 在该系统中,MAX232分别连接着RS232串口和单片机的TXD,RXD位,使用的是通道1,即使用的输入输出的管脚是T1_OUT,T1_IN,R1_OUT,R1_IN。周边电路如图2-11所示。 2.3.1 遥控器的设计 在遥控器的设计中,P0口外接一个排阻,排阻公共端接的是AMS1084-3.3V输出的+3.3V电源,主要控制nRF2401A无线射频模块,负责与主控板进行无线通讯;P1口连接的是LCD1602显示屏的8位数据位DB0-DB7,P3.4接LCD的E端(使能端),P3.5接LCD1602的R/W管脚,负责控制LCD1602的读写控制,P3.6接LCD1602的RS管脚,负责对寄存器的选择。同时,LCD1602的VSS位接地,VDD接LM7805提供的+5V电源。并且VEE外接一个电位器,控制背光亮度。单片机的P2.1-P2.4分别接了四个低电平触发的按键,作为UP上翻,DOWN下翻,SWITCH切换,BACKLIGHT背光。P2.5-P2.7三位分别接入时钟芯片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-3 LCD1602功能管脚 第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使能端这三位分别接入单片机的P3.6,P3.5,P3.4。通过程序控制这三位控制位对LCD1602的读写操作。15脚和16脚主要是为LCD1602的背光供电,将其分别接入电源+5V和电源地。 2.3.3 时钟芯片DS1302 DS1302 是美国DALLAS公司推出地一种高性能、低功耗、带RAM的实时时钟电路,它能对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能。工作电压为2.5V~5.5V,外接32.768MHz的晶振。采用三线接口与单片机进行同步通信,并可采用突发方式,一次传送多个字节的时钟信号或RAM数据。DS1302部有一个31×8的RAM寄存器,用于临时性存放数据。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。 DS1302功能引脚如表2-4所示: 表2-4 DS1302管脚功能 管脚号 管脚名称 描述 1 VCC2 主电源,使用+5V供电 2 XLAT1 32.768MHz晶振接口 3 XLAT2 同上 4 GND 电源地 5 CE 复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。 6 I/O 串行数据输入输出端(双向)。 7 SCLK 时钟输入端 8 VCC1 备用电源正极,可采用大电容或者电池供电。 在该系统中,VCC2用LM7805提供的+5V电压供电,VCC1备用电源使用的是纽扣电池CR2016,提供的电压是+3V。I/O管脚接单片机的P2.6脚,作为单片机对DS1302进行读写操作的数据通道,SCLK接入单片机P2.5口,作为单片机与DS1302的通讯时钟输入端,CE接入单片机P2.7口主要对DS1302发送片选信号。 2.3.4 LM7805与AMS1084 1)LM7805应用 图2-13 LM7805典型应用电路 单片机电源电路的设计以三端集成稳压器LM7805为核心,它属于串联稳压电路,其工作原理与分立元件的串联稳压电源一样。图2-13是三端稳压集成电路LM7805的典型应用电路,三端集成稳压器设置的启动电路,在稳压电源启动后处于正常状态时,启动电路与稳压电源部其他电路脱离联系,这样输入电压变化不直接影响基准电路和恒流源电路,保持输出电压的稳定。电路中Ci的作用是消除输入连线较长时其电感效应引起的自激振荡,减小纹波电压,取值围在0.1μF~1μF之间,本文Ci选用0.33μF;在输出端接电容Co是用于消除电路高频噪声,改善负载的瞬态响应,一般取0.1μF左右,本文Co即选用0.1μF。一般电容的耐压应高于电源的输入电压和输出电压。另外,为避免输入端断开时Co从稳压器输出端向稳压器放电,造成稳压器的损坏,在稳压器的输入端和输出端之间跨接一个二极管,对LM7805起保护作用。 LM7805输入电压为8V到36V,最大工作电流1.5A,具有输入电压围宽,工作电流大,输出精度高且工作与其稳定,外围电路简单等特点,太阳能电池电压即使有较大的波动,也能稳定的输出5V电压,从而是单片机等控制电路正常工作,且成本低。 2)AMS1084 由于单片机、LCD、DS1302使用电压为+5V直流电,而NRF2401A射频使用电压为+3.3V~+3.6V,所以需要将5V的直流电变压成3.3V为NRF2401A射频芯片供电,其接线图如图2-14所示 图2-14 AMS1084-3.3V外部接线图 2.3.5 按键指示电路与实现 在单片机应用系统中,按键主要有两种形式:1、独立按键;2、矩阵编码键盘。独立按键的每个按键都单独接到单片机的一个I/O口上,独立按键则通过判断按键端口的电位即可识别按键操作;而矩阵键盘通过行列交叉按键编码进行识别。 通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当我们按压按钮时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而机械触点在闭合与断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性与操作人员按键动作决定,一般为5ms~20ms;按键稳定闭合时间的长短是由操作人员的按键按压时间长短决定的,一般为零点几秒至数秒不等。 在本设计中由于按键不是太多,故采用独立按键法,这样可以减小编程的难度,图2-15为本设计的按键接线图。 图2-15 按键接线图 2.4 硬件电路板制作 2.4.1 开发环境protel99SE 开发硬件设计主要使用的是protel 99软件如图15所示,protel是Altium公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国开始使用,在国的普与率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用protel。 Protel99 SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。 图2-16 protel工作空间界面 首先进入protel新建一个工程,在菜单栏中的file→new,然后选择路径和设定工程名称,单机OK,这样就成功的新建了一个工程。在右边会出现工作空间,单机右键→new→选择Schematic Document,这样就新建了一个电气原理图(如图2-16),修改原理图名称,然后进入原理图,绘制需要的电气图。 在原理图绘制完毕后,对每个元件选择相应的封装,接着在菜单栏里的design菜单中选择Update to PCB,protel会自动在工作空间中生成与原理图同名的PCB图,并且在PCB中标记有飞线,这样会方便布线,分布号元器件位置,设置好线宽,焊盘等设置,即可开始绘图。如图2-17所示。 图2-17 PCB图形绘制 2.4.2 电路板的制作 绘制完毕PCB图后,将其打印在转印纸上,将其覆盖在擦洗打磨干净的覆铜板上,平整的固定住,与其一起在快速制版机中加热。注意,温度过高可能会使覆铜板铜皮翘起,温度太低会使碳粉吸附不牢固。转印好铜板后,将转印好的铜板放入氯化铁溶液中浸泡腐蚀,将没有覆盖碳粉的部分腐蚀掉,待腐蚀完毕后,用细砂纸将电路上的碳粉打磨掉露出同色的铜皮即可。使用0.5mm的钻头在焊盘上打孔,并且对照着PCB图焊接好对应的元器件,经过万用表测试无断线无短路即可上电使用。成果如图2-18所示。 图2-18 焊接完毕的电路板 第三章 程序的设计实现 3.1 系统整体程序框架 本设计整体工作主要由单片机程序控制实现,其工作过程为:电路启动初始化,电路功能选择,通讯握手,读取信号,显示信号,输出选择并确定输出,单片机采集外部光强和红外信号等,程序整体框架如图3-1所示。 图3-1 程序整体框架图 3.2主控板程序设计 本设计流程框图如图3-2所示。首先上电,对各个模块进行初始化,然后检测各个房间的灯光状态(自动状态,强制开,强制关),将状态写给NRF2401A射频芯片的缓存区,并将其发射给遥控器。再进行对各个状态的处理,强制开状态则将该房间对应的管脚置1;反之,强制关则将对应房间的管脚清零。继电器输出模块会通过管脚电平变化改变继电器线圈电流,控制线圈吸合或者断开,从而控制房间灯光的开关。如果是自动状态,则通过光强传感器、红外传感器判断房间是否应该开灯。当外部亮度足够亮,则不需要开灯;若外部亮度较暗,则通过红外传感器检测是否有37℃的红外频率出现,当有人被红外传感器检测到,红外传感器信号位跳变为高电平,单片机相应管脚接收到该信号会进行处理,控制对应房间的管脚变为高电平。 图3-2 主控板程序流程图 3.2.1 灯光延时等待的设计与思考 考虑到在家居时,很多人会暂时离开一下某件屋子,然后会回来,这样使灯具频繁的开关可能会导致灯具的损坏,所以设计了一套灯光延时等待程序,为了节省MCU的占用率,该段程序使用的是部定时器进行计时,这样可以再执行其他程序的同时进行延时。 通过TMOD将单片机部定时器0与定时器1的工作方式选方式一。TMOD状态字如表3-1所示 表3-1 TMOD状态字 D7 D6 D5 D4 D3 D2 D1 D0 GATE C/~T M1 M0 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.2 NRF2401A无线射频通讯的程序设计 1)初始化程序 初始化函数:void n1A_Init_Dev() 程序包括端口初始化和向芯片写控制字操作,初始化流程如图3-2所示。 图3-5 NRF2401A初始化框图 NRF2401A的工作模式如表3-2所示: 表3-2 NRF2401A工作模式 工作模式 PWR_UP CE CS 收发模式 1 1 0 配置模式 1 0 1 空闲模式 1 0 0 关机模式 0 X X 对nRF2401A的初始化包括nRF2401A上电和向nRF2401A写控制字。nRF2401A上电是将芯片的PWR-UP管脚设置为高电平,上电以后才可以对nRF2401A进行控制和读写操作。nRF2401A共有18Byte(144bit)的命令字。其配置字格式如表3-3所示。 表3-3 配置字格式 位(bit) 位数 名字 功能 111~104 8 DATA1_W 通道1有效数据长度 63~24 0 ADDR1 通道1地址 23~18 6 ADDR_W 通道1地址长度 17 1 CRC_L 8或6位CRC,0是8位,1是16位 16 1 CRC_EN CRC使能位 14 1 CM 1是ShockBurstTM模式 12~10 3 XO_F 晶振频率选择 9~8 2 RF_PWR 发射功率 7~1 7 RF_CH# 信道频率 0 1 RXEN 0使能发射,1使能接收 向nRF2401A写控制字操作时序图3-6所示。 图3-6 向nRF2401A写命令字时序图 PWR-UP为高,, CE为低时,置位CS,芯片处于命令字写入状态,通过通道1向芯片的控制字缓冲区写入命令字,按照由高位到低位的顺序,命令字全部写入后,将CS置底,nRF2401A芯片将会根据命令字配置相应的部模块。在第一次配置操作结束后,只有最后两个字节的命令字可以被更改,前16个字节的修改无效,如果需要修改前16个字节的命令字(如果通道接收地址,接收数据长度等),则需要掉电(PWR-UP置低)后重新上电(PWR-UP置高),才能对芯片进行彻底初始化操作。 2)数据发送程序 nRF2401A采用ShockBurstTM(突发模式)方式发送数据。单片机向nRF2401A发送数据流程图3-4所示。 图3-7 单片机向nRF2401A发送数据流程 单片机向nRF2401A发送数据的时序如图3-8所示。 图3-8 单片机向nRF2401A发送数据时序图 图3-9 单片机向nRF2401A发送数据格式 An~A0为接收机地址,不超过40位,通过更换地址,可以向多个nRF2401A模块发送数据;Dk~D0为待发送的数据。以上数据由单片机发送到nRF2401A之后,nRF2401A将会进行打包并发射,打包后的数据格式如图3-10所示。 前缓冲 地址 有效数据 循环冗余校验 图3-10 nRF2401A对外发送数据的打包格式 其中,前缓冲是硬件自动添加,地址由用户设定。为32-40位;循环冗余校验由置CRC纠检错硬件电路自动添加。可设为O、8或6位。所有的数据总共长度为256位。 3)据接收程序 当接收端成功接收到数据后,将会置位对应的管脚数据请求DR1/DR2,单片机通过按键查询该管脚状态,或者通过中断方式接受数据。数据接收流程如图3-11所示。 图3-11单片机读取数据流程 单片机从nRF20401A读取数据的时序如图3-12所示。 图3-12 单片机从nRF2401A读取数据时序图 3.3.2 LCD1602显示模块的程序设计 四种基本操作 LCD有四种基本操作,具体如表3-4所示。 表3-4LCD与单片机之间有四种基本操作 RS R/W 操作 0 0 写命令操作(初始化,光标定位等) 0 1 读状态操作(读忙标志位) 1 0 写数据操作(要显示容) 1 1 读数据操作(可以把显示存储区中的数据反读出来) (1)读状态操作 执行读状态字操作如表3-4所示,须满足RS=0、R/W=1。根据管脚功能,当为有效电平时,状态命令字可从LCD模块传输到数据总线。同时可以保持一段时间,从而实现读状态字的功能。图2-8所示为读入状态字流程图。 图3-13 LCD读入状态字流程 (2)写命令操作 由表3-4可知当RS=0,R/W=0时,才可以通过单片机或用户指令把数据即命令,写到LCD模块,此时就对LCD进行调制。可采用查询方式:先读入状态字,再判断忙标志,最后写命令字。 1)命令字 表3-5所示为命令字,其主要介绍了指令名称、控制信号与控制代码。其指令名称是指要实现的功能,控制代号是采用的十六进制的数值表示的。 a.清零操作是指输入某命令字后即能将整个屏幕显示的容全部清除; b.归home位:将光标送到初始位;其中的*号为任意,高低电平均可; c.输入方式:设光标移动方向并指定整体显示,是否移动。I/D=0:减量方式,S=1:移位,S=0:不移位; d.显示状态:D指设置整体显示开关;C指设置光标显示开关;B指设置光标的字符闪耀; e.光标画面滚动:R/L指右移或左移;S/C指移动总体或光标; f.功能设置:DL接口数位,L指显示行数,F显示字型; g.CGRAM地址设制:相当于一个数据库,可以在其中选择所需要的符号; h.DDRAM地址设制:显示定位; i.读BF和AC:B为最高位忙的标志,F为标志位; j.写数据:将数据按要求写入到对应的单元; k.读数据:读相应单元的数据。 表3-5 命令字 指令名称 控制信号 控制代码 RS RW D7 D6 D5 D4 D3 D2 D1 D0 清屏 0 0 0 0 0 0 0 0 0 1 归HOME位 0 0 0 0 0 0 0 0 1 * 输入方式设制 0 0 0 0 0 0 0 1 I/D S 显示状态设制 0 0 0 0 0 0 1 D C B 无标画面滚动 0 0 0 0 0 1 S/C RL * * 功能设置 0 0 0 0 1 DL N F * * CGRAM地址设制 0 0 0 1 A5 A4 A3 A2 A1 A0 DDRAM地址设制 0 0 1 A6 A5 A4 A3 A2 A1 A0 读BF和AC 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 写数据 1 0 数 据 读数据 1 1 数 据 2)写命令字流程(如图3-14所示) 图3-14 LCD1602写命令字流程图 3)定义光标位置 把显示数据要某个位置,就是把显示数据写在相应的DDRAM地址中,DDRAM地址占7位。SetDDRAMaddress命令如表3-6所示。光标定位,写入一个显示字符后,DDRAM地址会自动加1或减1,加或减由输入方式设置。 表3-6SetDDRAMaddress命令 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 第1行DDRAM地址与第2行DDRAM地址并不连续。如表3-7所示。 表3-7DDRAM地址 row 1 2 3 4 5 … 14 15 16 line1 80H 81H 82H 83H 84H … 8dH 8eH 8fH line2 0c0H 0c1H 0c2H 0c3H 0c4H … 0cdH 0ceH 0cfH 4)LCD初始化 从通电开始通过延时,先经过判忙后再进行功能设置,过一段时间后可以设制显示状态(如设置行、位或阵列)再经过延时后清屏后再可以设置输入方式,具体如图3-15所示。 图3-15 LCD初始化流程 LCD显示程序的设计一般先要确定LCD的初始化、光标定位、确定显示字符后,LCD就可以按输入的字符串显示。 3.3.3 DS1302时钟芯片的设计 1)DS1302的控制字 DS1302的控制字节如表3-8所示: 表3-8 命令字节格式 位 7 6- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 灯光设计 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文