ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:264.81KB ,
资源ID:1513398      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/1513398.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(恒温出水阀的控制器设计通过答辩.docx)为本站上传会员【可****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

恒温出水阀的控制器设计通过答辩.docx

1、 南 昌 大 学 学士学位论文原创性申明 本人郑重申明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本申明的法律后果由本人承担。 作者签名: 日期: 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌大学可以将本论文的

2、全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密□,在 年解密后适用本授权书。 本学位论文属于 不保密□。 (请在以上相应方框内打“√”) 作者签名: 日期: 导师签名: 日期: In recent years, with the penetration of computers in the social sphere, the appli

3、cation of SCM is constantly deepening, driven by traditional control detection of the rapidly growing . In the real-time detection and automatic control microcomputer application system, the microcontroller is ofteIn recent years, with the penetration of computers in the social sphere, the applicati

4、on of SCM is constantly deepening, driven by traditional control detection of the rapidly growing updates. In the real-time detection and automatic control microcomputer application system, the microcontroller is often as a core component, microcontroller knowledge alone is not enough, IT should be

5、based on the specific hardware architecture, and application-specific software features object combine to make system perfect. In this paper,control of the temperature is achieve by 51MCU . Its main part contains of: STC89C52 microcontroller, temperature sensor, the keyboard and display circuit, te

6、mperature control circuit. It can be real-time display and set the temperature and speed of the motor, automatic temperature control. Firstly, temperature sensor measuring the temperature in the water tank and the temperature information is converted into an analog voltage signal, the voltage signa

7、l is amplified to the MCU which can handle within the scope; then low pass filtering to filter out the interference signal is fed to the micro-controller; finally, micro-controller will detect temperature information and the LCD1602 display temperature values and then compared with the set value. If

8、 they do not match, The micro-controller to control the servo motor to the steering and speed to open the cold water valve or the hot water valve, thereby enabling the temperature to keep the temperature in required range . In specific design process, C language is used for software programming, a

9、nd then download the program into SCM STC89C51 ,various components driven by the development board thermostatically controle as a core component. ; 附录一 软件设计序 33控制器系统的核心部件是89C52单片机,它作为“大脑”控制其他硬件的运行, 首先温度传感器测量水箱内的温度采集,并存入单片机,最后单片机将检测到的温度信息用十进制数码显示温度值并与设定值进行比较,若温度超过所设定的温度,则单片机控制电机的转向,转向的角度大小为温度差的差

10、值,开大热水阀门,关小冷水阀门,反之同理,进而使温度控制在要求的温度范围。 4.

11、 报警信号的应用 :DS18B20 每次执行完温度转换后,温度值将与储存在TH和TL内的报警触发值比较,若测量的结果值大于TH的值或小于TL的值,则会置位内部的报警标志位,在连接多DS18B20的应用系统中,主机发出报警搜索命令(ECh)时,含有置位报警标志位的DS18B20会响应总线主机,发回标志位,其他无置位报警标志位的DS18B20则保持沉默,这样有便于主机立即识别DS18B20并读出数据。16位的温度寄存器与8位TH或TL寄存器内容进行比较时,将忽略温度寄存器高字节,而TH或TL得最高位对应温度数据的符号位。 主机发送复位脉冲 主 机 接 收 480

12、us 4801us 15us DS18B20采样 45us

13、 15us DS18B20采样 45us 图3-3-2 写时序图 DS18B20在DQ数据线变低后15-60us之间采样数据线,DQ数据线为高电平既是数据“1”,DQ数据线为低电平既是数据“0:”。 主机发送写“1”时序拉低数据线至少1us,再拉高数据线,也也已在15us后拉高数据线然后释放;发送写“0”时序拉低数据线后一直保持低电平60us 在释放。 读时序:读时序是主机使数据线从逻辑高电平大地为逻辑低电平,持续至少1us后释放数据线,再接收从DS18B20传来的数据位的过陈塘关,读时序的持续时间必须大于60us,且两个读时序操作的回复时间间隔必须大

