




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计温控定时器烤火炉的设计毕业论文目 录摘 要IAbstractII目 录III第一章 绪 论11.1 本研究课题的背景11.2 本课题的研究意义11.3单片机微控制技术21.4 课题内容4第二章 系统设计52.1 系统整体设计思路52.2 温度采集模块62.3 液晶显示模块82.5加热模块92.4 按键模块102.6定时显示模块102.7 蜂鸣器报警模块11第三章 软件设计123.1 开发环境123.1.1 Keil uvision4软件使用123.1.2 Proteus Isis 7的使用123.2 液晶屏显示程序143.3 按键扫描程序153.4 加热控制程序17第四章 系统测试184.1 系统仿真测试184.2实物测试21第五章 总结与展望24参考文献25致 谢26附录27附录一:电路原理图27附录二:电路仿真原理图28附录三:源程序291第一章 绪 论1.1 本研究课题的背景随着近年来人们生活的日益改善,早期的家用电器已经不能满足大家日常生活的使用了。方便、快捷、智能、安全、绿色显然已经成为现在大家追求的主流生活。传统的家用或者共用加热取暖设备不仅加热效果差,而且还存在众多的安全隐患,消耗能源更是浪费。几年来随着电子科技技术发展突飞猛进,微控制器已经深入到各个领域了,在军用设备、工厂设施、公共场合、到家用电器方面等领域中运用普遍。自动加热取暖器采用AT89C51为控制处理器为核心,温度传感器DS18B20由有单片机随时采集温度值,反馈给MCU,让液晶屏显示出来从而可以实时测量温度,达到控制效果。通过这样一系列的设计,能够形成良好的人机操作。由于现代电力电子技术,计算机技术,控制理论已经成熟,采用单片机控制技术是实现家电智能化重要且流行的一部分。单片机具有体积微小,重量轻,能耗低,效率高,控制功能强、操作简单以及价格便宜等特点,因而成为温控,报警控制系统的首选微控制器。这也是未来家用电器的流行趋势,目前已应用于多个领域。1.2 本课题的研究意义取暖器的历史已经发展了好多年了,并且广泛的应用于生活、公共场合当中。目前市面上流行的自动取暖器种类非常多,在温度控制、和人机交流方面都有非常良好的性能。不管是工业,民用,和军用上面有着出色的表现。随着社会的发展,各方面的技术越来越好,大众对自动取暖器也提出了更高的要求,采用微控制器进行控制温度加热设备不仅在操作过程中更智能,它还体现在节能、安全等细节上,在自动控制和电子领域依然被广泛使用。在今天的社会中,伴随着与自动控制系统的不同要求的生产工艺的改进,通过改变用微控制器的智能设备便应运而生,并得到了更快更好的发展。微控制器智能加热系统需要较少的元件,电路结构简单,控制灵活,坚固耐用,应用范围广,各种不同的控制通道,和数字信号兼容的通信,因此得到了业界的广泛应用,推动产业化发展,使得今后我们工作学习研究物联网智能家用系统变得非常重要。采用单芯片作为主控制装置,实现了“智能自动取暖器”的主题,通过这样的设计,我们可以进一步加深我们理解和运用理论知识能力,而且对我们今后的工作学习和研究具有重要的意义。1.3单片机微控制技术单片机,全称单片微型计算机,又称微控制器,是把中央处理器CPU、存储器(RAM/ROM)、多种I/O口、定时/计数器和中断系统等功能集成在一块集成电路芯片上的微型计算机系统,采用了超大规模集成技术,广泛应用于工业控制领域。单片的使用要追溯到从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。本款采用的是AT89C51芯片设计,以下单片机外部引脚的分布:a、 电源和时钟引脚。如Vcc、GND、XTAL1、XTAL2。b、 编程控制引脚。如RST、PSEN、ALE/PROG、EA/Vppc、 I/O口引脚。如P0、P1、P2、P3,四组8位I/O口。各引脚的功能如下:Vcc(第40引脚)、GND(第20引脚)它们是单片机的一对电源引脚。不同型号的单片机对应的电压源也不同,AT89C81对电源的 需求范围比较宽,最低可以是+3.3V,最高为5V都可以,对电源兼容性很强。XTAL1(第19引脚)和XTAL2(第18引脚)是单片机对外的时钟引脚,其中XTAL1是单片机片内振荡电路的输入端,XTAL2为单片机片内振荡的输出端,AT89C51的时钟选择方式有两种,一种是片内振荡方式,需要将这两个引脚接石英晶振加上瓷片电容,这里我们选用的是12MHZ的晶振和33PF的瓷片电容作为时钟振荡源。一种是外部时钟方式,将XTAL1接地,外部时钟信号从XTAL2脚输入。图1-1 时钟振荡电路源RST(第9脚)为单片机复位引脚。改引脚需要连续从外部输入两个机器周期以上的高电平才有效,一般启动单片机复位有两种方式,一种为自动上电复位,一种为按键复位,本次设计为按键复位方式。不管哪种方式当单片机复位后,无论出于什么状态,都将从头开始执行程序。图1-2 按键复位电路AT89C51一共有4个I/O口,这些I/O口又分别有8位,总共32个。P0口(第39脚-32引脚)它是双向的8位三态I/O,每一位都可以单独控制,由于P0口内部没有上拉电阻,默认时为高阻态,不能正常的输出高低电平,因此在使用P0口时一定要外接上拉电阻,在本次设计中,我们采用10K的电阻。P1口(第1脚8引脚)它是准双向8位I/O口,跟P0一样,每个口都可独立控制,由于内带上拉电阻,所以输出是没有高阻态。之所以称他为准双向,是因为改口在输入使用前,要进行写1,这是才能读取外部信号。也就是说要有个“准备”的过程。P2口(第21脚28引脚)该口和P1口使用一样,这里不再细说。P3口(第10引脚17脚)该口与P1相式,但是值得注意的是该口有复用功能,作为第二功能时如图所示:标号引脚第二功能说明P3.010RXD串行输入口P3.111TXD串行输出口P3.212INT0外部中断0P3.313INT1外部中断1P3.414T0定时器/计数器0外部输入端P3.515T1定时器/计数器1外部输入端P3.616WR外部数据存储器写脉冲P3.717RD外部数据存储器读脉冲表1-1 P3口引脚复用功能1.4 课题内容本产品设计了八级加热功能,八个加热器分别有八个继电器控制,这八个继电器由AT89C51单片机的P1口控制。当环境温度与设定温度相差10度时,8路加热器同时工作,相差5度时,4路加热器工作,相差2度时2路加热器工作,相差1度时只有1路加热器工作,当环境温度大于设定温度时,所有加热器停止工作。这样不仅升温速度快,而且节能,更重要的是安全,绝不会引发火灾。系统设有数码显示模块,能显示环境的温度和设计的温度。系统设有蜂鸣器模块,可进行提示或报警。系统设有按键模块,其由三个按键组成,分别是温度加、温度减和定时。系统设有定时指示模块,其由八个条形LED指示灯组成,能进行0.54小时的定时恒温控制。第二章 系统设计2.1 系统整体设计思路取暖器首先必须考虑安全问题,为此加入DS18B20温度传感器。首先由温度传感器采集当前环境温度,再根据用户设定的温度控制加热器,当环境温度达到设定温度时,停止加热。传统的取暖器升温慢,因此该系统设计了八级加热功能,八个加热器分别有八个继电器控制,这八个继电器由AT89C51单片机的P1口控制。当环境温度与设定温度相差10度时,8路加热器同时工作,相差5度时,4路加热器工作,相差2度时2路加热器工作,相差1度时只有1路加热器工作,当环境温度大于设定温度时,所有加热器停止工作。这样不仅升温速度快,而且节能,更重要的是安全,绝不会引发火灾。最后通过显示模块将环境的温度和设计的温度显示出来。系统设有定时指示模块和蜂鸣器模块,定时指示模块由八个条形LED指示灯组成,能进行0.54小时的定时恒温控制。蜂鸣器模块在定时时间到达之后启动报警。整个系统的设计主要以单片机为核心,由温度采集模块、按键模块、加热模块、蜂鸣器报警模块、液晶显示模块和定时显示模块所组成。电路整体设计原理图如图所示:图2-1 系统框图2.2 温度采集模块该模块由数字温度传感器DS18B20和上拉电阻组成。DS18B20的数据输入输出端DQ引脚接在AT89C51的P2.3口,负责采集环境的温度。经过DQ端,将温度信号传递给微控芯片,经单片机处理将数据传送给LCD显示模块显示数据。具体电路图如图2-2所示,DQ短接STC89C52的P2.3端口。图2-2 温度检测原理图DS18B20温度传感器是DALLAS美国半导体公司最新模型的智能温度传感器,与传统热敏电阻的温度测量设备相比,它可以直接读出所测量的温度,并且可以基于通过简单的编程实现要求9-12位数字读数模式。DS18B20 具有如下所示的性能:(1)独特的接口方式只需要用一个引脚在通信上;(2)多个DS18B20可以被并联连接在独有的一条三线上,达到多点组网的功能;(3)不需要其他的外部元器件;(4)能通过外接数据线来提供电源,电压的范围:3.05.5V;(5)测温范围55125,在-10+85时精度为0.5;(6)零待机功耗;(7)温度用9位或12位的数字量读出;(8)可用于用户定义的非易失性温度报警设置 ;(9)报警搜索命令识别并且标志出超过程序限定的温度(温度报警条件)的元器件;(10)负电压特性,电源极性反向,温度计将不会烧毁,但不会正常工作。DS18B20采用脚SOIC的封装或3脚PR35 的封装。DS18B20内部存储器还包括温度传感器暂存RAM和非易失性电可擦除EERAM。暂存RAM配置为8字节的存储器,在表3.4.1中所示的结构中。前两个字节包含测得的温度信息,第3和第4字节TH和TL是挥发性的,每次上电复位刷新。其中的第5个字节的配置寄存器,其内容温度值被用来确定数字转换的分辨率。 DS18B20工作寄存器中的分辨率转换为相应精度的温度值。在图中所示的字节。成员的定义如下。低5位一直设置为1,TM是工作模式位,设置温度计为工作模式或在测试模式。DS18B20工厂初始设置被设置为0,用户要改变,R1和R0决定温度转换的精度位数,设置这两位来决定分辨率。DS18B20高速暂存器共9个存存单元,如表2-1所示。表2-1 寄存功能序号寄存器名称作用序号寄存器名称0温度低字节以16位补码形式存放4、5保留字节1、21温度低字节6计数器余值2TH用户字节1存放温度上限7计数器3TH用户字节2存放温度上限8CRC用12位的转化为例说明温度高低字节的存放形式以及计算12位的转化后所得到的12位数据, 18B20的两个高低8位的RAM中存放数据,在二进制中符号位是最前面的5位数字。所测得到的温度如果大于0,那这5位就设置为0,只需将所得的数值乘以0.0625就可以得到实际的温度;如果所测得到的温度小于0,那就将这5位数字设置为1,将测到的数值取反再加1,然后乘以0.0625才能得到实际的温度。表2-2 转换时间R1R0转换精度(16进制)转换精度(10进制)转换时间009bit0.593.75ms0110bit0.25187.5ms1011bit0.125375ms1112bit0.0625750ms当S(符号位)等于0时,说明所测得的温度值为正数,能够直接将得到的二进制位转换为十进制数;当S(符号位)等于1时,说明所测得的温度值为负数,需要先将得到的补码转换成原码,再计算十进制数。表3.3是温度值对应于二进制温度数值。表2-3 温度转换表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H2.3 液晶显示模块该模块由LCD1602液晶屏和10K的排阻组成。液晶屏的8个数据端口D0-D7分别连接到P0的8个I/O口,加上10K的上拉电阻,另外LCD的RS、RW和E分别与微控芯片的P2.0、P2.1、P2.2相连,主要是显示温度传感器返回的示数。电路图如图2-4所示。图2-4 液晶显示电路1602液晶显示器是工业字符型液晶,能够同时显示32个字符。(16列2行)液晶显示模块可以分为字段,字符点阵,图形点阵3种。一般情况下,只有后者可以显示汉字和图形。LCD1602液晶显示器是最常见的162行,68字符的点阵液晶显示模块,其广泛用于智能仪表、办公设备和通信中。其字符发生器ROM中自带数字和英文字母及特殊符号的字符库,没有汉字。表2-4 LCD引脚表编号符号引脚说明编号符号引脚说明1VCC电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15VDD电源正极8D1数据16VCC电源地第1脚:VSS为接地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器调整对比度的端口,当接入为正电源时其对比度最弱,在接地时其对比度为最高,一旦对比度过高时,就会产生“鬼影”,使用时可以由一个10K大小的电位器进行对比度的调整。第4脚:RS端口作为寄存器的选择端,要选用数据寄存这一功能时就将端口置为高电平、用指令寄存这一功能时就将端口置为低电平。第5脚:R/W是用于读或写的信号线,执行读操作需将其置为高电平,执行写操作需将其置为低电平。在将R/W和RS都设置为低电平时就可以显示地址或者写入指令,在R/W设为高电平、RS设为低电平时就显示读忙信号,在RS为高电平、R/W设为低电平就可用于写入数据。第6脚:E端口作为使能端,当E端口从高电平变为低电平时,液晶模块开始执行命令。第714脚:D0D7为8位双向的数据线。2.5加热模块为了实现分级加热功能,系统设计了8个加热模块,这八个加热模块由AT89C51的P3口的八个引脚控制。1个加热模块主要由1个继电器、1个三极管和1个加热电阻丝组成。图1中继电器RL1由三极管Q1驱动,Q1的基极链接在AT89C51的P1.0口,当该端口输出低电平时,三极管Q1导通,继电器RL1闭合,加热电阻丝L1工作,当该端口输出高电平时,三极管Q1截止,继电器RL1断开,加热电阻丝L1停止工作。图2-5 继电器加热电路图2.4 按键模块为了简化系统的操作控制,我们只设计了三个按键,分别是温度加、温度减和定时,通过前面两个按键我们可以改变取暖器的目标工作温度,通过后者我们可以设定取暖器恒温定时的时间。电路图如图2-5所示,K1、K2、K3分别接单片机的P2.5、P2.6和P2.7口。图2-5 按键电路图2.6定时显示模块该模块由八个条形LED灯U3和限流排阻RP2组成,链接在AT89C51的P3口的八个引脚上,恒温定时的时间等于亮的LED灯的个数乘以0.5小时。图2-6 定时显示电路图2.7 蜂鸣器报警模块该模块主要由蜂鸣器、PNP三极管和一些外围元件组成。蜂鸣器由PNP三极管Q5驱动,Q5的基极链接在AT89C51的P2.4口,当该端口输出低电平时,三极管Q5导通,蜂鸣器发声,当该端口输出高电平时,三极管Q5截止,蜂鸣器停止发声。由于蜂鸣器位感性元件,故并联了一个反向的二极管。电路图如图2-3所示。三极管PNP的基极连接在单片机的P2.4口。 图2-3 蜂鸣器报警电路第三章 软件设计3.1 开发环境本次程序代码的编写是在keil软件的环境下完成,在Proteus Isis 7软件环境下进行仿真。3.1.1 Keil uvision4软件使用1、首先在桌面打开keil uvision4软件图标。2、选择Project,点击New uvision Project新建项目工程,保存。图3-1 打开keil软件3、选择File,点击New,新建文本,保存文本,后缀名为“.C” 文件。图3-2 新建文本4、 编写C程序,编译、生成Hex文件。3.1.2 Proteus Isis 7的使用1、打开proteus Isis7软件。图3-3 新建仿真文件2、选择File,点击New Design,新建文本,保存。3、在弹出的Pick Devices对话框中,选择需要的元器件。图3-4 选取元器件4、最后连接元器件,完成仿真图的绘制。图3-5 绘制仿真原理图3.2 系统主流程设计本程序包含主程序、DS18B20驱动程序、LCD1602液晶驱动程序、加热控制程序、按键扫描程序等。主程序采用模块化编程方案,包含延时、温度数据转换为字符串、1602显示等函数,系统主流程如下图4.1所示。开始LCD1602初始化DS18B20初始化温度数据扫描继电器加热温度的显示蜂鸣器报警延时10ms图3-6 主程序流程图3.2 液晶屏显示程序当为产品通上电时,即启动该温度控制模式,温度传感器会采集周边的环境,然后将其通过P2.3引脚将数据传送到单片机,通过液晶显示屏显示当前的温度。具体程序框架如下图:开始温度数据采集单片机数据处理液晶屏显示 图3-7 温度模块流程图通过温度传感器,将采集的温度数据传送到单片机上,然后不断更新当下温度的状态,且在液晶显示屏上显示出来,实现其功能的主要程序如下:void Ds18b20ReadTempCom()Ds18b20Init();Delay1ms(1);Ds18b20WriteByte(0xcc);Ds18b20WriteByte(0xbe); int Ds18b20ReadTemp()int temp=0;unsigned char tmh,tml;Ds18b20ChangTemp();Ds18b20ReadTempCom();tml=Ds18b20ReadByte();tmh=Ds18b20ReadByte();temp=tmh;temp=8;temp|=tml;return temp;3.3 按键扫描程序该模块由三个按键K1、K2、K3组成,分别于单片机的P2.5,92.6,P2.7相时,用户可以通过按下K1、K2键分别进行温度加和温度减,每次温度变化1度。按下K3键对加热的时间进行设置。每次增加0.5个小时,最多定时4小时。具体程序流程图如下:开始否K1是否按下是温度加1否K2是否按下是温度减1否K3是否按下是改变定时状态继续图3-8 按键扫描程序流程图在手动设置模式下,当用户按下按键就会启动按键扫描函数,将扫描后的数据传送到单片机,通过液晶屏显示返回值。具体程序如下:if(k1=0)/判断按键操作Delay1ms(10);a+;while(!k1);if(k2=0) /判断按键操作Delay1ms(10);a-;while(!k2);if(k3=0) /判断按键操作Delay1ms(10);i+;if(i=9)i=1;while(!k3);3.4 加热控制程序 当温度传感器将环境的温度采集发送到单片机,用户通过按键自定义来设置加热温度的上限值,程序自动会执行相应程序,当环境温度与设定温度相差10度时,8路加热器同时工作,相差5度时,4路加热器工作,相差2度时2路加热器工作,相差1度时只有1路加热器工作,当环境温度大于设定温度时,所有加热器停止工作。程序执行流程图如下:开始判断温度环境设计相差10度环境设计相差1度环境设计相差2度环境设计相差5度2路加热2路加热4路加热8路加热继续图3-9 加热控制程序流程图第四章 系统测试4.1 系统仿真测试在完成电路设计和程序设计,我们再用PROTEUS仿真软件进行仿真,仿真的结果与我们所设定的电路和程序几乎一致,达到了自动、智能的要求。仿真图如下:图4-1 电路仿真原理图通过该图可以看出当环境的温度超过了预设置的温度时,8路加热管均不加热,同时蜂鸣器报警。图4-2 1路加热通过该图我们可以看出当设定的温度 大于环境温度1时,只有一个加热管启动加热。图4-3 2路加热通过该图我们可以看出当设定的温度大于环境温度2时,有两个加热管启动加热。图4-4 4路加热通过该图我们可以看出当设定的温度大于环境温度5时,有四个加热管启动加热。图4-5 8路加热通过该图我们可以看出当设定的温度大于环境温度10时, 8个加热管全部启动。4.2实物测试本次产品用万能板焊接,由于产品功能丰富,外围电路较多,因此采用两块万能板焊接,一块板焊接好主要电路,另一块板焊接继电器加热模块。焊接过程中要注意各个引脚不能焊错,在焊接LCD1602过程中将引脚接错,导致无法正常显示,由于条件有限,将图中的发热管替换成发光二极管代替,最后经过硬件调试,确实能实现预期功能,完成了本次毕业设计的要求。以下是各个模块具体调试过程中的实物图:(由于材料原因,本产品用发光二极管代替发热管)图4-6 一个加热管工作如上图所示,当液晶屏上环境温度与自定义温度相差1度时,继电器启动1根加热管,进行升温加热,当环境温度大于等于自定义温度时,加热管停止加热。图4-7 两个加热管工作如上图所示,当液晶屏上环境温度与自定义温度相差2度时,继电器启动2根加热管,进行升温加热,当环境温度大于等于自定义温度时,加热管停止加热。图4-8 四个加热管工作如上图所示,当液晶屏上环境温度与自定义温度相差5度时,继电器启动4根加热管,进行升温加热,当环境温度大于等于自定义温度时,加热管停止加热。图4-9 一个加热管工作如上图所示,当液晶屏上环境温度与自定义温度相差10度时,继电器启动8根加热管,进行升温加热,当环境温度大于等于自定义温度时,加热管停止加热。实物测试都能符合毕业设计的要求,并且性能稳定,实现了仿真的预期功能。第五章 总结与展望本次论文是设计一个基于51单片机新型智能自动取暖器。本产品是通过AT89c51单片机为微控制器处理中心的,外围电路有温度传感器DS18B20来采集环境温度,LCD1602液晶屏用于人机交换界面显示当前温度和预先设置温度,蜂鸣器报警电路当环境温度超过了预先设置的温度蜂鸣器报警,还提供了3个按键按键1用来加温度;按键2用来减温度;按键3用来定时加热时间的长短;继电器加热管模块用于加热升温,共有8路,可以根据用户自己的需求分别来启动,到达节能的效果。8个发光二极管LED分别表示定时时间的长短,每个LED代表半个小时,最长定时时间可达到4小时。通过了本次的论文设计我学到了很多的东西,主要可以分为以下几个方面: (1) 在大学前三年多的时间里都是在课上学习理论基础知识,并没有机会真正地去应用和实践。但是由于这次毕业设计,给了我一个理论与实践相结合的机会,特别是在设计硬件电路时,学习了许多的知识,也请教了很多人,这次经历也为我将来从事电子设计方面的工作有了重新的认识。(2)此次设计由于要用到电路原理图的绘制,程序代码的编写,电路仿真图的设计。我学会了protel99se软件的使用,用于绘制原理图;keil软件的使用,程序的调试都是在该软件下执行的;PROTEUS是用来画电路仿真原理图的,本次使用的元件都能找到,最后在KEIL软件中生成的HEX文件调入仿真图中,就能实现电路图的仿真了。(3) 本次本业设计中很多都是大学课堂上没有学到的,有的也不是理解的特别深入,所以如何快速学习入门一个知识点,是我本次设计中得到最大的收获,如何学一个软件,如何使用传感器等,通过这些问题的解决,收获了很多解决问题的方法,也认识了一些单片机专业知识很深的人,请教了他们的学习经验和专业知识。(4) 大学的毕业设计是对每一个大学生的一次综合能力的考核,在最初接到任务时,我不知道该从哪方面的着手,也是身边的同学,老师和朋友们热情的帮助我,分享了他们的经验,本次毕业论文设计才可以完成,但是,不管是硬件电路还是程序设计中还是有点缺陷的,并不是很完美,还需改进。参考文献1 曾岐,彭楚武,刘辉.单片机原理与应用(第二版)M.长沙:中南大学出版社,2009.2 郭天祥.新概念51单片机C语言教程M.北京:电子工业出版社,2009.3 朱定华,黄松,蔡苗.Protel99SE原理图和印制板设计M.北京:清华大学出版社,2007.4 沈红卫.基于单片机的智能系统设计与实现M北京:电子工业出版社,2005. 5 元增民.单片机原理与应用M.长沙:国防科学大学出版社,2006.6 刘仁宇.单片微型计算机原理及应用M.西安:西安电子科技大学出版社,2003.7 马忠梅.单片机外围电路设计M.北京:北京航空航天大学出版社,2005.8 尹勇,王洪成.单片机开发环境Vision 2的使用指南M.北京:北京航空航天大学出版社,2004.9 范立南.PROTUES仿真软件实例使用指南M.北京:电子工业出版社,2004.10 李全利.单片机原理及接口技术M.北京:北京航空航天大学出版社,2004.11 焦玉朋. 基于51单片机的PWM直流电机调速系统. 内蒙古大学硕士论文,2013.12 徐爱钧,彭秀华.单片机高级语言C51应用程序设计M.北京:北京航空航天大学出版社, 2006.13 楼然苗.51系列单片机设计实例M.北京:北京航空航天大学出版社,2006.14 AT89C51 DATA SHEEP Philips Semiconductors 1999.dec.致 谢三个多月的毕业设计已经完美结束了,在做毕业设计的过程中,非常感谢梅老师的悉心指导。从最初的选题开始,梅老师多次询问研究进度,并且为我指点迷津,精心点拨了我的研究思路。梅老师以其精益求精的工作作风,严肃的教学态度,深深的鼓励和激励着我,使得我对于所学的知识有了一个更为深入的了解。对梅老师的感激之情是无法用言语来表达的。另外,感谢我的同学和朋友,在我写论文的过程中给予我了很多有用素材,还在论文的撰写和排版过程中提供热情的帮助。向帮助和指导我的各位老师表示最衷心的感谢!四年的学习生涯就要到此划上句号,时光荏苒,青春不再,在学校的时光永远是那么的让人怀念。在学校里面不仅学到了书本上的知识,更重要的是学会了生活上的其他知识。当然,学无止境,在什么时候都不能停下学习的脚步,活到老学到老,这是我们生活的目标,也是做一个四有青年的关键因素。感谢这篇论文所涉及到的各位学者,本文引用了数位学者的文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。最后,向在百忙之中抽出时间对本文进行评审并提出宝贵意见的各位专家表示衷心的感谢!40附录附录一:电路原理图附录二:电路仿真原理图附录三:源程序 主函数:#include#includelcd.h#includetemp.hvoid LcdDisplay(int);uint a=27,b,c,d,e,f,g,h,i=1,j,h;void main()LcdInit(); /初始化LCD1602LcdWriteCom(0x8a);/写地址 80表示初始地址LcdWriteData(C); LcdWriteCom(0xc2);/写地址 80表示初始地址LcdWriteData(S);LcdWriteCom(0xc3);/写地址 80表示初始地址LcdWriteData(e); LcdWriteCom(0xc4);/写地址 80表示初始地址LcdWriteData(t); LcdWriteCom(0xc6);/写地址 80表示初始地址LcdWriteData(U);LcdWriteCom(0xc7);/写地址 80表示初始地址LcdWriteData(p); TMOD=0x00;TH0=(8192-4607)/32;TL0=(8192-4607)%32;EA=1;ET0=1;TR0=1;while(i)LcdDisplay(Ds18b20ReadTemp();/显示操作if(k1=0)/判断按键操作Delay1ms(10);a+;while(!k1);if(k2=0) /判断按键操作Delay1ms(10);a-;while(!k2);if(k3=0) /判断按键操作Delay1ms(10);i+;if(i=9)i=1;while(!k3); if(i=1) P3=0xfe; if(i=2) P3=0xfc; if(i=3) P3=0xf8; if(i=4) P3=0xf0; if(i=5) P3=0xe0; if(i=6) P3=0xc0; if(i=7) P3=0x80; if(i=8) P3=0x00;e=a-d;if(d=a) /继电器控制P1=0xff;else if(e=10) P1=0x00;else if(e=5) P1=0xf0; else if(e=2) P1=0xfc;else if(e=1) P1=0xfe; void T0_time()interrupt 1TH0=(8192-4607)/32;TL0=(8192-4607)%32;f+; if(f=10) if(d=a)buzz=buzz; if(f=200) f=0; g+; if(g=60) g=0; h+ ; if(h=30) h=0; i-; void LcdDisplay(int temp) /lcd显示 unsigned char datas = 0, 0, 0, 0, 0; /定义数组float tp; if(temp0; c-) for (b=199;b0;b-) for(a=1;a0;a-); /* 函 数 名 : LcdWriteCom* 函数功能 : 向LCD写入一个字节的命令* 输 入 : com* 输 出 : 无*/#ifndef LCD1602_4PINS /当没有定义这个LCD1602_4PINS时void LcdWriteCom(uchar com) /写入命令LCD1602_E = 0; /使能LCD1602_RS = 0; /选择发送命令LCD1602_RW = 0; /选择写入LCD1602_DATAPINS = com; /放入命令Lcd1602_Delay1ms(1);/等待数据稳定LCD1602_E = 1; /写入时序Lcd1602_Delay1ms(5);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公安副职竞聘考试题库及答案
- 2025广西南宁市司法局招聘工作人员3人考前自测高频考点模拟试题及答案详解一套
- 浙江国企招聘2025浙江城市数字技术有限公司招聘6人笔试历年参考题库附带答案详解
- 中国船舶集团有限公司第七一三研究所2025届校招提前批招募笔试历年参考题库附带答案详解
- 2025雄安新区容城县招聘医疗卫生专业技术人员46人笔试历年参考题库附带答案详解
- 2025年浙江杭州市萧山区第三人民医院招聘编外人员1人模拟试卷附答案详解(完整版)
- 2025重庆长风化学工业有限公司招聘笔试历年参考题库附带答案详解
- 2025重庆垫江县县属国有企业第2次考试招聘工作人员和参加人员笔试历年参考题库附带答案详解
- 2025福建莆田国有资本运营集团有限公司招聘企业员工总及拟人员笔试历年参考题库附带答案详解
- 2025广西崇左市凭祥市公安局面向社会招聘警务辅助人员46人模拟试卷及答案详解(历年真题)
- 文学类文本阅读2026届高三9月名校模考试分类汇编五
- 2025年9月20日云南省直机关遴选公务员笔试真题及答案解析
- 合同纠纷民事起诉状模板示例
- 招行ai面试题库大全及答案
- 投标服务响应应急方案(3篇)
- 第4课 探究智慧农业应用领域 课件【教科版】《信息科技》八年级上册
- 大数据在高速公路收费稽查打逃方面的应用
- TY/T 3001-2006中国青少年儿童 手腕骨成熟度及评价方法
- GB/T 9722-2006化学试剂气相色谱法通则
- 我的家乡-美丽的余姚
- 插画风抗战纪念日电子小报手抄报word小报
评论
0/150
提交评论