数字温度计研究与设计毕业论文(编辑修改稿)内容摘要:

基于 Lab Center Electronics 公司的 PROTEUS 软 件,PROTEUS 实现了从概念到产品的设计 ,与 Keil 能联立调试,完成程序与硬件的搭建。 本课题选取的 P89V51RD2 在 PROTEUS 元件库中没有,而因为 P89V51RD2 在代码和引脚等功能上兼容 AT89C51,所以用 AT89C51 代替,仿真电路图如图 所示。 图 硬件仿真电路图 3. 1 最小系统 单片机最小系统如图 所示,是由单片机芯片、晶振振荡电路、复位电路组成的。 本科毕业设计说明书(论文) 第 8 页 共 37 页 图 最小系统( AT89C51替代仿真) P89V51RD2 的简介 P89V51RD2 是飞利浦 生产的基于 80C51 的低功耗系列微处理器 ,此款芯片除了上文所述的 X2 方式的降低电磁干扰( EMI),程序存储器支持系统中编程和在应用中编程 ,可重复编程, ISP 的应用在应用固件的作用下扩大了范围。 P89V51RD2 的工作电压是 5V , 1KB 的 RAM, 64KB 的 Flash,增加了 3个中断源和2个中断优先级、低电磁干扰方式以及双 DPTR 指针。 和 51微处理器相同的是有 4个8 位输入输出口,其中有三个 高达 16mA 的 I/O 口,同时内部自带上拉电阻。 当然,最重要的是具有低功耗模式:( 1)外部中断唤醒的掉电模式( 2)空闲模式。 P89V51RD2 有三种封装形式: DIP、 PLCC、 TQFP,在芯片的选取中体现在最后 2位字母,本课题采用就是 P89V51RD2FN, F 代表温度范围是 40℃ ~ 85 ℃, N则代表DIP 封装,如下表所示: 表 P89V51RD2封装 P89V51RD2FA 64KB 40~ +85℃ P89V51RD2FBC 64KB 40~ +85℃ P89V51RD2BN 64KB 0~ +70℃ P89V51RD2FN 64KB 40~ +85℃ 时钟电路 时钟电路由晶振和 30 PF 电容器组成的生成单片机需要的时钟振荡频率 12 MHZ。 本科毕业设计说明书(论文) 第 9 页 共 37 页 在 MCS- 51系列单片机片内置有一个高增益的反相放大器,放大器的输入端为 XTAL1,输出端为 XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。 复位电路的原理 其中,复位电路紧急处理,当系统故障时,按下复位键系统将重启。 复位电路包括电解电容器、电阻器、按键 ,单片 机复位条件是连接高电平。 单片机开始 后 ,通过电容器的电压连续的 V5 ,这是当通过电阻器的电压接近 V0 , RST 在低水平 ,以便系统正常工作。 当按钮被按下时 ,开关打开 ,这一次 ,形成一个循环在电容器 ,电容器短路 ,所以电容器是放电。 一段时间后 ,电容器的电压由 V5 下降到 ,甚至更小。 根据串联电路电压的总和 ,这 一次通过电阻器的电压 K10 为 ,甚至更多 ,RST 相当于高电平,系统自动重置。 3. 2 温度采集电路 温度采集模块采用的是由达拉斯公司推出的最新的一种比较先进的智能温度传感器 —— DS18B20[12]。 DS18B20 完成对温度的测量以及独立的将测量结果送给单片机的任务 ,单片机完成对温度的转换和计算工作 ,再经显示电路显示出来 ,同时设有报警电路 [13]。 DS18B20 内部集成了 ONB0ARD(在板)专利技术,该芯片如一只 三极管的外形内部集成了敏感元件和转换电路。 该芯片是 1wire 接口的数字温度传感器,能有效地提高抗干扰性,测温范围是 55℃ ~ +125℃,可以在编程时设置 9~ 12 位分辨率。 此外, DS18B20 的芯片硬件接口电路简单,很大程度上节省了引线和逻辑电路,通用性很好。 其仿真电路图如图 所示: 图 温度采集电路 本科毕业设计说明书(论文) 第 10 页 共 37 页 DS18B20 供电方式 DS18B20 供电的方式有 2种,一种是较为常见的直接接电源,即 DS18B20 的 1号引脚接 GND, 2号引脚接 I/O 口, 3号引脚接 VCC;而另外一种是由寄生电源 供电,单片机端口接信号口, UDD、 GND 接地,为保证在有效的的足够的电流在 DS18B20 时钟周期内被提供,可用一个 MOSFET 管来完成对总线的上拉。 DS18B20 的工作原理 DS18B20 的工作原理如图 所示:利用不同温度系数的晶振的振荡频率受温度影响不同(低温度系数变化小,高温度系数变化大)分别产生相同频率的脉冲信号送到两个计数器中,低温度系数晶振的计数和温度寄存器设定为最低温度 55 摄氏度,低温度系数晶振产生的脉冲信号减法计数,到零后加一,低温度系数晶振的计数重新加入,重新开始计数, 直到另一计数器计数到零,停止温度寄存器的累加,即为所测得温度。 计 数 器 1置 顶斜 率 累 加 器比 较低 温 度 系 数 晶 振顶 置= 0温 度 寄 存 器高 温 度 系 数 晶 振计 数 器 2= 0清 除加 1停 止图 DS18B20测温原理 3. 3 显示电路 由于 LCD 独具低压和微功耗性,液晶显示器在单片机系统中被广泛应用,AMPIRE128X64 显示器是一款汉字图形型液晶显示模块 , 硬件接口电路如图 所示: 本科毕业设计说明书(论文) 第 11 页 共 37 页 图 显示电路 AMPIRE128X64 显示器的引脚接口 在显示电路中, VBB 接地, VDD 接 +5V, VEE 为液晶对比度调整端,接正电源时对比度最弱,接地 时对比度最高;为了获得最佳对比度, VEE 接地 [2]。 如表 所示: 本科毕业设计说明书(论文) 第 12 页 共 37 页 表 AMPIRE128X64接口说明 1 CS1 H/L 片选信号,低电平选前 64位 2 CS2 H/L 片选信号,低电平选前 64位 3 GND 0V 逻辑地 4 VCC 5V 逻辑正 5 VO 驱动电压,在 VEE和 VO家电阻 6 RS H/L 数据 /指令选择: 高电平:数据送入显示 RAM; 低电平:数据送入指令寄存器 7 R/W H/L 读 /写:高水平:读数据 低电平:写数据 8 E H/L 读写高电平有效 9 DB0 H/L 输入输出引脚 10 DB1 H/L 输入输出引脚 11 DB2 H/L 输入输出引脚 12 DB3 H/L 输入输出引脚 13 DB4 H/L 输入输出引脚 14 DB5 H/L 输入输出引脚 15 DB6 H/L 输入输出引脚 16 DB7 H/L 输入输出引脚 17 RET L 低电平复位有效 18 VOUT 10V LCD驱动源 如上表示, AMPIRE128X64 有五个控制,一个复位,四个电源和八个 三态数据引脚。 与有字库的液晶显示屏不同的是 AMPIRE128X64 被分成 2 个液晶驱动,分左右显示,所有有 CS CS2。 AMPIRE128X64 显示器的硬件结构 AMPIRE128X64 采用了由行驱动和列驱动 2 部分组成了 64128 的动态驱动的全点阵液晶显示,可以显示 32 个 1616 的汉字或 64 个 816 的 ASCII 字符,也可以显示图片。 AMPIRE128X64 有 5条与 CPU 相连的控制 总线, 8位并行 I/O 数据总线。 该液晶显示器主要由 8 个硬件模块组成: ( 1) 显示数据 (RAM/DRDAM): DRDAM 用于存储数据, RAM映射到显示屏上的点(高电平显示,低电平不显示) ( 2) 输入输出缓冲器 :是双向工作的,将液晶显示模块与 MPU 总线连接,实现 本科毕业设计说明书(论文) 第 13 页 共 37 页 不同时钟下系统的通讯。 当片选有效则实现通讯,否则中断联系,呈现高阻态,不影响其他功能的实现。 ( 3) 输入寄存器 :接收 MPU 给液晶显示模块( LCM)的数据并锁存。 ( 4) 输出寄存器 :用于暂时储存数据。 ( 5) 指令寄存器 :接收指令代码,译码将之送入寄存器或触发器。 ( 6) 状态寄存器 :表示液晶 屏的当时工作状态,尤其“忙”状态是标志 MPU 对LCM 访问必须判别的状态,处于“忙”是,输入输出缓冲器被锁,任何操作无效。 ( 7) X 地址寄存器 :控制着液晶显示屏 8个页面的选择的 3位的页地址寄存器,是八选一的选择器,且没有自动修改功能,想要修改必须重置 X 地址寄存器。 ( 8) Y 地址计数器 :管理 64 个单元的六位循环加一计数器,和 X 地址寄存器结合选通唯一的显示单元, Y 地址计数器有自动加 1 的功能,读写操作后加一,加满 0X3F 后循环归零再加一。 3. 4 报警电路 为了加强数字温度计的实用性,设置了超限报警功能,如图 所示: 图 报警电路 蜂鸣器实现报警功能的原理是:振动膜发声的电流经过电磁线圈,但是由于微处理器的输出电流只有 mA36 ,不能满足蜂鸣器发声的要求,因此将一个三极管充当电流放大,当单片机发出报警信号时,三极管导通,蜂鸣器工作。 本科毕业设计说明书(论文) 第 14 页 共 37 页 4 软件电路的设计 在软件设计方面中 , 笔者使用的是模块化设计程序方法,这种方法优势如下 :①模块化编程不仅简化了程序开发 ,而且便于理解和调试;②当有相同作用的程序 ,需要2 次以上的使用时, 程序可以编写成函数 ,在以后需使用时,可以直接调用而不需重新编写;③对数字温度计而言,日后需要增减某一功能时,只需要调节相应程序模块即可,灵活性高。 4. 1 总体软件设计流程 开 始结 束初 始 化d s 1 8 b 2 0 在。 温 度 转 换 命 令读 取 命 令温 度 处 理 命 令 L C D 忙。 超 限 ?L C D 显 示报 警NYYYNN 图 软件设计流程图 如图 所示: 软件设计部分要求实现传感器 DS18B20 采集到温度并且在内部转换为数字信号然后传送到单片机,单片机分为两部分,一部分将采集到的的温度转 本科毕业设计说明书(论文) 第 15 页 共 37 页 发给液晶显示器,在显示屏不被占用的情况下,实时显示温度;另一部分执行比较操作,即判断是否超限,超过上限或下限就输出电信号到蜂鸣器,蜂鸣器报警。 主程序关键 语句: void main() { LCD_init()。 clear12864()。 //初始化 show()。 SX ()。 read_18B20()。 Delay_nms(1000)。 //读温度 while (1) { if(flag) //按秒刷新 { read_18B20()。 play_xiao (55 , 4 , Xiao)。 if(fg==1) { play8(00 , 2 , fuhao)。 play32_n2(12 , 2 , Z)。 } else play32_n3(0。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。