基于单片机的智能灯光设计毕业论文(编辑修改稿)内容摘要:

讯。 总电路原理图如图 212 所示。 图 212 遥控器总电路原理图 显示屏 LCD1602 1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。 它由若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此 所以它不能很好地显示图形。 LCD1602 功能管脚如表 23所示: 表 23 LCD1602功能管脚 第 1脚 VSS接电源地。 第 2脚 VCC接 +5V 第 3脚 VEE背光对比度调整端 第 4脚 RS寄存器选择端 第 5脚 RW读写信号线 第 6脚 E 使能端 第 7~14脚 D0~D7八位双向数据线 第 1516脚 15脚背光正极, 16脚背光负极 在设计中,我们将 VCC和 VSS 分别接电源 +5V 和地,为 LCD1602 供电,在 VEE 端接了新疆大学毕业论文(设计) 11 一个 20K 的变阻器到 +5V 电源,通过调整变阻器的阻值来调整 LCD1602 的 对比度,当电压越高时对比度越弱,反之越强。 RS 寄存器选择端, RW 读写信号线, E使能端这三位分别接入单片机的 , ,。 通过程序控制这三位控制位对 LCD1602 的读写操作。 15脚和 16脚主要是为 LCD1602 的背光供电,将其分别接入电源 +5V 和电源地。 时钟芯片 DS1302 DS1302 是美国 DALLAS 公司推出 地 一种高性能、低功耗、带 RAM 的实时时钟电路,它能 对年、月、日、周 、 时、分、秒进行计时,具有闰年补偿功能。 工作电压为 ~ ,外接 的晶振。 采 用三线接口与 单片机 进行同步通信,并可采用突发方式 , 一次传送多个字节的时钟信号或 RAM数据。 DS1302 内部有一个 31 8的 RAM 寄存器 ,用于临时性存放数据。 DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源 /后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。 DS1302 功能引脚如表 24所示 : 表 24 DS1302管脚功能 管脚号 管脚名称 描述 1 VCC2 主电源,使用 +5V供电 2 XLAT1 3 XLAT2 同上 4 GND 电源地 5 CE 复位 /片选线,通过把 RST输入驱动置高电平来启动所有的数据传送。 6 I/O 串行数据输入输出端 (双向 )。 7 SCLK 时钟输入端 8 VCC1 备用电源正极,可采用大电容或者电池供电。 在 该系统 中, VCC2 用 LM7805 提供的 +5V 电压供电, VCC1 备用电源使用的是纽扣电池CR2020,提供的电压是 +3V。 I/O管脚接单片机的 脚,作为单片机对 DS1302 进行读写操作的数据通道, SCLK 接入单片机 口,作为单片机与 DS1302 的通讯时钟输入端, CE接入单片机 DS1302 发送片选信号。 LM7805 与 AMS1084 1)LM7805 应用 图 213 LM7805典型应用电路 新疆大学毕业论文(设计) 12 单片机电源电路的设计以三端集成稳压器 LM7805 为核心,它属于串联稳压电路,其工作原理与分立元件的串联稳压电源相同。 图 213是三端稳压集成电路 LM7805 的典型应用电路,三端集成稳压器设置的启动电路,在稳压电源启动后处于正常状态时,启动电路与稳压电源内部其他电路脱离联系,这样输入电压变化不直接影响基准电路和恒流源电路,保持输出电压的稳定。 电路中 Ci 的作用是消除输 入连线较长时其电感效应引起的自激振荡,减小纹波电压,取值范围在 F~ 1μ F 之间,本文 Ci 选用 F;在输出端接电容 Co是用于消除电路高频噪声,改善负载的瞬态响应,一般取 F左右,本文Co 即选用 F。 一般电容的耐压应高于电源的输入电压和输出电压。 另外,为避免输入端断开时 Co 从稳压器输出端向稳压器放电,造成稳压器的损坏,在稳压器的输入端和输出端之间跨接一个二极管,对 LM7805 起保护作用。 LM7805 输入电压为 8V 到 36V,最大工作电流 ,具有输入电压范围宽,工作电流大,输出精度 高且工作及其稳定,外围电路简单等特点 ,太阳能电池电压即使有较大的波动,也能稳定的输出 5V 电压,从而是单片机等控制电路正常工作,且成本低。 2) AMS1084 由于单片机、 LCD、 DS1302 使用电压为 +5V 直流电,而 NRF2401A 射频使用电压为+~+,所以需要将 5V 的直流电变压成 为 NRF2401A 射频芯片供电,其接线图如图 214 所示 图 214 按键指示电路及实现 在单片机应用系统中,按键主要有两种形式: 独立按键; 矩阵编码键盘。 独立按键的每个按键都单独接到单片机的一个 I/O口上,独立按键则通过判断按键端口的电位即可识别按键操作;而矩阵键盘通过行列交叉按键编码进行识别。 通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当我们按压按钮时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。 因而机械触点在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性及操作人员按键动作决定,一般为 5ms~ 20ms;按键稳定闭合时间的长短是由操作人员的按键按压时间长短决 定的,一般为零点几秒至数秒不等。 新疆大学毕业论文(设计) 13 在本设计中由于按键不是太多,故采用独立按键法,这样可以减小编程的难度,图 215为本设计的按键接线图。 图 215 按键接线图 硬件 电路板制作 开发环境 protel99SE 开发硬件设计主要使用的是 protel 99 软件 如图 15 所示 , protel 是 Altium 公司在80年代末推出的 EDA 软件,在电子行业的 CAD软件中,它当之无愧地排在众多 EDA 软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课 程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用 protel。 Protel99 SE 共分 5个模块,分别是原理图设计、 PCB 设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、 PLD 设计。 图 216 protel工作空间界面 首先进入 protel 新建一个工程,在菜单栏中的 file→ new,然后选择路径和设定工程名称,单机 OK,这样就成功的新建了一个工程。 在右边会出现工作空间,单机右键→ new新疆大学毕业论文(设计) 14 →选择 Schematic Document,这样就 新建了一个电气原理图 (如图 216),修改原理图名称,然后进入原理图,绘制需要的电气图。 在原理图绘制完毕后,对每个元件选择相应的封装,接着在菜单栏里的 design 菜单中选择 Update to PCB, protel 会自动在工作空间中生成与原理图同名的 PCB 图,并且在PCB 中标记有飞线,这样会方便布线,分布号元器件位置,设置好线宽,焊盘等设置,即可开始绘图。 如图 217 所示。 图 217 PCB图形绘制 电路板的制作 绘制完毕 PCB 图后,将其打印在转印纸上,将其覆盖在擦洗打磨干净的覆铜板上,平整的固定住,与其一起在快速制版机中加热。 注意,温度过高可能会使覆铜板铜皮翘起,温度太低会使碳粉吸附不牢固。 转印好铜板后,将转印好的铜板放入氯化铁溶液中浸泡腐蚀,将没有覆盖碳粉的部分腐蚀掉,待腐蚀完毕后,用细砂纸将电路上的碳粉打磨掉露出同色的铜皮即可。 使用 的钻头在焊盘上打孔,并且对照着 PCB 图焊接好对应的元器件,经过万用表测试无断线无短路即可上电使用。 成果如图 218所示。 图 218 焊接完毕的电路板 新疆大学毕业论文(设计) 15 第三章 程序 的设计实现 系统整体程序框架 本设计整体工作主要由单片机程序控制实现,其工作过程为:电路启动初始化,电路功能选择, 通讯握手,读取信号,显示信号, 输出选择并确定输出,单片机采集 外部光强和红外信号 等,程序整体框架如图 31所示。 图 31 程序整体框架图 主控板程序设计 本设计流程框图如图 32所示。 首先 上电,对各个模块进行初始化,然后检测各个房间的灯光状态(自动状态,强制开,强制关) , 将状态写给 NRF2401A 射频芯片的缓存区,并 将其发射给遥控器。 再进行对各个状态的处理,强制开状态则将该 房间对应的管脚置 1;反之,强制关则将对应房间的管脚清零。 继电器输出模块会通过管脚电平变化改变继电器线圈电流,控制线圈吸合或者断开,从而控制房间灯光的开关。 如果是自动状态,则通过光强传感器、红外传感器 判断房间是否应该开灯。 当外部亮度足够亮,则不需要开灯;若外部亮度较暗,则通过红外传感器检测是否有 37℃的红外频率出现,当有人被红外传感器检测到,红外传感器信号位跳变为高电平,单片机相应管脚接收到该信号会进行处理,控新疆大学毕业论文(设计) 16 制对应房间的管脚变为高电平。 图 32 主控板程序流程图 灯光延时等待的设计与思考 考虑到在家居时,很多人会暂时离开一下某件屋子,然后会回来 ,这样使灯具频繁的开关可能会导致灯具的损坏,所以设计了一套灯光延时等待程序,为了节省 MCU 的占用率,该段程序使用的是内部定时器进行计时,这样可以再执行其他程序的同时进行延时。 通过 TMOD 将单片机内部定时器 0 与定时器 1的工作方式选方式一。 TMOD 状态字如表31 所示 表 31 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 进行赋值。 计算公式如 32新疆大学毕业论文(设计) 17 式。 T=(65536X)TCY ( 32) 在式 32 中 T 为定时器定时时间, X为寄存器存储值,将其高八位写入 TH 中低八位写入 TL 中; TCY为一个指令周期, TCY与晶振频率 f 有关, TCY =12/f。 由于每次计时器计时长度有限约 10ms(方便计算),不能达到系统要求,在使用时,设定了一个时间次数变量 TIME,让其循环 100次即可延时 1S,如需时间改变,改变 TIME值即可。 定时器的调用步骤如图 33所示。 图 33 定时器调用框图 鉴于本设计有多个房间(多于两个)而单片机中仅有两个定时器,所以在每次调用定时器时都会有一个对定时器选择的程序。 当需要使用定时器时,先进行判定,定时器 0是否被其他房间所占用,若没有被占用则使用定时器 0,若被占用了,则使用定时器 1。 若定时器 0 与定时器 1同时被占用,则调用手动编写的延时定时器程序,由于该程序段比较占用单片机,会影响到系统整体的运行速度,所及将其优先级放在最后。 遥控器程序设计 遥控器主要包含的模块有 LCD1602 显示器, DS1302 时钟芯片, NRF2401A 射频模块,新疆大学毕业论文(设计) 18 还有按键部分。 主要 设计思路如下,首先上电对各个模块初始化,读取 DS1302 中的时间数据,同时让 LCD 液晶显示屏显示时间与房间,接着通过 NRF2401A 向主控板发送信号,要求返回各个房间的状态,并将其写入 LCE 液晶显示屏上。 然后扫描键盘,判断是否有房间状态需要改变,若有键盘按下,则将按键信号通过 NRF2401A 射频发送到主控板中,主控板接收到信号后改变房间状体,同时返回当前房间状态,让遥控板上的 LCD 作出相应的显示。 其流程框图如图 34 所示。 图 34 遥控器工作流程图 NRF2401A 无线射频通讯的程序设计 1) 初始化程序 初始化函数: void n1A_Init_Dev() 程序包括端口初始化和向芯 片写控制字操作,初始化流程如图 32 所示。 新疆大学毕业论文(设计) 19。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。