基于单片机的智能插座的设计含电路图毕业设计论文(编辑修改稿)内容摘要:
毕业设计论文 第 13 页 共 29 页 LCD1602 液晶显示模块可同时显示 16*2 即 32 个字符,内部含有的字符发生存储器里面 存储了 160 个不同的点阵字符图形,包括阿拉伯数字、英文字母的大小写、常用的符号和日文的片假名等,每个字符都有一个固定的代码,比如大小写英文字母的 A 的代码是 01000001B( 41H),显示模块在显示 A时就把地址 41H中的点阵字符图像显示出来,我们就能看到屏幕显示字母 A 了。 表 LCD1602引脚定义 : 表 LCD1602 引脚定义 引脚号 引脚名 电平 输入 /输出 作用 1 Vss 电源地 2 Vcc 电源( +5V) 3 Vee 对比调整电压 4 RS 0/1 输入 0=输入指 令 1=输入数据 5 R/W 0/1 输入 0=向 LCD 写入指令或数据 1=从 LCD 读取信息 6 E 1,1→ 0 输入 使能信号, 1 时读取信息, 1→ 0(下降沿)执行命令 7 DB0 0/1 输入 /输出 数据总线 line0(最低位 ) 8 DB1 0/1 输入 /输出 数据总线 line1 9 DB2 0/1 输入 /输出 数据总线 line2 10 DB3 0/1 输入 /输出 数据总线 line3 11 DB4 0/1 输入 /输出 数据总线 line4 12 DB5 0/1 输入 /输出 数据总线 line5 13 DB6 0/1 输入 /输出 数据总线 line6 14 DB7 0/1 输入 /输出 数据总线 line7(最高位) 15 A +Vcc LCD 背光电源正极 16 K 接地 LCD 背光电源负极 毕业设计论文 第 14 页 共 29 页 控制模块 本设计采用的是 型号为 SONGLE SRD05VDCSLC的 继电器, 5V 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。 故在电路中起着自动调节、安全保护、 转换电路等作用,实现小电压控制大电压 的目的。 在本系统中,主要是用于控制插座的开关状态,通过单片机 I/O 输出信号控制继电器的工作已否从而达到控制插座开关的目的。 温度采集模块 DS18B20 数字温度计是 DALLAS 公司生产的 1Wire,即单总线器件,具有线路简单、体积小、低功耗、高精度、抗干扰能力强等特点的数字温度传感器。 DS1820 数字温度计提供 9 位 (二进制 )温度读数,指示器件的温度。 信息经过单线接口送入 DS1820 或从 DS1820 送出,因此从主机 CPU 到 DS1820 仅需一条线 (和地线 )、 DS1820 的电源可以由数据线本身提供而不需要外部电源。 因为每一个 DS1820 在出厂时已经给定了唯一的序号,因此任意多个 DS1820 可以存放在同一条单线总线上。 这允许在许多不同的地方放置温度敏感器件。 DSI820 的测量范围从一 55℃到 +125℃ 增量值为 ℃ ,可在 1s(典型值 )内把温度变换成数字每一个 DS1820 包括一个唯一的 64 位长的序号,该序号值存放在 DS1820 内部的 ROM(只读存贮器 )中。 开始 8 位是产品类型编码 (DS1820 编码均为 10H)、接着的 48 位是每个器件唯一的序号、最后 8 位是前面 56 位的 CRC(循环冗余校验 )码。 DS1820 中还有用于贮存测得的温度值的两个 8 位存贮器 FAM 编号为 0 号和 1号。 1 号存贮器存放温度值的符号,如果温度为负 (℃ ).则 1 号存贮器 8 位全为 1,否则全为 0。 0 号存贮器用于存放温度值的补码, LSB(最低位 )的“ 1表示 ℃。 将存贮器中的二进制数求补再转换成十进制数并除以 2 就得到 被测温度 (550℃一 125℃ ). DS1820 的引脚如图 所示、每只 DS1820 都可以设置成两种供电方式 .即数据总线供电方式和外部供电方式。 采取数据总线供电方式可以节省一 毕业设计论文 第 15 页 共 29 页 根导线,但完成温度测量的时间 较长 , 采取外部供电方式则多用一根导线,但测量速度较快。 :地; :数字输入 /输出; :可选的 +5V 电源。 图 DS18B20 的引脚图 毕业设计论文 第 16 页 共 29 页 本设计中用到的单片机是 STC89C52,为了使编写的程序更加简单明了,采用 C 语言进行编程,用 Keil 软件进行编译, STC— ISP 软件进行下载。 软件设计部分包括液晶显示程序、 DS1302 计时程序、 DS18B20 测温程序, 独立式按键处理程序等。 由于定时 设置是通过独立式按键进行设置的,程序在按键扫描部分相对重要。 在检测到被设置了定时任务时,系统要检测是否到达定时时间,执行相应的动作。 图 : 开 始按 键 扫 描是 否 定 时。 执 行 定 时 程 序Y是 否 到 达 定 时 时 间 或 温 度执 行 相 应 开 关 程 序 并 显 示YNNN初 始 化 图 主程序流程图 毕业设计论文 第 17 页 共 29 页 DS1302计时程序的编写 DS1302 串行时钟芯片的主要组成部分:移位寄存器控制逻辑、振荡器、实时时钟以及 RAM。 为了初始化任何的数据传送,把 RST 置为高电平且把提供地址和命令信息的 8 位装入到移位寄存器中。 数据在 SCLK 的上升沿串行输入。 无论是读周期还是写周期 发生,也无论传送方式是单字节传送还是多字节传送,开始8 位指定的 40 个字节中的那个将被访问。 在开始 8 个时钟周期把命令字装入移位寄存器之后,另外的时钟在读操作时输出数据,在写操作时输入数据。 时钟脉冲的个数在单字节方式下为 8加 8,在多字节方式下为 8加最大可达 248 的数。 DS1302 总共有 12个寄存器,其中的 7 个寄存器分别与日历、时钟相关,存放的数据位为 BCD 码形式。 表 3 为它的日历、时间寄存器及控制字,其中奇数为读操作,偶数为写操作。 表 为 寄存器地址和内容 : 表 寄存器地址和内容 写寄存器 读寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 秒 80H 81H CH 10 秒 秒 分 82H 83H 0 10 分 分 小时 84H 85H 12/2 4 0 10 A/P 时 时 日 86H 87H 0 0 10 日 日 月 88H 89H 0 0 0 10 月 月 星期 8AH 8BH 0 0 0 0 0 星期 年 8CH 8DH 10 年 年 控制 8EH 8FH WP 0 0 0 0 0 0 0 如图 为 DS1302 的命令字节,每一数据传送由命 令字节初始化。 最高位有效位 MSB 必须为 1。 如果它是零,禁止写 DS1302,位 6为逻辑 0 指定时钟日历数据;逻辑 1指定 RAM 数据。 位 1和 5 指定进行输入或输出的特定寄存器。 最低 毕业设计论文 第 18 页 共 29 页 位 LSB 为逻辑 0 指定进行写操作;逻辑 1指定进行读操作,命令字节总是从最低有效为 LSB 开始输入。 7 6 5 4 3 2 1 0 1 RAM/CK A4 A3 A2 A1 A0 RD/W 图 DS1302 的命令字节 如图 为 1302 的程序流程图: 开 始变 量 出 事 换使 D S 1 3 0 2 不 具 备 写保 护复 位 将 产 生 一 个 高电 平写 1 3 0 2 地 址延 时 一 段 时 间向 该 地 址 写 数 据地 址 增 加数 据 写 完 了吗。 复 位 产 生 一 个 高 电 平写 1 3 0 2 地 址延 时 一 段 时 间将 改 地 址 的 数 据 读 出地 址 增 加数 据 读 完 了吗。 显 示 数 据YYNN 图 DS1302 实时时间流程图 毕业设计论文 第 19 页 共 29 页 LCD1602 显示电路程序编写 这部分的显示过程主要是显示从 DS1302读取的日历和时钟数值, 从 DS18B20读取温度值, 同时当检测到独立式按键有键按下时,显示相应的设置菜单等。 基本操作时序: 读状态:输入: RS=L,RW=H,E=H 输出: DO~D7=状态字 写状态:输入: RS=L,RW=L,D0~D7=指令码 ,E=高脉冲 输出:无 读数据:输入: RS=H,RW=H,E=H 输出: DO~D7=数据 写数据:输入: RS=H,RW=L,D0~D7=数据 ,E=高脉冲 输出:无 1602 显示流程图如图 : 图 1602 显示流程图 开始 初始化 读状态 数据显示 写数据 读数据 写命令 返回 毕业设计论文 第 20 页 共 29 页 DS18B20显示电路程序编写 DS18B20 是在一根 I/O 线上读写数据,因此,对读写的数据位有着严格的时序要求。 DS18B20 有严格的通信协议来保证各位数据传输的正确性和完整性。 该协议定义了几种信号的时序:初始化时序、读时序、写时序。 所有时序都是将主机作为主设备,单总 线器件作为从设备。 而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。 数据和命令的传输都是低位在先。 其设计流程图如图 所示。 测 温 开 始复 位 D S 1 8 B 2 0跳 过 R O M 指 令启 动 温 度 转 换等 待 数 据 转 换复 位 D S 1 8 B 2 0读 取 温 度 值在 线 访 问 D S 1 8 B 2 0 完 毕。 YN 图 温度采集子程序流程图 毕业设计论文 第 21 页 共 29 页 5. 仿真与调试 系统的仿真 本次设计仿真调试所用的软件是 keil 和 , keil 用来编写和调试程序, protues 用来搭建原理图并进行仿真。 在 使用这两个软件时,都遇到了一些问题,例如在使用 protues 进行原理图绘制的时候,有些器件很难找到,这就会浪费很多时间,所以,最后在网上下载了一个 protues 元件对照表,这个问题就得到了解决。 在使用 keil 编程的时候,问题主要出在编译时,因为这次设计程序代码比较长,所以在开始编译时, 会出错,提示是因为代码太长,开始不知道该怎么办,最后通过百度后才知道是因为安装的 keil 软件没有破解,破解后问题迎刃而解。 图 kell 软件应用图 ( 1)点击 project,设置一些软件目标选项: 毕业设计论文 第 22 页 共 29 页 图 生 成工程项目 点击“ ProjectNew project”菜单,出现一个对话框,要求给将要建立的工程起。基于单片机的智能插座的设计含电路图毕业设计论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。