14、于1us,如图所示。 主机读0时序 1us 主机读1时序 》1us 15us 主机采样 45us 15us 主机采样 45us 图3-3-3 读时序图 DS18B20在读时序数据线下降沿之后15us开始输出有效数据,,此时主机必须释放数据线(转为输入状态)。读时序技术后数据线由外部上拉电阻拉回至高电平图3-3-4 DS18B20在单片机中的电路图,本课题中DS18B20接P3^7口

15、

16、 延时 15ms 写指令38H(不检测忙信号) 延时5ms 写指令38H(不检测忙信号) 延时5ms 写指令38H(不检测忙信号) (以后每次写指令,读/写数据操作之前均需检测忙信号) 写指令38H:显示模式设置 写指令08H:显示关闭 写指令:01H:显示清屏 写指令06H:显示光标移动位置 写指令0CH:显示开及光标设置

17、 步进电机就是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步距角)。可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲的频率来控制电机转动的速度以及加速度,从而达到调速的目的。本课题使用常用的步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,电机可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。

18、当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。。。)双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。) 主要参数如下图: 表3-5-1 电机的主要参数 电机型号 电压 相 数 相电阻ΚΩ 步距角 减速比 起动转矩 起动频率 定位转矩 噪声dB 28BYJ48 5 4 300 5.628/64 64 >=300 >=550 >=300 <=35 因为单片机接口信号不够大故

19、需要通过两个ULN2003电流放大器再连接到相应的电机接口,如下: 图3-5-1 ULN2003连接步进电机 红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。 表3-5-2 各端口的电平运行表 导线颜色 1 2 3 4 5 7 5红 + + + + + + 4橙 - - 3黄 - - - 2粉 - - - 1蓝 -  橙   黄  粉 蓝 十六制(P1口)   1  0  0  0

20、 0x08  1  1  0  0  0x0c  0  1  0  0  0x04  0  1  1  0  0x06  0  0  1  0  0x02  0  0  1  1  0x03  0  0  0  1  0x01  1  0  0  1  0x09 本课题中需要用到两个步进电机,故需要两个ULN2003驱动,但由于两个步进电机一起工作时,整体电压明显下降,导致LCD1602显示器应电压不够而显示不清,故采用两个电机轮流工作。  定义旋转相序 uchar code step5[]={0x89,0xc1

21、0x43,0x62,0x26,0x34,0x1c,0x98}; //同时驱动两个电机,一个正转,一个反转 uchar code step1[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表 uchar code step2[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表 单片机的外部中断有两种触发方式可选电平触发和边沿触发,本课题因按键电路较简单,选择电瓶触发方式。 使用INT0和INT1中断分别来设置初始温度的高低,P34定义为关闭阀门,P35定义

22、为开启阀门。电路图如下图: DS18B20DATASHEET, and 郭国法. "MCS-51 单片机温度控制系统的设计."[M] 微计算机信息 21.7 (2005): 68-69.屠乃威, 付华, and 阎馨. "参数自适应模糊 PID 控制器在温度控制系统中的应用."[M]微计算机信息 20.6 (2004): 20-21. #include #include #define uchar unsigned char #define uint unsigned int #define motorstep P1

23、 //定义P1口为步进电机驱动端口 sbit DQ=P3^7; //定义温度传感器信号线端口 sbit LCD_E=P0^5; //定义液晶使能端端口 sbit LCD_RS=P0^7; //定义LCD数据/命令选择端口 sbit BF=P2^7 ; //忙检测定义 sbit LCD_RW=P0^6; //定义LCD读写选择端口 sbit OFF=P3^4; //定义关闭阀门端口 sbit ON=P3^5; //定义开启阀门端口 uchar table_begin=0;

