版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1PAGE1正文1.设计内容和要求。随着社会的进步和工业技术的开展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。本课题以STC89C52单片机系统为核心,能对多点的温度进行实时巡检。DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并通过LCD1602显示当前温度,实现实时温度测量。2、系统总体结构系统的系统设计方框图如图1-1所示,它主要由三局部组成:①控制局部主芯片采用单片机STC89C52;②显示局部采用LCD1602以动态扫描方式实现温度显示;③温度采集局部的温度传感器采用DS18B20智能温度温度传感器。DS18B20进行温度采集和转换输出数字型的温度值,然后通过数据引脚传到单片机的P3.7口,单片机通过P2口将数据扫描到LCD1602显示屏上。LCD显示单片机LCD显示单片机驱动控制DS18B20驱动控制DS18B20传感器图2-13、硬件设计3.1控制模块本设计采用单片机基于数字温度传感器DS18B20的系统。单片机STC89C52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用。温度传感器DS18B20利用单总线的特点可以方便的实现多点温度的测量,组建传感器网络,且系统的抗干扰性好、设计灵活、方便,而且能在恶劣的环境下进行现场温度检测。温度采集模块这一局部主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口局部组成。DS18B20智能温度温度传感器进行温度采集和转换输出数字型的温度值,然后通过数据引脚传到单片机的P3.7口,单片机接受温度并存储。DS18B20是美国DALLAS半导体公司最新推出的一种单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,它可将温度信号直接转换为数字信号,实现了与单片机的直接接口,从而省去了信号调理和A/D转换等复杂模/数转换电路。DS18B20构成的温度采集模块电路简单、功能可靠、测量效率高,很好地弥补了传统温度测量方法的缺乏可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有集成度高、模拟输入数字输出、抗干扰能力强、体积小、接口方便、传输距离远测温误差小等特点。如图3-1.图3-1本课程设计的显示模块采用LCD1602液晶显示器显示温度数据,整数进行显示,从P0口送数,P2口扫描。显示当前测量的温度。220V的交流变压器经过变压器转换成10V的交流电,经过整流电路得到5V的直流电,供应电路使用。4软件设计按照硬件设计中的模块划分,软件设计业可分为三局部:DS18B20模块程序设计,LCD1602驱动程序设计,单片机主程序设计。其中前两局部是本例软件设计的关键,而相比拟,主程序设计那么比拟简单。下面分别为主程序流程图,DS18B20流程图和LCD1602液晶模块程序流程图。如图4-1.开始液晶模块初始化延时While(1)温度值处理读取温度值Ds18b20温度转换DS18B20初始化开始液晶模块初始化延时While(1)温度值处理读取温度值Ds18b20温度转换DS18B20初始化温度值显示温度值显示图4-1DS18B20模块程序设计在主程序流程图中,先初始化液晶模块,然后延时几百微秒,进入While循环,先初始化DS18B20,然后启动温度转换,读取转换后的温度值,并进行处理,最终将温度显示在LCD屏幕上。DS18B20是1-wire单线器材,即在一根数据线上实现数据的双向传输,这就需要严格的通信协议来保证各位数据传输的正确性和完整性。单片机操作单线器材DS18B20的流程图如图4-2所示。DS18B20初始化DS18B20初始化应答脉冲?N应答脉冲?跳过ROM匹配Y跳过ROM匹配温度转换温度转换延时,等待温度转换完成延时,等待温度转换完成跳过ROM匹配跳过ROM匹配读暂存器读暂存器结束转换为显示码结束转换为显示码图4-2首先DS18B20初始化。复位DS18B20,然后单片机等待DS18B20的应答脉冲,一旦单片机监测到应答脉冲,变发起跳过ROM匹配操作命令。成功执行了ROM操作命令后,就可以使用内存操作命令,启动温度转换,延时一段时间后,等待温度转换完成。再发起跳过ROM匹配操作命令,然后读暂存器,将转换结果读出,并转换为显示码,送液晶显示。需要注意的是:复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。LCD1602驱动程序设计用LCD1602液晶显示模块显示字符或字符串之前必须对其进行初始化,LCD1602液晶显示模块的初始化程序流程图如图4-3所示。LCD空闲?延时5ms写指令38H延时5ms写指令38HLCD1206延时15msLCD空闲?延时5ms写指令38H延时5ms写指令38HLCD1206延时15ms写指令38H写指令38HNY显示模式设置显示模式设置LCD空闲?NNLCD空闲?显示关闭YLCD空闲?显示关闭LCD空闲?显示清屏LCD空闲?显示清屏NYN显示开关及光标位置LCD空闲?显示光标移动设置Y显示开关及光标位置LCD空闲?显示光标移动设置NYLCD空闲?LCD空闲?NY结束结束图4-3上电复位以后,延时15ms,写3次38H指令,写指令前不监测忙标志位。当3次写38H指令完成后,开始进行显示模式设置操作,此时必须先监测忙标志位,只有当其为空闲时,才能进行显示模式设置。伺候依次为显示关闭。显示清屏,显示光标移动设置和显示开关及光标设置。同写显示模式设置一样,每次写之前,都必须先检测忙标志位。5,系统调试单片机应用系统的硬件调试和软件调试是分不开的.许多硬件故障只有通过软、硬件联调才能发现,但一般是先排除系统中比拟明显的硬件故障后才和软件一起联调。常见的硬件故障.常见问题逻辑错误样机硬件的逻辑错误是由于设计错误和加工过程中的工艺错误而造成的,包括错线、开路、短路、相位错误、时序错误等,其中最常见的是短路故障。2元器件错误元器件错误的原因有器件损坏或性能不符合要求,电解电容、二极管的极性接反或集成块装反等。3可靠性差应用系统可靠性差的原因很多,如金属化孔、接插件接触不良、内部和外部的干扰、电压纹波系数过大、器件负载过重等均会造成系统的可靠性差。另外,走线和布置的不合理也会造成系统可靠性差。4电源故障电源故障包括:电压值不符合设计要求、电源功率缺乏、负载能力差、纹波太重等。.硬件调试力法(1)脱机调试脱机调试是在加电前,先用万用表等工具,按图纸仔细核对样机线路是否正确,并对元器件的安装、型号、规格等进行仔细检查,特别注意印制板加工和焊接时有无走线之间相互短路等。〔2)联机调试联机前先切断电源,把仿真插头插到样机的单片机插座上,检查一下开发机与样机之间的电源、接地是否良好。一切正常后,即可翻开电源。通电后执行开发机读/写指令,对用者样机的存储器I/O口进行读/写操作,进行逻辑检查。假设有故障,可用示波器观察有关点的波形,寻找和分析故障原因,并进一步排除故障。在用者系统的样机(主机局部)调试好后,便可按入用者系统的其它外围部件,如键盘、显示器等,再进一步进行调试。软件调试方法:软件调试与所选用的软件结构有关,如果采用模块程序设计技术,那么逐个模块调好后再进行系统程序总调。如果采用实时多任务操作系统,一般是逐个任务进行调试。对于模块结构程序.要一个个子程序分别调试。调试时,一定要符合入口条件和出口条件,调试可用单步运行和断点运行方式,通过检查用者系统的CPU现场情况、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求,有无循环错误、有无机器码错误以及转移地址的错误,同时,还可以发现用者系统中存在的硬件设计错误和软件算法错误。各程序模块通过后,那么可以把相关功能块连在一起进行总调。这个阶段假设有故障,可以考虑各子程序运行时是否破坏了现场,缓冲单元、工作存放器是否发生冲突,标志位的建立和去除是否有误,堆栈区是否有溢出,输入设备的状态是否正常等等,假设用者系统是在开发机的监控程序下运行时,还要考虑用者缓冲单元是否和监控程序的工作单元发生冲突。单步和断点调试后,还应进行连续调试,用以确定定时精度、CPU的实时响应等问题。对于实时多任务操作系统的调试方法和模块结构的调试方法类似,只是需逐个任务进行调试,在调试某一个任务时,同时也调试相关的子程序、中断效劳程序。逐个任务调试好后,再使各个任务同时运行。当全部调试和修改完成后,将用者程序固化到EPROM中,插入用者样机后,用者系统即能独立工作,至此,单片机应用系统研制完成。6,设计小结本设计使用的温度控制器结构简单、测温准确,具有一定的实际应用价值。该智能温度控制器只是DS18B20在温度控制领域的一个简单实例,还有许多需要完善的地方,例如可以将测得的温度通过单片机与通讯模块相连接,以短消息的方式发送给用户,使用户能够随时对温度进行监控。此外,还能广泛地应用于其他一些工业生产领域,如建筑,仓储等行业。本温度控制系统可以应用于多种场合,像花房的多点温度、育婴房的温度、水温的检测与控制。用户可灵活选择本设计的用途,有很强的实用价值。由衷感谢我们的老师,教予了我诸多传感器的理论知识。指导了我顺利的独立地完成了这一次的课程设计。期间,让我学到了许多在实践中需注意的问题。怎样思考问题,然后如何去收集整理资料。再次特别感谢庄老师对我们的帮助,以及平日对我们的谆谆教诲。7:参考文献及资料[1]肖洪兵.跟我学用单片机[M][2]何立民.单片机高级教程.第1版[M]北京:北京航空航天大学出版社,2021[3]赵晓安.MCS-51单片机原理及应用[m]天津:天津大学出版社,2021.3[4]李广第.单片机基础.第1版[M]北京:北京航空航天大学出版社,2021[5]徐惠民、安德宁.单片微型计算机原理接口与应用[M]第1版.北京:北京邮电大学出版社,1996[6]何立民.从Cygnal80C51F看8位单片机开展之路[J]单片机与嵌入式系统应用,2021年,第5期:P5~8[7]常敏,51单片机应用程序开发与实践[ M]电子工业出版社四,附录元器件清单序号名称型号,参数备注价格数量1CPUSTC89C52DIP40封装712管座DIP-4013晶振12MHz49S型14整流桥2W102A圆桥115稳压ICLM7805TO-220116元片电容30pf27电解电容1000uf/16V18电解电容470uf/16V19电解电容10uf/16V110独石电容211自锁开关8*8自锁开关-6P8mm×8mm1112电阻金属膜1/4W113单排排针直针1*402414杜邦线53015温度传感器DS18B205116LCD显示屏LCD160220117变压器温州升龙变压12118焊锡丝5119单排座1120短路子跳线帽2假设干本钱总价57元原理图程序清单#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P3^7;//ds18b20与单片机连接口sbitRS=P3^0;sbitRW=P3^1;sbitEN=P3^2;unsignedcharcodestr1[]={"temperature:"};unsignedcharcodestr2[]={""};uchardatadisdata[5];uinttvalue;//温度值uchartflag;//温度正负标志/*************************lcd1602程序**************************/voiddelay1ms(unsignedintms)//延时1毫秒〔不够精确的〕{unsignedinti,j;for(i=0;i<ms;i++)for(j=0;j<100;j++);}voidwr_com(unsignedcharcom)//写指令//{delay1ms(1);RS=0;RW=0;EN=0;P2=com;delay1ms(1);EN=1;delay1ms(1);EN=0;}voidwr_dat(unsignedchardat)//写数据//{delay1ms(1);;RS=1;RW=0;EN=0;P2=dat;delay1ms(1);EN=1;delay1ms(1);EN=0;}voidlcd_init()//初始化设置//{delay1ms(15);wr_com(0x38);delay1ms(5);wr_com(0x08);delay1ms(5);wr_com(0x01);delay1ms(5);wr_com(0x06);delay1ms(5);wr_com(0x0c);delay1ms(5);}voiddisplay(unsignedchar*p)//显示//{while(*p!='\0'){wr_dat(*p);p++;delay1ms(1);}}init_play()//初始化显示{lcd_init();wr_com(0x80); display(str1); wr_com(0xc0); display(str2);}/******************************ds1820程序***************************************/voiddelay_18B20(unsignedinti)//延时1微秒{ while(i--);}voidds1820rst()/*ds1820复位*/{unsignedcharx=0; DQ=1;//DQ复位 delay_18B20(4);//延时 DQ=0;//DQ拉低 delay_18B20(100);//精确延时大于480us DQ=1;//拉高 delay_18B20(40); }uchards1820rd()/*读数据*/{unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--) {DQ=0;//给脉冲信号 dat>>=1; DQ=1;//给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); } return(dat);}voidds1820wr(ucharwdata)/*写数据*/{unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=wdata&0x01;delay_18B20(10);DQ=1;wdata>>=1;}}read_temp()/*读取温度值并转换*/{uchara,b;ds1820rst();ds1820wr(0xcc);//*跳过读序列号*/ds1820wr(0x44);//*启动温度转换*/ds1820rst();ds1820wr(0xcc);//*跳过读序列号*/ds1820wr(0xbe);//*读取温度*/a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x0fff)#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P3^7;//ds18b20与单片机连接口sbitRS=P3^0;sbitRW=P3^1;sbitEN=P3^2;unsignedcharcodestr1[]={"temperature:"};unsignedcharcodestr2[]={""};uchardatadisdata[5];uinttvalue;//温度值uchartflag;//温度正负标志/*************************lcd1602程序**************************/voiddelay1ms(unsignedint1ms)//延时1毫秒〔不够精确的〕{unsignedinti,j;for(i=0;i<ms;i++)for(j=0;j<100;j++);}voidwr_com(unsignedcharcom)//写指令//{delay1ms(1);RS=0;RW=0;EN=0;P2=com;delay1ms(1);EN=1;delay1ms(1);EN=0;}voidwr_dat(unsignedchardat)//写数据//{delay1ms(1);;RS=1;RW=0;EN=0;P2=dat;delay1ms(1);EN=1;delay1ms(1);EN=0;}voidlcd_init()//初始化设置//{delay1ms(15);wr_com(0x38);delay1ms(5);wr_com(0x08);delay1ms(5);wr_com(0x01);delay1ms(5);wr_com(0x06);delay1ms(5);wr_com(0x0c);delay1ms(5);}voiddisplay(unsignedchar*p)//显示//{while(*p!='\0'){wr_dat(*p);p++;delay1ms(1);}}init_play()//初始化显示{lcd_init();wr_com(0x80); display(str1); wr_com(0xc0); display(str2);}/******************************ds1820程序***************************************/voiddelay_18B20(unsignedinti)//延时1微秒{ while(i--);}voidds1820rst()/*ds1820复位*/{unsignedcharx=0; DQ=1;//DQ复位 delay_18B20(4);//延时 DQ=0;//DQ拉低 delay_18B20(100);//精确延时大于480us DQ=1;//拉高 delay_18B20(40); }uchards1820rd()/*读数据*/{unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--) {DQ=0;//给脉冲信号 dat>>=1; DQ=1;//给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); } return(dat);}voidds1820wr(ucharwdata)/*写数据*/{unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=wdata&0x01;delay_18B20(10);DQ=1;wdata>>=1;}}read_temp()/*读取温度值并转换*/{uchara,b;ds1820rst();ds1820wr(0xcc);//*跳过读序列号*/ds1820wr(0x44);//*启动温度转换*/ds1820rst();ds1820wr(0xcc);//*跳过读序列号*/ds1820wr(0xbe);//*读取温度*/a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x0fff)tflag=0;else{tvalue=~tvalue+1; tflag=1;}tvalue=tvalue*(0.625);//温度值扩大10倍,精确到1位小数 return(tvalue);}/*******************************************************************/voidds1820disp()//温度值显示 {ucharflagdat; disdata[0]=tvalue/1000+0x30;//百位数disdata[1]=tvalue%1000/100+0x30;//十位数disdata[2]=tvalue%100/10+0x30;//个位数disdata[3]=tvalue%10+0x30;//小数位if(tflag==0) flagdat=0x20;//正温度不显示符号elseflagdat=0x2d;//负温度显示负号:-if(disdata[0]==0x30) {disdata[0]=0x20;//如果百位为0,不显示 if(disdata[1]==0x30) {disdata[1]=0x20;//如果百位为0,十位为0也不显示 } } wr_com(0xc0); wr_dat(flagdat);//显示符号位 wr_com(0xc1); wr_dat(disdata[0]);//显示百位 wr_com(0xc2); wr_dat(disdata[1]);//显示十位 wr_com(0xc3); wr_dat(disdata[2]);//显示个位 wr_com(0xc4); wr_dat(0x2e);//显示小数点 wr_com(0xc5); wr_dat(disdata[3]);//显示小数位}/********************主程序***********************************/voidmain(){init_play();//初始化显示delaynms(100);while(1) {read_temp();//读取温度ds1820disp();//显示 }}实物图五:任务书二级学院:电子信息与电气工程学院班级:11电卓姓名:翟俊先学号:11060328指导教师:庄志红职称:副教授工程名称密码锁起止时间2021年6月8日—2021年6月20日指标类型A课题内容及其目标(指标)要求1开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统2.目标:利用温度传感器DS18B20测量温度并通过液晶显示进程安排第1天:下达任务书、课题需求分析,收集和消化相关资料;第2-3天:方案论证、比拟和拟定,具体方案设计,元器件采购;第4-5天:硬件原理图绘制、实物制作和调试;第6-7天:软件流程图绘制、程序编制和调试;第8天:系统联调和优化;第9天:撰写设计报告;第10天:作品演示、辩论。设计地点秋白楼五楼
论大学生写作能力写作能力是对自己所积累的信息进行选择、提取、加工、改造并将之形成为书面文字的能力。积累是写作的基础,积累越厚实,写作就越有基础,文章就能根深叶茂开奇葩。没有积累,胸无点墨,怎么也不会写出作文来的。写作能力是每个大学生必须具备的能力。从目前高校整体情况上看,大学生的写作能力较为欠缺。一、大学生应用文写作能力的定义那么,大学生的写作能力究竟是指什么呢?叶圣陶先生曾经说过,“大学毕业生不一定能写小说诗歌,但是一定要写工作和生活中实用的文章,而且非写得既通顺又扎实不可。”对于大学生的写作能力应包含什么,可能有多种理解,但从叶圣陶先生的谈话中,我认为:大学生写作能力应包括应用写作能力和文学写作能力,而前者是必须的,后者是“不一定”要具备,能具备则更好。众所周知,对于大学生来说,是要写毕业论文的,我认为写作论文的能力可以包含在应用写作能力之中。大学生写作能力的体现,也往往是在撰写毕业论文中集中体现出来的。本科毕业论文无论是对于学生个人还是对于院系和学校来说,都是十分重要的。如何提高本科毕业论文的质量和水平,就成为教育行政部门和高校都很重视的一个重要课题。如何提高大学生的写作能力的问题必须得到社会的广泛关注,并且提出对策去实施解决。二、造成大学生应用文写作困境的原因:(一)大学写作课开设结构不合理。就目前中国多数高校的学科设置来看,除了中文专业会系统开设写作的系列课程外,其他专业的学生都只开设了普及性的《大学语文》课。学生写作能力的提高是一项艰巨复杂的任务,而我们的课程设置仅把这一任务交给了大学语文教师,可大学语文教师既要在有限课时时间内普及相关经典名著知识,又要适度提高学生的鉴赏能力,且要教会学生写作规律并提高写作能力,任务之重实难完成。(二)对实用写作的普遍性不重视。“大学语文”教育已经被严重地“边缘化”。目前对中国语文的态度淡漠,而是呈现出全民学英语的大好势头。中小学如此,大学更是如此。对我们的母语中国语文,在大学反而被漠视,没有相关的课程的设置,没有系统的学习实践训练。这其实是国人的一种偏见。应用写作有它自身的规律和方法。一个人学问很大,会写小说、诗歌、戏剧等,但如果不晓得应用文写作的特点和方法,他就写不好应用文。(三)部分大学生学习态度不端正。很多非中文专业的大学生对写作的学习和训练都只是集中在《大学语文》这一门课上,大部分学生只愿意被动地接受大学语文老师所讲授的文学经典故事,而对于需要学生动手动脑去写的作文,却是尽可能应付差事,这样势必不能让大学生的写作水平有所提高。(四)教师的实践性教学不强。学生写作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 骨科医院2026年护理理论测试(麻醉科)试题及答案
- 木竹藤材干燥工岗前管理应用考核试卷含答案
- Unit 2 What time do you go to school(第1课时)同步练习
- 甲烷合成气净化工安全生产知识考核试卷含答案
- 液体二氧化硫工岗中时间管理考核试卷含答案
- 稀土冶炼工岗前应急处理考核试卷含答案
- 回转窑球团焙烧工安全生产知识水平考核试卷含答案
- 积材工岗位操作规范考核试卷含答案
- 2025年益阳市安化县数学三下期末监测试题(含答案)
- 道路货运站务员岗位异常处置考核试卷含答案
- CNAS-CL08-A001:2018 司法鉴定法庭科学机构能力认可准则在电子数据鉴定领域的应用说明
- T-STXH 0011-2024 条子泥地区土壤有机碳库计量与碳汇效益评估技术规程
- 健康管理学郭姣
- 园区级源网荷储一体化项目规划方法及实施路径-202403-中国能建
- 2024年中级注册安全工程师《道路运输安全》
- 2024江苏省惠隆资产管理限公司招聘30人【重点基础提升】模拟试题(共500题)附带答案详解
- DL/T5315-2014水工混凝土建筑物修补加固技术规程(完整)
- 世界著名盐产地介绍
- 滴滴标准服务流程
- zippo稀有品系列图鉴
- 《中国旅游文化》教案
评论
0/150
提交评论