为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

毕业论文 单片机婴儿保温箱的温度控制

2017-09-02 41页 doc 288KB 92阅读

用户头像

is_321575

暂无简介

举报
毕业论文 单片机婴儿保温箱的温度控制毕业论文 单片机婴儿保温箱的温度控制 目录 引言 ................................................................................................................................................ 1 第一章 绪论 .......................................................................................
毕业论文 单片机婴儿保温箱的温度控制
毕业论文 单片机婴儿保温箱的温度控制 目录 引言 ................................................................................................................................................ 1 第一章 绪论 ........................................................................................................................... 2 1(1 课根据 ..................................................................................................................... 2 1(2 系统原理 ..................................................................................................................... 2 第二章 Protel99 SE设计原理图的应用 ............................................................ 3 2(1 原理图设计的步骤 ................................................................................................... 3 2(2 绘制简单电路图 ....................................................................................................... 3 第三章 CygnalC8051FXXX单片机系统说明 ....................................................... 7 3(1 单片机的发展与规律 .............................................................................................. 7 3.2 Cygnal C8051FXXX 系列单片机简介 ................................................................. 8 3.3 从传统的仿真调试到基于JTAG接口的在系统调试 ........................................ 9 .............................................................................. 10 3.4 从引脚复位到多源复位 3.5 最小功耗系统的最佳支持 ................................................................................... 10 第四章 婴儿保温箱的设计 ...................................................................................... 11 4.1 温度传感器采集电路............................................................................................... 11 4.1.1 温度传感器的选择及特点: .................................................................... 11 4.1.2 AD590M的引脚 ............................................................................................ 12 4.1.3 温度控制电路 ................................................................................................ 13 4.2 单片机部分接口电路 ....................................................................................... 14 4.3 日历时钟计时 ............................................................................................................ 14 4(3(1 PCF8583的寄存器结构 .......................................................................... 15 4(3(2 PCF8583与单片机接口电路 ................................................................. 16 24(3(3 IC总线 .................................................................................................... 16 4(3(4 读、写PCF8583流程图,如图4-9和4-10.................................... 17 4. 3. 5 程序设计 .................................................................................................. 18 4(4 继电器........................................................................................................................ 20 4(5键盘与显示电路....................................................................................................... 21 4(6 报警模块 ................................................................................................................... 31 结 论 ......................................................................................................................................... 35 谢 辞 ..................................................................................................... 错误~未定义书签。37 参考文献 ................................................................................................................................... 36 1 第 1 页 引言 新生儿的各种生理功能尚未成熟, 体温调节功能尚不完善, 因此, 最好使婴儿处于“中性温度”的环境中,尤其对早产婴儿、硬肿症或发育不良的新生儿更是如此。“中性温度”指能维持正常体温及皮肤温度的最适宜的环境温度, 在此温度下, 身体耗氧量最少, 蒸发散热量最少, 新陈代谢最低。婴儿保温箱以科学的, 为新生儿创造一个空气洁净、温湿度适宜的舒适环境, 能够避免婴儿感染,增强婴儿机体抵抗力,保障婴儿发育成长。 1 第 1 页 第一章 绪论 1(1 课题根据 新生儿的各种生理功能尚未成熟, 体温调节功能尚不完善, 因此, 最好使婴儿处于“中性温度”的环境中,尤其对早产婴儿、硬肿症或发育不良的新生儿更是如此。“中性温度”指能维持正常体温及皮肤温度的最适宜的环境温度, 在此温度下, 身体耗氧量最少, 蒸发散热量最少, 新陈代谢最低。婴儿保温箱以科学的方法, 为新生儿创造一个空气洁净、温湿度适宜的舒适环境, 能够避免婴儿感染,增强婴儿机体抵抗力,保障婴儿发育成长。传统的婴儿保温箱存在以下缺 点: ( 1) 缺少温度采集数据的核对。在温度传感器损坏或数据误差较大时, 没有比较确认系统, 极容易造成控制系统失灵事故, 危机婴儿的生命安全。 ( 2) 温度比较控制电路简单, 不可靠。单纯采用集成运放比较电路, 当运放电路发生故障, 而恰巧输出为启动报警电路时, 会造成保温箱内温度持续升高,造成不可挽回的严重后果。 ( 3) 电路报警的同时切断加热管的供电电源, 如果未得到及时处理, 保温箱内温度会持续降低, 极容易造成事故, 危及婴儿的生命安全。 本课题提出了一种婴儿保温箱温度控制电路安全检测方法。该方法可以确保婴儿保温箱工作在设置的正常温度范围内,避免因电路鼓掌使温度异常造成的医疗事故。 1(2 系统原理 设计突出体现在: ( 1) 建立温度传感器输出电压变化率数据库。应用单片机对采集的温度数据求变化率, 与数据库数据相比较, 判断温度传感器的工作状态。如果判断其工作异常, 则启动报警电路。 ( 2) 采用双重温度判断控制电路, 在集成运放电路和单片机系统中分别对采集的温度数据与设置温度和设置的温度上、下限作比较, 只有当两者都判断正常时加热器才能工作, 起到双重保护作用。 显然, 该婴儿保温箱的设计确保了电路温度控制精确, 工作状态可靠,能够 2 第 2 页 为新生儿提供一个空气洁净、温湿度适宜的舒适安全的环境。 第二章 Protel99 SE设计原理图的应用 2(1 原理图设计的步骤 protel99 se电路板设计步骤,一般而言,设计电路板最基本的过程可以分为三大步骤。 1 电路原理图的设计 电路原理图的设计主要是protel99se的原理图设计系统来绘制一张电路原理 图。在这一过程中,要充分利用protel99 se所提供的各种原理图绘图工具、 各种编辑功能,来实现我们的目的,即得到一张正确、精美的电路原理图。 2 产生网络表 网络表是电路原理图设计(SCH)与印制电路板设计(PCB)之间的一座桥 梁,它是电路板自动的灵魂。网络表可以从电路原理图中获得,也可从印制 电路板中提取出来。 3 印制电路板的设计:印制电路板的设计主要是针对protel99 se的另外一个重 要的部分PCB而言的,在这个过程中,我们借助protel99 se提供的强大功能 实现电路板的版面设计,完成高难度的等工作。 2(2 绘制简单电路图 (1) 原理图设计过程 1 设计图纸大小 首先要构思好零件图,设计好图纸大小。图纸大小是根据电路图的规模和 复杂程度而定的,设置合适的图纸大小是设计好原理图的第一步。 2 设置protel99 se/Schematic设计环境 包括设置格点大小和类型,光标类型等等,大多数参数也可以使用系统默认值。 3 旋转零件 3 第 3 页 用户根据电路图的需要,将零件从零件库里取出放置到图纸上,并对放置零件的序号、零件封装进行定义和设定等工作。 4 原理图布线 利用protel99 se/Schematic提供的各种工具,将图纸上的元件用具有电气 意义的导线、符号连接起来,构成一个完整的原理图。 5 调整线路 将初步绘制好的电路图作进一步的调整和修改,使得原理图更加美观。 6 报表输出 通过protel99 se/Schematic提供的各种报表工具生成各种报表,其中最重要的报表是网络表,通过网络表为后续的电路板设计作准备。 7 文件保存及打印输出 最后的步骤是文件保存及打印输出。 8 原理图的设计流程图如下图2-1所示: 图2-1 (2) 新建一个设计库启动Protel99 SE 1 启动Protel99 SE 2 选取菜单File/New来新建一个设计库,Database File Name处可输入设 4 第 4 页 计库存盘文件名,点击Browse,改变存盘目录。 3 选取File/New,打开New Document对话框,选取Schematic Document 建 立一个新的原理图文档 (3) 添加元件库在放置元件之前,必须先将该元件所在的元件库载入内存才 行。添加元件库的步骤如下: 1 双击设计管理器中的Sheet1.Sch原理图文档图标,打开原理图编辑器。 2 点击设计管理器中的Browse Sch选项卡,然后点击Add/Remove按钮 3 在Design Explorer 99\Library\Sch文件夹下选取元件库文件,然后双击鼠 标或点击Add按钮,此元件库就会出现在Selected Files框中 4 然后点击OK按钮,完成该元件库的添加。 (4) 添加元件 由于电路是由元件(含属性)及元件间的边线所组成的,所以现在要将所 有可能使用到的元件都放到空白的绘图页上。通常用下面两种方法来选取 元件。 1. 通过输入元件编号来选取元件 做法是通过菜单命令Place/Part或直接点击电路绘制工具栏上的按钮, 然后输入元件的名称和属性。 2. 从元件列表中选取 添加元件的另外一种方法是直接从元件列表中选取,该操作必须通过设 计管理器窗口左边的元件库面板来进行。 (5) 编辑元件 Schematic中所有的元件对象都各自拥有一套相关的属性。某些属性只能在 元件库编辑中进行定义,而另一些属性则只能在绘图编辑时定义。 (6) 放置电源与接地元件 VCC电源元件与GND接地元件有别于一般的电气元件。它们必须通过菜单 Place/Power Port或电路图绘制工具栏上的按钮来调用。 (7)连接线路 所有元件放置完毕后,就可以进行电路图中各对象间的连线(Wiring)。连线的主要目的是按照电路设计的要求建立网络的实际连通性。要进行操作,可单 5 第 5 页 击电路绘制工具栏上的 按钮或执行菜单Place/Wire将编辑状态切换到连线模式,此时鼠标指针由空心箭头变为大下字。只需将鼠标指针指向欲拉连线的元件端点,单击鼠标左键,就会出现一条随鼠标指针移动的预拉线,当鼠标指针移动到连线的转弯点时,单击鼠标左键就可定位一次转弯。当拖动虚线到元件的引脚上并单击鼠标左键,可在任何时候双击鼠标左键,就会终止该次连线。若想将编辑状态切回到待命模式,可单击鼠标右键可按下Esc键。更快捷的连线方法:在待命模式,按鼠标右键,点击Place Wire菜单项就可以进行连线。 (8)放置接点 在某些情况下Schematic会自动在连线上加上接点。但通常有许多接点要我们自己动手才可以加上的。如默认情况下十字交叉的连线是不会自动加上接点的。 (9) 保存文件 电路图绘制完成后要保存起来,以供日后调出修改及使用。当打开一个旧的电路图文件并进行修改后,执行菜单File/Save可自动按原文件名将其保存,同时覆盖原先的旧文件。 在保存文件时如果不希望覆盖原来的文件,可换名保存。 6 第 6 页 第三章 CygnalC8051FXXX单片机系统说明 3(1 单片机的发展与规律 在嵌入式系统低端的单片机领域,从8位单片机诞生至今,已近30年,在百花齐放的单片机家族中,80C51系列一直扮演着一个独特的角色。Cygnal推出C8051F更令业界人士刮目相看。回顾80C51系列从MCS-51、80C51到C8051F的过程,我们可以深刻领会到单片机发展的一些规律性东西。 1、嵌入式应用中的8位机现象 与从8位机迅速向16位、32位、64位过渡的通用计算机相比,8位单片机从20世纪70年代初期诞生至今,虽历经从单片微型计算机到微控制器、MCU和SoC的变迁,8位机始终是嵌入式低端应用的主要机型, CISC结构的C8051F采用CIP-8051结构,使单周期指令速度提高到原8051的12倍。 2、8位单片机中的80C51现象 Cygnal公司推出的C8051F又将8051兼容单片机推上了8位机的先进行列。总结80C51系列的发展历史,可以看出单片机的3次技术飞跃。即从MCS-51到MCU的第1次飞跃,引领Flash ROM潮流的第2次飞跃和内核化SoC的第3次飞跃。 3、 Cygnal C8051F对80C51的技术突破 (1)采用CIP-51内核大力提升CISC结构运行速度 Cygnal公司在提升8051速度上采取了新的途径,即设法在保持CISC结构及指令系统不变的情况下,对指令运行实行流水作业,推出了CIP-51的CPU模式。平均每个时钟可以执行完1条单周期指令,从而大大提高了指令运行速度。即与8051相比,在相同时钟下单周期指令运行速度为原来的12倍;整个指令集平均运行速度为原来8051的9.5倍,使8051兼容机系列进入了8位高速单片机行列。 (2) I/O从固定方式到交叉开关配置 迄今为止,I/O端口大都是固定为某个特殊功能的输入/输出口,可以是单功能或多功能,I/O端口可编程选择为单向/双向以及上拉、开漏等。固定方式的I/O端口,既占用引脚多,配置又不够灵活。在Cygnal公司的C8051F中,则采用开关网络以硬件方式实现I/O端口的灵活配置,通过交叉开关配置的I/O端口系统中,单片机外部为通用I/O口,如P0口、P1口和P2口。内有输入/输出的电路单元通过相应的配置寄存器控制的交叉开关配置到所选择的端口上。 7 第 7 页 (3) 从系统时钟到时钟系统 Cygnal公司的C8051F提供了一个完整而先进的时钟系统,在这个系统中,片内设置有一个可编程的时钟振荡器(无需外部器件),可提供2、4、8和16 MHz时钟的编程设定。当程序运行时,可实现内外时钟的动态切换。编程选择的时钟输出CYSCLK除供片内使用外,还可从随意选择的I/O端口输出。 3.2 Cygnal C8051FXXX 系列单片机简介 片内资源概况:片内含CIP,51的CPU内核,它的指令系统与MCS,51完全兼容。含有8~64kB片内Flash程序存储器,256,4K的RAM、8个I,O端口共64根I,O口线、8,12 位多通道输入A,D转换器以及1,2 路12 位D,A转换器、1,2 路电压比较器、3,5 个16位通用定时器、5个捕捉,比较模块的可编程计数,定时器阵列、看门狗定时器、VDD监视器和温度传感器等部分。其工作电压范围为2(7,3(6V(端口I/O,RST和JTAG引脚的耐压为5V),内置温度传感器(?3?)。其引脚图如图3-1: 图3-1 引脚定义: VDD:数字电源 DGND:数字信号地 8 第 8 页 AV+:模拟电源 AGND:模拟信号地 TCK:JTAG 测试时钟 TMS:JTAG 测试模式选择 TDI:JTAG 测试数据输入 TDO:JTAG 测试数据输出 XTAL1:晶体输入 XTAL2:晶体输出 /RST:芯片复位 VREF:电压基准 CP0+:比较器0的同相输入端 CP0-:比较器0的反相输入端 CP1+:比较器1的同相输入端 CP1-:比较器1的反相输入端 DAC0:数模转换器输出口0 DAC1:数模转换器输出口1 AIN0~ AIN7:模拟输入 P0.0~P0.7 P1.0~P1.7 P2.0~P2.7 P3.0~P3.7:数字I/O 3.3 从传统的仿真调试到基于JTAG接口的在系统调试 C8051F在8位单片机中率先配置了的JTAG接口。引入JTAG接口将使8 位单片机传统的仿真调试产生彻底的变革。在上位机软件支持下,通过串行的 JTAG接口直接对产品系统进行仿真调试。 9 第 9 页 3.4 从引脚复位到多源复位 在非CMOS单片机中,通常只提供引脚复位的1种方法。Cygnal公司的C8051F把80C51单一的外部复位发展成多源复位。C8051的多复位源提供了上电复位、掉电复位、外部引脚复位、软件复位、时钟检测复位、比较器0复位、WDT复位和引脚配置复位。众多的复位源为保障系统的安全、操作的灵活性以及零功 耗系统设计带来极大的好处。MCU有一个片内可编程计数器/定时器阵列PCA。PCA包括1个专用的16位计数器/定时器时间基准和5个可编程的捕捉/比较模块。时间基准的时钟能是下面的4个时钟源之一:系统时钟/12、系统时钟/4、定时器0溢出或外部时钟输入(ECI)。 3.5 最小功耗系统的最佳支持 在CMOS系统中,按照CMOS电路的特点,其系统功耗WS为:WS = CV2f (式中:C为负载电容,V为电源电压,f为时钟频率)C8051F是8位机中首先摆脱5 V供电的单片机,实现了片内模拟与数字电路的3 V供电,大大降低了系统功耗;完善的时钟系统可以保证系统在满足响应速度要求下,使系统的平均时钟频率最低;众多的复位源使系统在掉电方式下,可随意唤醒,从而可灵活地实现零功耗系统设计。因此,C8051F具有极佳的最小功耗系统设计环境。C8051F虽然摆脱了5 V供电,但仍可与5 V电路方便地连接。所有I/O端口可以接收5V逻辑电平的输入,在选择开漏加上拉电阻到5 V后,也可驱动5 V的逻辑器件。Cygnal公司推出C8051F系列,把80C51系列推上了一个崭新高度。 10 第 10 页 第四章 婴儿保温箱的设计 系统硬件设计 具体设计是建立婴儿保温箱不同温度下的温度变化率,温度传感器电压变化的数据库。应用单片机对采集的温度数据求变化率,与数据库数据相比较,判断温度传感器的工作状态。如果判断其工作异常,则启动报警电路;在集成运放电路和单片机系统中分别对采集的温度数据与设置数据做比较,只有都判断正常时加热器才能工作,起到双重保护作用;婴儿保温箱硬件原理框图如图1所示, 系统用 Cygnal F005 单片机作智能部件, 包括数据采集、集成运放比较器、日历时钟以及键盘、显示、报警等功能模块,如图4-1。 图4-1 4.1 温度传感器采集电路 4.1.1 温度传感器的选择及特点: AD590M是一种单片集成两端电流输出温度传感器, 其工作电压为4,30 V;测温范围- 55?,150 ?; 精度?0.5 ?; 具有标准化的输出, 固有的线性( 温度每变化1 ?, 其输出电流变化1mA) ;输出零点为热力学温标零点, 即- 273?时AD590M 的输出电流为0mA, 0 ?时输出电流约为273mA。为了准确测量保温箱内的温度, 将保温箱内侧4 个角上的4 个传感器中对角线上的2 个并联, 另外2 个备用构成测量平均温度传感器电路。测温电路首先需要将电流转化为电压,由 11 第 11 页 于电流输出元件AD590M的电流与温度对应关系为1mA/K, 所以选取电阻R1=10 kΩ,则电阻上的压降约为10mV, 即转换成10mV/K, 电容C 用于滤除噪声。为防止因温度传感器输出数据错误造成的事故, 并建立10 kW 的加热管通过温度传感器输出电压变化率数据库, 存储在单片机的内存中。在保温箱工作时, 将采集的温度数据与数据库数据相比较, 当比较结果在正常范围内时, P2.0 为高电平, 继电器KA1 工作, KA1- 1 闭合, 温度传感器的输出电压可以传输到温度控制电路,;否则,P2.0 为低电平, 继电器KA1 不能工作, K1- 1 断开, 温度传感器的输出电压不能传输到温度控制电路。电路如图4-2 所示。 4-2 集成运放判断控制电路图 4.1.2 AD590M的引脚 AD590M的引脚共有3个,查各种资料里,只用了两个引脚(即+ -),第三个脚可以不用,是接外壳做屏蔽用的。如图4-3: 12 第 12 页 图4-3 基本使用方法如图4-4: 图4-4 4.1.3 温度控制电路 为确保保温箱工作在正常温度范围内, 采用双重温度判断控制电路( 集成运放温度判断控制电路?和单片机温度判断控制电路?) 。 (?)集成运放温度判断控制电路 如图3 所示( P1.4 、P1.5 为高电平) 。运算放大器A1 接成电压跟随形式以增加信号的输入阻抗。A2、A3 组成温度比较器, 比较器A2的同相输入端与设置温度的V h 相连, 比较器A3 的反相输入端与设置温度的下限V l 相连( 由单片机的P1.6 输出) , A1 的输出信号Vi 同时加到比较器A2 的反相输入端和比较器A3 的同相输入端。当ViV h 时, A3 输出高电平, 三极管VT1 截止, 红灯灭;A2 输出为低电平, VT2 截止, 继电器KA2 失电,加热器停止工作,绿灯灭。则KA2- 2 闭合,当Vi>VH, A4 输出低电平, 三极管VT3 截止, 继电器KA3 失电,KA3- 2 闭合, 启动报警电路。 13 第 13 页 (?)单片机温度判断控制电路 采集的温度数据Vi 输入 Cygnal F005 单片机, 与设定的上、下限及设定温度相比较。当单片机判断ViVh 时, P1.4 为低电平, 并与上限温度比较。当单片机判断ViVH 时, P1.5 为低电平, 启动报警电路( 电路如图4-2 所示) 。 4.2 单片机部分接口电路 当保温箱的温度高于设置的上限温度时, 自动启动报警电路。电路如图4-5 所示。 4-5 单片机控制的接口电路 4.3 日历时钟计时 为实现精确计时控制, 采用飞利浦公司的PCf8583 作为系统的计时器。设置8583 为日历时钟工作方式, 在备用电池供电下, 芯片处于“年- 月- 日- 分- 秒”计时状态,具有极高的计时精度, 便于根据季节的不同正确启动相应的脉冲 电路,图4-6为该计时器的引脚。 14 第 14 页 图4-6 2OSC1:振荡器的输入端; SDA: IC总线串行数据线; 2OSCO:振荡器的输出端; SCL:IC总线串行时钟线; AO:地址输入端; INT:开路中断请求输出端; Vss:电源负端(地); Vdd:电源正端 4(3(1 PCF8583的寄存器结构 在时钟方式下,PCF8583中的寄存器结构地址分配为:00H,07H为时间寄存器地址编码; 08H,0FH为定时器起闹寄存器地址编码,作起闹时间或通用RAM之用;10H,FFH为通用静态RAM。其中00H为控制状态寄存器,01H为1/100秒寄存器,02H为秒寄存器,03H为分寄存器,04H为时寄存器,05H为年/日寄存器,06H为星期/月寄存器,07H为定时寄存器。有关控制寄存器、时寄存器、年/日寄存器、星期/月寄存器的内部格式详述如下: ?控制寄存器(00H) D7位:计数、停止计数位。D7=0,启动对脉冲计数;D7=1,停止计数。 D6位:保持最新计数位。D6=0,计数;D6=1,保持和存储最新计数值到捕捉寄存器中。 D5D4位:功能方式选择位。D5D4=00,选择32.768KHz时钟方式;D5D4=01,选择50Hz时钟方式;D5D4=10,事件计数方式;D5D4=11,测试方式。 D3位:标志位。D3=0,读05H、06HRAM单元时不屏蔽;D3=1,对05H、06HRA单元只读出月、日计数值。 D2位:起闹使能位。D2=0,不能起闹;D2=0,允许起闹寄存器使能。D1位:起闹标志位。 D1=0,占空比为50%的分标志。D0位:定时器标志位。D0=0,占空比为50%的秒标志 。 15 第 15 页 ? 时寄存器(04H) D7位:计时格式。D7=0,24小时制,AM、PM标志不变。D7=1,12小时制,AM、PM标志更新。 D6位:上午(AM)、下午(PM)标志。D6=0,AM;D6=1,PM。 D5D4位:钟点十位(二进制0,2)。 D3D2D1D0位:钟点个位(BCD码)。即时计数器格式如图4-7所示 图4-7 ? 年/日寄存器(05H) D7D6位:年份(二进制0,3) D5D4位:日期十位(二进制0,3)。 D3D2D1D0位:日期个位(BCD码0,9)。 ? 星期/月寄存器(06H) D7D6D5位:星期(二进制0,6) D4位:月份十位( 0,1)。 D3D2D1D0位:月份个位(BCD码0,9)。 4(3(2 PCF8583与单片机接口电路 时钟线SCL接单片机的P1.0,数据线SDA接单片机的P1.1,OSCI和0SC0之间接 768 kHz的石英晶振,VDD接主电源+5V,VSS接地,见图4-4。 32( 24(3(3 IC总线 2IC总线是应用最广的一种单片机串行扩展总线,以同步串行2线方式进行通信:时钟线SCL和数据线SDA,是Philips公司推出的串行总线协议;他最显著 16 第 16 页 2的特点就是规范的完整性,结构的独立性。IC总线时序如下: 开始信号 在SCL保持高电平状态下,SDA 出现下降沿。出现开始信号以后,总线被认为“忙”。 停止信号 在SCL保持高电平状态下,SDA出现上升沿 。出现停止信号以后,总线被认为“空闲”。如图4-8所示。 图4-8 开始和结束时序 4(3(4 读、写 PCF8583流程 图,如图4-9和 4-10 图4-9 17 第 17 页 图4-10 4. 3. 5 程序设计 2用单片机的I,O口(P1(0和P1(1)模拟实现PCF8583的IC时钟,日历芯片的操作,有字节写,读2种状态。发送8个字节的数据,寄存器包括控制,状态寄存器、秒寄存器、分寄存器、小时寄存器、日寄存器、星期寄存器、月寄存器和年寄存器。 程序如下: Declare Sub Settime(s As Byte , M As Byte , ' 声明时间设置子程序 Dim H As Byte , D As Byte , Month As Byte) Declare Sub Gettime ' 声明取时间子程序 Dim S As Byte , M As Byte , H As Byte , ' 定义变量 Dim D As Byte , Month As Byte ' Dim Wm As Byte , Yd As Byte ' Config Scl = P1.0 ' P1.0 用作 SCL Config Sda = P1.1 ' P1.1 用作 SDA Print Chr(27) ; "[2J"; ' 超级终端清屏 Call Settime(55 , 59 , 23 , 28 , 2) ' 初始化时间 18 第 18 页 Do ' Call Gettime ' 取回时间数据 Wait 1 ' Loop ' End ' Sub Gettime ' 取时间子程序 I2cstart ' 开始 I2cwbyte &HA0 ' PCF8583写地址 ' 选寄存器2 I2cwbyte 2 I2cstart ' 重开始 I2cwbyte &HA1 ' 读地址 I2crbyte S , Ack ' 读秒 I2crbyte M , Ack ' 读分 I2crbyte H , Ack ' 读时 I2crbyte Yd , Ack ' 读年/日 I2crbyte Wm , Nack ' 读星期/月 I2cstop ' 停止 Print Chr(27) ; "[2;2f"; '超级终端屏幕位置第 2行,第2列 Print Bcd(wm);"月";" ";Bcd(yd);"日" ' 输出月,日 Print Chr(27) ; "[3;2f"; '超级终端屏幕位置第 3行,第2列 Print"时间";Bcd(h);":";Bcd(m);":";Bcd(s) ' 输出时间 End Sub ' Sub Settime(s As Byte ,M As Byte ,H As Byte, ' 设置时间子程序 D As Byte , Month As Byte) ' 'I2cstart ' 开始 I2cwbyte &HA0 ' 写地址 I2cwbyte 0 ' 选控制寄存器 I2cwbyte 8 ' 写控制寄存器,设置掩码 I2cstop ' 停止 19 第 19 页 I2cstart ' 重开始 I2cwbyte &HA0 ' 写地址 I2cwbyte 2 ' 选择寄存器2 I2cwbyte Makebcd(s) ' 以BCD格式写秒 I2cwbyte Makebcd(m) ' 以BCD格式写分 I2cwbyte Makebcd(h) ' 以BCD格式写时 I2cwbyte Makebcd(d) ' 以BCD格式写日 I2cwbyte Makebcd(month) ' 以BCD格式写月 I2cstop ' End Sub ' 4(4 继电器 继电器是一种电子控制器件,它具有控制系统和被控制系统,通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。继电器广泛应用于遥控、遥测、通讯、自动控制、机电一体化及电力电子设备中,是最重要的控制元件之一。继电器一般都有能反映一定输入变量(如电流、电压、功率、阻抗、频率、温度、压力、速度、光等)的感应机构(输入部分);有能对被控电路实现“通”、“断”控制的执行机构(输出部分);在继电器的输入部分和输出部分之间,还有对输入量进行耦合隔离,功能处理和对输出部分进行驱动的中间机构(驱动部分)。 作为控制元件,概括起来,继电器有如下几种作用: .1) 扩大控制范围。例如,多触点继电器控制信号达到某一定值时,可以按触点组的不同形式,同时换接、开断、接通多路电路。 2) 放大。例如,灵敏型继电器、中间继电器等,用一个很微小的控制量,可以控制很大功率的电路。 3) 综合信号。例如,当多个控制信号按的形式输入多绕组继电器时,经过比较综合,达到预定的控制效果。 4) 自动、遥控、监测。例如,自动装置上的继电器与其他电器一起,可以组成程序控制线路,从而实现自动化运行。 20 第 20 页 在本设计中,P2.0为高电平时为继电器工作,当P2.0为低电平时,继电器不能工作。 电路原理图如4-11: 图4-11 4(5键盘与显示电路 键盘是由一组按键组成,一个按键实际上是一个开关元件,平时断开,按下接通,是最常用的单片机输入设备,能实现简单的人机通信。键盘分编码键盘和非编码键盘。一般采用非编码键盘,单片机中采用的键盘按键是一种常开型按钮开关,没有按下时按键的两个触点处于断开状态,按下键时才闭合,但在其闭合和断开时,不是一下子闭合和断开,总是伴随一连串的抖动,时间一般为5ms,10ms,这是一个很重要的参数。其抖动过程如图4-12所示: 图4-12 按键的抖动 21 第 21 页 硬件去抖可以用R-S触发器或最简单的RC滤波器构成去抖动电路,软件延时去抖方法是:在检测到有按键按下时,执行一个10MS左右的延时子程序,之后再一次检测按键的状态,如果仍保持闭合状态电平,则确认确实有键按下,同理,当检测到按键释放时,也要延时10MS左右之后确认按键释放,才能转入键处理程序。 程序框图: 图 4-13 程序: sbit line1=P0^0; sbit line2=P0^1; sbit line3=P0^2; sbit line4=P0^3;uchar code c[]={0x3f,0x30,0x5b,0x4f,0x66, 22 第 22 页 0x6d,0x7d,0x07,0x7f,0x67, 0x77,0x7f,0x39,0x3f,0x79, 0x71,0x00};//数码管共阳极 void delay(uint j) { while(j--); } // 键盘延时子程序 void delay10ms() { uchar i,j; for(i=0;i<10;i++) { for(j=0;j<72;j++) {;} } } // 键盘扫描子程序 unsigned char kbscan() { unsigned char sccode,recode; unsigned char i; for (i=0;i<5;i++) { if(i==0) { /*扫描第1行*/ P1 = 0xFF; line1 = 0;// 发0行扫描。 line2 = 1; 23 第 23 页 line3 = 1; line4 = 1; sccode= P1; sccode&= 0xFE; //本行有键按下 if(sccode != 0xFE) { delay10ms(); sccode = P1; sccode&=0xFE; if(sccode !=0xFE) { sccode="P1"; sccode&=0xFE; switch(sccode) { case 0x7E: recode="0";break; case 0xBE: recode="1";break; case 0xDE: recode="2";break; case 0xEE: recode="3";break; default: break; } return(recode); } 24 第 24 页 } }//end of if =0 else if (i == 1) { /*扫描第2行*/ P1 = 0xFF; line1 = 1;// 发1行扫描。 line2 = 0; line3 = 1; line4 = 1; sccode= P1; sccode&= 0xFD; //本行有键按下 if(sccode != 0xFD) { delay10ms(); sccode = P1; sccode&=0xFD; if(sccode !=0xFD) { sccode="P1"; sccode&=0xFD; switch(sccode) { case 0x7D: recode="4";break; case 0xBD: recode="5";break; case 0xDD: 25 第 25 页 recode="6";break; case 0xED: recode="7";break; default: break; } return(recode); } } } // end of if i =1; else if (i ==2) { /*扫描第3行*/ P1 = 0xFF; line1 = 1;// 发3行扫描。 line2 = 1; line3 = 0; line4 = 1; sccode= P1; sccode&= 0xFB; //本行有键按下 if(sccode != 0xFB) { delay10ms(); sccode = P1; sccode&=0xFB; if(sccode !=0xFB) { sccode="P1"; sccode&=0xFB; switch(sccode) 26 第 26 页 { case 0x7B: recode="8";break; case 0xBB: recode="9";break; case 0xDB: recode="10";break; case 0xEB: recode="11";break; default: break; } return(recode); } } } // end of if i ==2; else if (i ==3) { /*扫描第4行*/ P1 = 0xFF; line1 = 1;// 发4行扫描。 line2 = 1; line3 = 1; line4 = 0; sccode= P1; sccode&= 0xF7; //本行有键按下 if(sccode != 0xF7) { 27 第 27 页 delay10ms(); sccode = P1; sccode&=0xF7; if(sccode !=0xF7) { sccode="P1"; sccode&=0xF7; switch(sccode) { case 0x77: recode="12";break; case 0xB7: recode="13";break; case 0xD7: recode="14";break; case 0xE7: recode="15";break; default: break; } return(recode); } } } // end of if i =3; else { recode="16"; return(recode);//没有键被按下 } 28 第 28 页 }// end of for . } 单片机系统中最常见的显示器件是LED发光二极管和LED数码管,LED发光二极管多用于信号指示,如系统的工作状态指示,错误指示等。LED数码管用于显示数据、字符、简单的图形。他们结构简单、耗电很少、价格低廉,与单片机接口方便,得到广泛应用。LED显示器由8个发光二极管组成,其中7个发光二极管排列成8字形,另一个构成小数点,LED显示器,一个发光二极管为一个字段,7个字符段和一个小数点段对应8个发光二极管,通过8个发光二极管不同的亮灭组合可用来显示数字和字符。LED显示器俗称数码管,又叫七段LED显示器,而带小数点的数码管常称为八段LED显示器,如图4-14。 图 4-14 数码管的封装外型中,a,g为数码显示字段,dp为小数点显示段,外部管脚与显示字段对应,LED显示器的显示方式按与单片机的接口不同分为静态显示和动态显示两种显示方式。静态显示的特点是数码管的公共端COM接地或+5V,数码管的一个字段接一个I/O线,这样,一个数码管就需要一个8位I/O口,N个数码管则需要N个数码管。静态显示的优点是显示稳定、亮度高、编程简单,CPU花在显示上的时间少,缺点是占用I/O口线多,扩展显示用I/O口会使硬件成本增加,因此,只适合于显示位数较少的场合。动态显示方式是一位一位地轮流点亮各位数码管,这种逐位循环点亮显示器的方法称为位扫描,虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,只要保证有足够快的扫描速度,看起来全部显示器都同时被点亮显示。在显示器位数不超过8个时,所有数码管的8 29 第 29 页 个字段线同名端依次并接在一起,由一个8位I/O口控制,实现显示字型码数据的传送,称为段选控制,而数码管的公共端COM(位选线)分别由另外一个I/O控制,实现每个LED显示器的分时选通,称为位选控制,为了避免显示器出现同时显示相同的字符,必须保证在某一时刻只有一位LED显示器选通。为了使各位显示器稳定显示不同的字符,必须采用动态扫描的方法实现,从PA口输出一个字形码。随即从PB口输出一个位选码,依此送每一个数码管要显示的字形码和相应的位选码,则几个数码管上会依次显示出相应的字符,显然,这种显示是不连续的,但不断重复上述扫描过程,且扫描频率较高时,看上去就变成连续的,达到了同时显示的效果。动态显示的优点是在显示位数较多时,占用的I/O口线少,硬件成本低,缺点是显示器亮度不如静态显示方式,软件不断扫描显示器要占用CPU较多的时间。 在本设计中的键盘显示电路4-15: 图4-15 74LS47译码器原理: 译码为编码的逆过程,实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系。74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用, LT(——) RBI(——-) A3 A2 A1 A0 BI(—)/RBO(———) 30 第 30 页 a(—) b(—) c(—) d(—) e(—) f(—) g(—) (1)LT(——):试灯输入,是为了检查数码管各段是否能正常发光而设置的。当LT(——)=0时,无论输入A3 ,A2 ,A1 ,A0为何种状态,译码器输出均为低电平,若驱动的数码管正常,是显示8。 (2)BI(—):灭灯输入,是为控制多位数码显示的灭灯所设置的。BI(—)=0时。不论LT(——)和输入A3 ,A2 ,A1,A0为何种状态,译码器输出均为高电平,使共阳极7段数码管熄灭。 (3)RBI(——-):灭零输入,它是为使不希望显示的0熄灭而设定的。当对每一位A3= A2 =A1 =A0=0时,本应显示0,但是在RBI(——-)=0作用下,使译码器输出全1。其结果和加入灭灯信号的结果一样,将0熄灭。 (4)RBO(———):灭零输出,它和灭灯输入BI(—)共用一端,两者配合使用,可以实现多位数码显示的灭零控制。 对于LED,使用四个,而用两个来显示当前温度,即显示十位和个位,没有显示小数位,这样的设计比较实际化,也降低成本。另外两个LED作为用户设置的温度的显示,使用户能看到自己设置的温度和当前温度的差异。 4(6 报警模块 用单片机产生“嘀嘀„„”报警声,嘀0.2秒,然后断0.2秒,如此循环下去,` 假设嘀声的频率为1HZ,则报警时序图如4-16: 图4-16 由于要产生上面的信号,我们把上面的信号分成两部分,一部分1KHZ方波,占用时间0.2秒,另一部分为电平,也是占用0.2秒,因此,利用单片机的定时/计数器T0作为定时,可以定时0.2秒,同时。也要用单片机产生1KHZ的方波,对于1KHZ的方波信号周期为1ms,高电平占用0.5 ms,低电平占用0.5 ms,因此也采用定时器T0来完成0.5 ms的定时,最后,可以选定定时/计数器T0的定时时间为0.5 ms,而要定时0.2秒则是0.5 ms的400倍,也就是说以0.5 ms定时400次就 31 第 31 页 达到0.2秒的定时时间了。 电路原理图4-17: 图4-17 主程序框图: 图4-18 中断程序框图: 32 第 32 页 图4-19 C语言源程序 #include〈AT89X51.H〉 unsigned int t02s; unsigned Char t05ms; bit flag; void main(void) , TMOD=0x01; TH0=(65536-500)/256; TL0=(65536-500)%256; TRO=1; ETO=1; 33 第 33 页 EA=1; While=(1); , Void t0(void) interrupt 1 using 0 , TH0=(65536-500)/256; TL0=(65536-500)%256; t02s++; if(t02==400) , t02s=0; Flag=~flag; , If(flag==0) , P10=~P10; -- , , 34 第 34 页 结 论 本婴儿保温箱在CygnalF005 单片机的控制下,通过温度传感器采集数据与数据库数据对比、双重温度判断电路、强制保护电路, 降低了电路故障或人为处理不及时造成的保温箱温度过高或过低的危险发生, 保证了婴儿保温箱的温度控制系统安全可靠。一种婴儿保温箱的温度控制电路安全检测的方法及强制保护电路的方法,其特征在于建立婴儿保温箱在不同温度下的温度变化率-温度传感器电压变化的数据库,在单片机系统中对温度传感器采集的温度数据求变化率,并与数据库数据相比较,以此判断温度传感器是否处于正常工作状态,通过集成运放比较电路和单片机系统的比较单元,实现温度判断的双重保护,通过强制保护电路,避免保温箱出现故障不能及时处理造成的危险。 , 35 第 35 页 参考文献 [1] 俞阿龙. 热敏电阻温度传感器的一种线性化设计[J]. 电气自动化,2003, 25( 2) : 58- 59. [2] 李春茂, 付植桐, 孙惠芹, 等. 电子技术原理与应用[M]. 北京: 中国建材工业出版社, 1999. [3] 刘洪明. 半导体热敏电阻半桥测温电路参数优化设计[J]. 电气自动化, 2000, 22( 6) : 48- 50. [4] 卢文科. 热敏电阻非线性补偿研究[J]. 仪表技术, 1996( 2) : 20-22. [5] 乔静宇. 新编电气工程师实用手册[M]. 北京: 中国水利水电出版社,1998. [6] 何立民. Cygnal F005 单片机原理与应用[M]. 北京: 北京航空航天大学出版社, 2003. [7] 周立功. PDIUSBD12 USB 原理与应用[M]. 北京: 北京航空航天大学出版社, 2003. [8] 朱建, 郭华北, 朱磊, 等. 串行时钟/日历芯片PCF8583 及其应用研究[J]. 山东科技大学学报, 2000, 19( 1) : 82- 85.__ 36 第 36 页
/
本文档为【毕业论文 单片机婴儿保温箱的温度控制】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索