24、 //定义table无符号字符型 uint M=1,N=1,X2=2,X,X1=2,Pluse,TN,TD,k,M1,M2,M3,M4; //定义温度,转角值,温度差值,脉冲数为无符号整数 uint SET1=25;// 01234567890123456 // SET1为设定温度 uchar table1[]="SET: N1: "; // 定义LCD显示第一行 uchar table2[]="CUR: N2: "; // 定义LCD显示第二行 uchar table3[

25、]="SYSTEM IS AWAIT "; //定义开机欢迎文字 uchar table4[]="PRESS ON TO START" ; uchar table5[]=" THE TEMPERATURE "; //定义温度到达常温文字 uchar table6[]=" IS NOW CONSTANT " ; uchar table7[]=" SYSTEM IS OFF "; //定义关机文字 uchar table8[]=" PLEASE WAIT... " ; uchar table9[]=" SYSTEM TURNING ";

26、 //定义关机文字 uchar table10[]="ON PLEASE WAIT..." ; uchar code table[]="0123456789"; // 定义数组 uchar code step1[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};//逆时针旋转相序表 uchar code step2[]={0x90,0x10,0x30,0x20,0x60,0x40,0xc0,0x80}; //顺时针 uchar code step3[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,

27、0x08};//顺时针旋转相序表 uchar code step4[]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90}; //逆时针 uchar code step5[]={0x89,0xc1,0x43,0x62,0x26,0x34,0x1c,0x98}; //同时驱动两个电机,一个正转,一个反转 //uchar code step6[]={0x98,0x1c,0x34,0x26,0x62,0x43,0xc1,0x89}; //与上面的电机转动方向相反 /**********************************************

