已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建交通职业技术学院毕 业 论 文(设计)题 目: 基于单片机的热水控制器 姓 名: 王治愈 学 号: 专 业: 计算机控制技术 年级(班级): 指导教师(职称): 系 (部): 信息技术与工程系 二0一一年 六月40目录引 言21 任务分析与设计目的31.1论文的任务分析31.2工作内容31.3论文的具体任务31.4设计要求31.5设计目的32 芯片简介52.1 AT89S52芯片简介52.2温度传感器(DS1820)62.2.1 温度传感器的内部结构62.2.2 引脚说明72.2.3 DS18B20的主要特性72.2.4 DS18B20工作原理83 系统电路原理及硬件实现93.1系统总体框图93.2 系统模块电路设计93.2.1单片机控制模块93.2.2传感器模块103.2.3水位检测模块103.2.4显示模块113.2.5键盘模块123.2.6报警系统模块133.3系统整体原理图134 系统的软件设计144.1软件设计思路144.2系统软件流程144.2.1主程序模块144.2.2温度测量模块154.2.3报警处理流程185 系统的测试195.1系统测试195.1.1软件测试195.1.2硬件测试195.2数据测试196 系统调试216.1硬件调试216.2软件调试21结论23致 谢24参 考 文 献25附件一 热水控制器原理图26附件二 热水控制器实物图27附件三 程序清单28基于单片机的热水控制器建立完整的热水控制器王远明摘要:及时准确地得到温度信息并对其进行适时的控制,在许多工业场合中都是重要的环节.水温的变化影响各种系统的自动运作,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的水处理温度要求严格控制。对于不同控制系统,其适宜的水质温度总是在一个范围。超过这个范围,系统或许会停止运行或遭受破坏,所以我们必须能实时获取水温变化。对于,超过适宜范围的温度能够报警。本实验设计了一个以单片机AT89S52为基本控制核心的热水控制器系统。该设计包括水温控制,水位控制及显示,报警等模块,可完成0-80之间温度的测量,具有自动和手动加水、实时显示温度和报警功能。可以通过调节高低电位实现加热或者停止加热,达到最高温度时发出报警信号并且停止加热。关键词:AT89S52单片机 温度传感器 DS18B20 热水控制器Abstract: Timely and accurate temperature information and get the timely control in many industry situation is important link of the water temperature changes. The automatic operation of the system, the extensive use of all kinds of heating furnace, heat treatment furnace, reactors in the water treatment temperature requirements strictly controlled. For different control systems, the water quality of the appropriate temperature is always in a range. Beyond this, the system may stop running or suffer damage, so we must be able to capture water temperature changes. For more than appropriate range, the temperature can report to the police. This experiment design to monolithic integrated circuit AT89S52 as the basic control core of hot water controller system. This design including water temperature control, water level control and display and alarm module, can complete0-80temperature measurement, with between automatic and manual adding water, real-time display temperature and alarm function. Can adjust the height of the potential realized by heating or stop the heating, the highest temperature issued a warning signal and stop heating. Keywords: AT89S52 SCM temperature sensor DS18B20 hot water 引 言现在市场上的热水控制器基本上都采用双金属片温控,不仅控温精度低而且可靠性差、功能单一。随着微电子技术的发展,单片机微处理器功能日益增强,价格低廉,在各方面也得到广泛应用。在热水控制器中应用单片机,具有设计简单、可靠性高、功能易扩展等优点。热水控制器主要实现对水温水位的控制,并满足不同用户的个性需求。因此一个较完善的控制器应具有以下功能:1、 水温的测量与显示;2、 水量的测量与显示;3、 用户设定功能(如水温设定,定时设定等);4、 对电加热管的控制功能;5、 一些功能键(如定时自动加水,恒温控制,手动加水,手动加热等);6、 安全措施(漏电检测,安全失效保护,限温保护等)。本文介绍了用AT89S52单片机设计的一种多功能热水控制器,具有自动和手动加水、设置水温、实时显示水量及温度和报警功能,并且具有结构简单、可靠性高、成本低等特点。1 任务分析与设计目的1.1论文的任务分析对热水控制器系统进行方案设计,相应的硬件电路和系统软件设计,并做出控制系统。能够实现水温的测量与显示;水量的测量与显示,手动加水和自动加水等功能.并能实现数据的正常显示与正确显示。1.2工作内容(1)水温控制系统硬件的设计水温控制系统硬件设计主要包括中央处理电路的介绍,以及设计了温度检测与控制电路。为了操作的方便和与PC机的通信,设计了键盘与显示电路以及串口通信接口电路。(2)水温控制系统软件的设计借助Keil C51开发工具,开发了单片机系统的温度检测与控制程序模块、键盘与显示模块以及单片机与PC的通信模块的程序。1.3论文的具体任务热水控制器基于52单片机控制,系统设计电路由电源电路、独立键盘电路、温度传感电路、复位电路、水位显示电路、数码管显示电路等部分组成,实现温度与水位的测量与显示及报警信号。1.4设计要求1、完成基于单片机的热水控制器系统的设计,能够实现水温的手动加热,自动加水,手动加水,恒温控制,安全措施(漏电检测,安全失效保护,限温保护等),并显示温度;2、研究方案的设计、研究方法和手段要合理,符合理论与实践的要求,程序设计简洁;3、完成单片机数据采集及处理的硬件电路设计及相关软件编程;4、自行检测及相关处理电路;5、辅助电路及元器件自选,自选传感器类型。1.5设计目的现在社会是要求理论与实践相结合的社会,如果空有理论知识,没有实践经验是远远不够的,没有理论知识也不能做好实践,势必会出现理论与实践脱节,学习与应用脱节的局面。所以要把理论与实践相结合。实践就要求学生利用所学知识以及借助一些力量,比如说查阅书籍,上网查询,请教老师来达到实践的目的。同时还可以提高学生的自主学习能力和动手能力。“基于单片机热水控制器课题设计”的目的是让同学们在理论学习的基础上,通过完成一个基于AT89S52单片机多种资源应用并具有综合功能的小系统的目标板的设计与编程应用,使学生不仅能够将课堂上学到的理论知识与实践相结合起来,还能够更深入地学习电子电路、电子元器件、印刷电路板等,同时在软件编程、错误调试、焊接技术等的使用技能等方面能够得到全面的锻炼和提高。为日后能够独立设计打下一个坚实的基础。2 芯片简介2.1 AT89S52芯片简介AT89S52是一种低功耗、高性能8位微控制器,具有 8K 的程序存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。图2-1 AT89S52引脚图管脚说明:VCC: +5V供电电源。VSS:接地。P0口:一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。P1 口:一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器驱动4 个TTL 逻辑电平。 P2口:一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。P3口:8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。表2-1 P3口的第二功能管脚号第二功能P3.0 RXD(串行口输入)P3.1 TXD(串行口输出)P3.2 (外部中断0输入)P3.3 (外部中断1输入)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 (外部数据存储器写允许)P3.7 (外部数据存储器读允许)RST:复位输入。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。:外部程序存储器的选通信号。:片外存储器访问选择线,控制80C51使用片内ROM还是片外ROM。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.2温度传感器(DS1820)2.2.1 温度传感器的内部结构图2-2 温度传感器(DS1820)的内部结构2.2.2 引脚说明(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 图2-3 DS18B20的管脚排列图2.2.3 DS18B20的主要特性1.1、适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电;1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;1.3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;1.4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;图 2-4 DS18B20的测温原理1.5、温范围55125,在-10+85时精度为0.5;1.6、可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温;1.7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;1.8、测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;1.9、负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。2.2.4 DS18B20工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20测温原理如图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2-4中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。3 系统电路原理及硬件实现3.1系统总体框图系统的总体设计方案主要由电源控制模块、LED显示模块、温度侧量模块、键盘模块和单片机模块构成。设计并制作一个基于单片机的热水器温度控制系统的电路,其结构框图如图3-1。 电源控制LED显示 AT89S52 温度测量 扬声器报警 键盘图3-1 系统总体框图3.2 系统模块电路设计3.2.1单片机控制模块MCU模块即为单片机部分,整个控制都是依靠单片机完成的。从功能和价位以及本题目要求来看,我选择51系列AT89S52作为本课题的控制核心。P0口外接LED灯和1K排阻实现水位的控制。P2.0-P2.2接74HC138译码器完成3端输入8端输出的数据传送,与8位数码管的位选择信号,用于对数码管的扫描。P2.3接数字温度传感器DS18B20实现温度的测量。P3.0用于控制继电器电加热棒,P3.1用于控制扬声器用于报警和显示,P3.2-P3.4用于水位的测量、温度的测量、最高温度报警和停止加热等。 图3-2 传感器(DS18B20)电路模块3.2.2传感器模块DS18B20数字温度计提供9位二进制温度读数,指示器件的温度。信息经过单线接口送入DS18B20或者从DS18B20送出,因此从主机CPU到DS1820仅需一条线(和地线)。DS18B20的电源可以由数据线本身提供而不需要外部电源。因为每个DS18B20在出厂时已经给定个了唯一的序号,因此任意多个DS18B20可以存放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件。DS18B20的测量范围从-55到+125,可在1S内把温度变换成数字。3.2.3水位检测模块显示器的扫描方式一般有静态显示和动态显示,对于多位LED数码显示器,通常采用动态扫描方法,即逐个地循环地点亮各位显示器。由于人眼具有视觉残留效应,虽然在任一时刻只有1位显示器被点亮,但是看起来与全部显示器持续点亮的效果基本一样。在此水位显示模块中,分为三个水位档。图3-3 水位检测模块3.2.4显示模块LED数码管的a-g七个发光二极管,在两端加正向数码管发光,加负向电压不发光。不同亮暗的组合就能形成不同的字型,这种组合成为字型码。共阳极和共阴极的字型码是不同的,用单片机驱动LED数码管显示有很多方法,按显示方式分有静态显示和动态显示。静态显示的接口电路采用一个并行口接一个数码管,数码管的公共端按共阴极或共阳极分别接地或接电源。 图3-4 LED显示模块此电路中的LED数码显示器是8段共阳极接法,所以显示0、1、2、3、4、5、6、7、8、9时分别对应编码C0H、F9H、A4H、B0H、99H、92H、82H、F8H、80H、90H,要显示小数点时,只需再将相应的编码的最高位置0。由于LED显示器的段电流为8mA左右,所以不能由单片机直接驱动,因此接上驱动器74LS245 八双向总线收发器,而LED显示器的公共端的驱动电流较大,8段全亮时需约4060mA。因此在单片机与LED的公共端之间接上三极管做为电流驱动器以提高驱动能力。此三极管采用的是PNP型。3.2.5键盘模块键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。因此使用方便,但硬件较复杂。非编码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。图为按键和AT89S51的接线图,检测仪共设有3个按键,每个按键由软件来决定其功能,3个按键功能分别为:(1) SW3:温度检测(2) SW4:停止报警(3) SW5:退出(系统初始化)图3-5 键盘模块电路键盘采用非编码键盘结构,目的为了简化硬件电路,图3-5表示了此4*4行列式键盘的结构示意图。4*4表示有4根行线和4根列线,在每根行线和列线的交叉点上均匀分布1个单触点按键,共16个按键。其中定义09十个数字键,小数点,开/关键,显示参数键,设定值键。系统中键盘模块设计三个按键SW3、SW4,SW5,如图3-5所示,分别由单片P3.2、P3.3、P3.4口输入。SW3为温度检测,如果SW3键被按下开始加热,然后温度检测,读出温度值,判断温度是否大于90度,没有的话继续加热,循环检测温度,如果在加热期间,按下SW3键,停止加热。如果温度大于90度,开始报警。 按下SW4键,停止报警。3.2.6报警系统模块同时可以在系统里设定温度上限值,由于加热停止后,加热管还有余热当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。报警电路原理图如图3-6所示。图3-6报警电路图图中的三极管的作用是增加驱动能力。当程序进入报警子程序时,把P3.1置0,就会触发蜂鸣器,为了使报警声音效果更好,对P3.1取反,发出报警嘟噜声音。3.3系统整体原理图本设计的热水控制器是由AT89S52为主控模块,DS18B20为数字温度传感器,继电器用电热棒代替,用于对水进行加热。扬声器用于报警,当水温超过一定范围时开始报警,通过按键来停止加热。键盘模块由三个独立按键组成,用于控制加热或者是否进行加热。系统主要由电源模块、温度传感器模块、显示模块和键盘模块四部分构成,具有温度的测量和显示、水位的测量和显示、自动加水,恒温控制,手动加水,手动加热等功能。系统整体原理图(见附录1)。4 系统的软件设计4.1软件设计思路当系统上电,立刻进行初始化,分别是端口初始化,温度传感器初始化。本系统采用的是循环查询方式,来显示和控制温度的。主要包括四段程序的设计:DS18B20读温度程序,数码管的驱动程序,键盘扫描程序等。本系统的设计方案和步骤如下:(1) 根据需要实现的结果按照系统的功能要求,逐级划分模块。(2) 明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试。(3) 确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。(4) 按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。首先接通电源系统开始工作,系统开始工作后,通过按键设定温度值的上限值和下限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开始实时检测,调用显示子程序显示检测结果,调用比较当前显示温度值与开始设定的温度值比较,如果当前显示值低于设定值就通过继电器起动加热装置,直到达到设定值停止加热,之后进行保温,如果温度高于上限进行报警。4.2系统软件流程4.2.1主程序模块流程图如图4-1所示,负责与各子程序模块的接口和检查键盘功能。程序运行后,开始对各端口初始化,温度检测,读出温度值。 图4-1 主程序流程图1、 判断按键INT0是否按下,是的话:(开始加热,然后温度检测,读出温度值)。2、 判断温度是否大于70度,没有的话继续加热,循环检测温度,如果温度大于70度,开始报警。3、 判断按键INT1是否按下,没有的话继续报警,按下的话停止报警。4、 INT0没按下:(判断水位是否为高,不为高就检测温度,读出温度值,如果水位为高,就开始加热,检测温度,读出温度值。5、 判断温度是否大于70度,如果水位低于高水位,将停止加热,如果在加热期间,按键INT0按下停止加热。4.2.2温度测量模块由于DS18B20采用的是一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。DS18B20单线通信功能是分时完成的,它有严格的时隙概念。因此系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,DS18B20必须首先调用启动温度转换函数,根据数据手册上对应转换时间来超作,如为12位转换,则应该是最大750mS,另外在对DS18B20超作时,时序要求非常严格,因此最好禁止系统中断。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的读时序:(1)对于DS18B20的读时序分为读0时序和读1时序两个过程。 (2)对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。图 4-2 DS18B20的写时序图DS18B20的写时序:(1)对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。 (2)对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。图4-3 DS18B20的读时序图在这次设计中利用DS18B20的读写时序,实现温度显示与控制。如图4-4所示是这次设计的温度数据的实现流程图。图4-4 温度模块的流程图温度的显示是通过初始化DS18B20,判断是否有应答脉冲。如果没有的话继续对温度传感器进行初始化,如果有则发起存储器操纵命令,随后发起接受命令。延时1S,等待温度转换完成。然后再对DS18B20进行初始化,判断是否有应答脉冲,如果没有,继续检测,如果有则发起读时序命令,然后读取温度值,读完之后返回进行再一次的温度测量。4.2.3报警处理流程运行程序后,温度传感器DS18B20即可对环境进行温度采集,并送LED数码管显示。我们可以在程序里设定温度上限值,当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。其程序流程图如图4-5所示。图 4-5 报警子程序流程图开始时进行温度的比较,检测温度是否超过规定的上限值,如果超过上限值。那么与52芯片的P3.1引脚连接的按键断开,取反,这时候蜂鸣器就开始响起,也就是我们所说的报警系统。如果温度没有超过规定的上限值,那么不启动蜂鸣器,这时候温度显示正常。5 系统的测试5.1系统测试5.1.1软件测试其实程序方面一直是我的一个致命弱点,我觉得程序像是天书一样看不懂,而且要我单独完成程序的编写实在是不知道如何下手。但是没办法,毕业设计要按时完成,而且还要有一定的质量,所以只能请教同学和老师帮忙。以前我们有写过温度控制程序,但是很多要实现的功能和我们现在的课题不一样,没有办法全部借鉴。经过再三的修改与同学的帮助后,我们写出了最初的程序。但是让人头疼的是,当我们把程序烧入单片机开始测试时,整个程序乱套了。我们要的是高电位显示1 1,低电位显示0 0 可是测试时根本就实现不了,反而是乱七八糟的一些数据。请教过指导老师,也经过同学们的讨论和几个比较优秀的同学的检查后,发现可能是程序上出现了一些问题,经过修改后,我们通过下载器把程序烧写到AT89S52芯片,经过硬件的调试最后实现了课题所需要完成的各项功能。5.1.2硬件测试因为以前课堂学习的时候有实训过,对于AT89S52芯片以及其他附件在以前课堂实训就已经调试成功了。关键是要怎么实现毕业设计的要求还需要外接继电器和水位显示电路还存在很多问题。刚开始设计硬件电路时不知道继电器要用什么电器。后面经过研究用电热棒用以对水进行加热,解决了这个烦恼。温度传感器的隔水效果也不知道要如何实现。通过讨论,决定用透明胶先粘着,但是透明胶的隔水效果不好,温度传感器接触到水还是会影响测试结果。后面请教我们的指导老师。老师说可以使用玻璃胶,在老师的帮助下我们找到了玻璃胶解决了这一问题。要用来装水的,水又要用来加热的,那这水要用什么装呢?想了很久,能够方便拿放的也就只有塑料杯了。所以决定用塑料杯,又解决了这个问题。5.2数据测试1、静态数据测试取一杯干净的水,改变它的温度,观察数码管上显示的温度值,并用温度计进行测温,记录两组数据,比较差异。记录表如下:表5-1 静态温度数据测试表温度123456显示温度234763778490测量温度244763808491有测试数据可知,本系统测温结果与温度计测温基本一致,能满足设计,证明了设计的合理性。2、动态数据测试进行温度设定,通过设定温度值(75),观察加热管的加热情况,以及数码管的显示值,再用温度计测量水温,每隔一段时间记录一次数据,将两组值进行比较。记录表如下:(设定前温度为25)表5-2 静态温度数据测试表组数分组12345678910111213显示温度25293439424853586267707375测量温度25283438424953596367717475通过上表可看出在加热的过程中,显示的温度与实测的温度近似一样,说明系统的设计达到精度要求,但还是略有偏差,基本不影响设计结果。整个测试过程表明设计达到了任务书的要求,证明了该方案是合理可行的,顺利完成了设计,达到了预想结果。6 系统调试6.1硬件调试1、 检查印制板的印制线是否有断路,是否有虚焊,是否有毛刺,是否与其它线或是焊盘粘连,焊盘是否有脱落,过孔是否有未金属化现象等等。2、 首先焊上S52芯片插槽,由于焊盘一个个离很近,刚开始焊的时候时候一不小心把好几个引脚都焊在一起了。我就用烙铁把几个引脚一个个挑开,在整理的过程中有好多焊丝弄到了焊板上,同学们说这样会导致互相干扰,后面弄的时候把焊丝越弄越黑了。开始担心焊盘会脱落了,后面就找了班上焊板比较好的同学帮我补,把52芯片焊好了,虽然不是很美观。3、 接着焊52芯片旁边的排阻,这个排阻真的焊得我够呛的。因为这一排排阻是连在一起的,在插入过孔的时候没整理好。导致一排不整齐,有些引脚插进去了,有些没有插进去,后面弄很久才把全部都焊好。4、 接下来就是焊液晶屏与时钟芯片,注意IO口部分,不要焊错,匹配电阻也不要焊错。5、然后焊的就是下载接口,此部分关键,如果焊错,程序不能烧入芯片,此版就报废了。6、由于要实现水温的控制,水位的控制,需要用到另外一块板,在另外一块板上我焊上了排阻,检查这一排排阻的阻值是否够大。因为要对水进行加热,暂时找不到比较好的继电器,我用电热棒代替继电器,将电热棒的一端接地一端接电源,达到加热水的效果。在所有的元器件都焊好后,我仔细检查了所接电路,按照硬件原理图接线,理论上是能实现的,如果数码管不显示,则应该检查线路是否正确,或是因为单片机没有工作,还有集电极和发射极是否接对。如果只显示两个八,则可能是DS18B20没有接正确,检查上拉电路是否接好。另外要注意的是,由单片机输出的控制信号比较小,需要进行放大才能驱动继电器工作,否则就不能实现升温过程,通常选用8550三极管来进行放大。还有220V交流电绿色接头和加热管黄色接头必须接正确,否则导致电路烧坏。蜂鸣器是低电平有效。如果能注意这些问题,电路基本不会出错。6.2软件调试硬件电路虽然说很重要,但是软件是整个设计的核心部分,如果只有硬件,没有软件的支持,那只是个空壳,什么都实现不了。所以硬件电路制作完成后,软件部分也不容轻视。经过这次的课程设计,我总结出一些经验可以让我少走些弯路,也能更快地达到我所想要的效果。比如说整个程序写完之后自己先检查下有没有错误,比如说会不会有死循环的,或者是会不会有语法不正确的,如果有错误就及时更正。如果人工检查无误之后,就开始上机调试,用keil软件编译调试,如果出现错误,就找出错误之处并改正。从上至下逐一改正。应当注意的是:有的提示出错行并不是真正出错的行,如果在提示出错的行上找不到错误的话,则应该到上行再找。如果确定没有语法错误或者逻辑错误后,通过下载线连接电路板和计算机,进行程序的烧写。程序烧人单片机会观察各部件是否正常工作,显示的结果是否是我们所要的,或者是否存在偏差。如果有些部件仍无法正常工作,就得重新检查相应的程序模块是否编写正确,直至实现所有的功能。如果硬件电路检查后,没有问题却实现不了设计要求,则可能是软件编程的问题,首先应检查初始化程序,然后是读温度程序,显示程序,以及继电器控制程序,对这些分段程序,要注意逻辑顺序,调用关系,以及涉及到了标号,有时会因为一个标号而影响程序的执行,除此之外,还要熟悉各指令的用法,以免出错。还有一个容易忽略的问题就是,源程序生成的代码是否烧入到单片机中,如果这一过程出错,那不能实现设计要求也是情理之中的事。本人在设计的时候在keil仿真软件进行调试,通过此软件进行调试可以很方便的观察单片机内部各个寄存器及内部存储器变化情况,以方便进行调试。 结论经过将近一个多月的时间,课程设计总算快要告一段落了。这一个多月来可以说是苦多于甜,真正体会到设计者的痛苦。但是从中我觉得我学到了很多很多的东西,不仅巩固了以前所学的理论知识,而且通过自主学习学到了许多课本上甚至课堂上没有讲过的东西。通过这次课程设计,我更加深刻体会到理论与实践相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论。从而提高自己的动手能力和独立解决和思考问题的能力。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,单片机已经发展成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。因此作为21世纪的大学生来说掌握单片机的开发技术是十分重要的。回顾此次课程设计,至今感慨颇多。由于基础知识没打
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 债权融资专员项目跟进报告
- 企业数字化转型战略规划与实施方案
- 制裁合规培训师培训课件模板
- xx市污水处理提质增效工程实施方案
- 兴业国企员工培训与职业发展
- IT行业技术人员职业发展与技能培训计划
- 2025年体外诊断器械项目建议书
- 专利工程师专利技术秘密保护方案
- 中心城区环卫综合处置项目可行性研究报告
- 老旧小区改造及城市更新工程规划设计方案
- 2025年秋人教版小学数学六年级上册期末质量检测试卷及参考答案
- 心电中心运营方案
- 《分布式光伏发电开发建设管理办法》问答(2025年版)
- xx医院检验科室内质控月总结报告
- 2025年秋青岛版(五四学制)(新教材)小学数学三年级上册(全册)教学设计(附目录P129)
- 2025年集团公司资金集中管理办法
- 标准劳动合同解除协议范本
- 2026年考研英语二信息匹配题卷附答案解析与快速定位
- 【《复杂场景下的运动目标跟踪算法分析》开题报告4200字】
- 矿山隐蔽致灾因素普查规范讲解
- 基于碳基纳米材料的铅蓄电池电极性能优化与调控-洞察及研究
评论
0/150
提交评论