28、 延时(ms)函数 ************************************************/ void Delayms(uint z) { uint x,y; for(x=z;x>0;x--) //延时一微妙 for(y=110;y>0;y--); } /*****电机初始转角**********/ void Motor_init(uint f) //电机1逆时针转 { uint i,j; for(i=0;i

29、 { for(j=0;j<8;j++) { P1=step5[j]; //取值赋给P1驱动口 Delayms(3); } } } /*********************************************** 升温电机程序 ************************************************/ void Temp_UP1(uint M) //电机1顺时针转 ,电机向上摆 {

30、 uint i,j; for(i=0;i

31、 //取值赋给P1驱动口 Delayms(5); } } } /*********************************************** 降温电机程序 ***********************************************/ void Temp_DOWN1(uint N) { //电机1逆时针转 uint i,j; for(i=0;i

32、{ for(j=0;j<8;j++) { P1=step3[j]; //取值赋给P1驱动口 Delayms(5); } } } void Temp_DOWN2(uint N) { //电机2顺时针转 uint i,j; for(i=0;i

33、 LCD1602显示功能 ************************************************/ /***************************************************** 判断液晶模块的忙碌状态 返回值:result,result=1,忙碌;result=0,不忙 ***************************************************/ bit BusyTest(void) { bit re

34、sult; LCD_RS=0; //根据规定,RS为低电平,RW为高电平时,可以读状态 LCD_RW=1; LCD_E=1; //E=1,才允许读写 _nop_(); //空操作 _nop_(); _nop_(); _nop_(); //空操作四个机器周期,给硬件反应时间 result=BF; //将忙碌标志电平赋给result LCD_E=0; //将E恢复低电平 return result; } void wr

35、ite_com(uchar com) //写指令函数 { while(BusyTest()==1); //如果忙就等待 LCD_RS=0; //根据规定,RS和R/W同时为低电平时,可以写入指令 LCD_RW=0; LCD_E=0; //将E置低电平 _nop_(); _nop_(); //空操作两个机器周期,给硬件反应时间 P2=com; //将数据送入P2口,即写入指令或

36、地址 LCD_E=1; //E置高电平 Delayms(5); //延时,给硬件反应时间 LCD_E=0; //当E由高电平跳变成低电平时,液晶模块开始执行命令 } void write_data(uchar date) //写数据函数 { while(BusyTest()==1); //如果忙就等待 LCD_RS=1; //RS为高电平,RW为低电平时,可以写入数据 LCD_RW=0; Delayms(5); //延时,给硬件反应时间 P2=date; //

37、将数据送入P0口,即将数据写入液晶模块 Delayms(5); //延时,给硬件反应时间 LCD_E=1; //E置高电平 Delayms(5); //延时,给硬件反应时间 LCD_E=0; //当E由高电平跳变成低电平时,液晶模块开始执行命令 } /********LCD显示位置设置*********/ /******显示关机字符*****/ void LCD_OFF(uchar num1,uchar num2) //num1表示液晶第一行有几个数显示,num2表示液晶第二行有几个数显示 { uchar i,

38、j; write_com(0x80); //写入LCD第一行第一列的地址0x80 for(i=0;i

39、显示温度恒定字符*****/ void LCD_Done(uchar num1,uchar num2) //num1表示液晶第一行有几个数显示,num2表示液晶第二行有几个数显示 { uchar i,j; write_com(0x80); //写入LCD第一行第一列的地址0x80 for(i=0;i

40、的地址0x80 for(j=0;j

41、示 { write_data(table9[i]); Delayms(5); } write_com(0x80+0x40); //写入LCD第二行第一列的地址0x80 for(j=0;j

42、二行有几个数显示 { uchar i,j; write_com(0x80); //写入LCD第一行第一列的地址0x80 for(i=0;i

43、s(1); } } /****显示温度转角******/ void LCD(uchar num1,uchar num2) //num1表示液晶第一行有几个数显示,num2表示液晶第二行有几个数显示 { uchar i,j; write_com(0x80); //写入LCD第一行第一列的地址0x80 for(i=0;i

44、 //写入LCD第二行第一列的地址0x80 for(j=0;j

45、d int1_interrupt(void) interrupt 2 //外部中断INT1 { Delayms(50); if(INT1==0) //若INT1为低电平,则设置温度下降一度 SET1-- ; } /*********系统初始化******************/ void init() { IE=0x85; //外部中断允许 TCON=0x05; //定时器/计数器控制寄存器外部中断1和0为下降沿触发方式 OFF=1; ON=1;

46、 Delayms(15); //延时15ms,首次写指令时应给LCD一段较长的反应时间 /*****LCD初始化*****/ write_com(0x38); //显示模式设置16*2显示,5*7点阵,8位数据借口 Delayms(5); //延时5ms ,给硬件一点反应时间 write_com(0x38); //显示模式设置16*2显示,5*7点阵,8位数据借口 Delayms(5); //延时5ms ,给硬件一点反应时间 write_com(0x38); //

47、显示模式设置16*2显示,5*7点阵,8位数据借口 Delayms(5); //连续三次,确保初始化成功 write_com(0x0c); //设置开显示,不显示光标 Delayms(5); //延时5ms ,给硬件一点反应时间 write_com(0x06); //写一个字符后地址指针加1 Delayms(5); //延时5ms ,给硬件一点反应时间 write_com(0x01); //显示清0,数据指针清0 Delayms(50); //延时0.05s开始测温

48、度 } /***************************************************** DS18B20传感器初始化 出口参数:flag ***************************************************/ bit Init_DS18B20(void) { uchar i; bit flag; //储存DS18B20是否存在的标志,flag=0,表示存在;flag=1,表示不存在 DQ = 1;

49、 //先将数据线拉高 for(i=0;i<2;i++); //略微延时约6微秒 DQ = 0; //再将数据线从高拉低,要求保持480~960us 以向DS18B20发出一持续480~960us的低电平复位脉冲 for(i=0;i<200;i++); //略微延时约600微秒 DQ = 1; //释放数据线(将数据线拉高) for(i=0;i<10;i++); //延时约30us(释放总线后需等待15~60us让D

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服