欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    多路温度采集系统毕业实习.doc

    • 资源ID:3941251       资源大小:233.50KB        全文页数:14页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    多路温度采集系统毕业实习.doc

    毕业实习报告题目:多路温度采集系统学 院 电子与信息工程专 业 电子信息工程班级学号 0910910114姓 名 指导教师 完成时间 2013-3-6 成 绩2013年 3 月一、摘要:本次设计介绍了基于单片机AT89C51控制DS18B20的智能温度显示,给出了该显示仪的硬件电路及详细说明,重点介绍了DS18B20与单片机的接口设计以及数字温度计的软件的主程序、DS18B20读写程序和显示程序,并给出了基于PROTEUS软件的电路仿真图。该仪表具有简单、稳定、实用、精度高等优点二、实习的内容、安排本次实习分5次实验室时间第一次:查阅资料,为确定方案建立基础。第二次:整理资料,确立方案。第三次:画原理图,写仿真。最后两次:查漏补缺,完善成果。三、实习的具体实现本系统中温度传感器获取较高精确度的温度值并将其传至单片机中处理并能将测得的温度在数码管中显示。还从键盘上输入需要设定的温度范围。当高与上限温度时定时触发蜂鸣器报警。需用户手动停止报警或者当温度回落至用户设定的上下限温度范围内时能自动停止报警。根据系统的设计要求,当温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经AT89C51处理,将把温度在显示电路上显示。当开机后,显示屏和计时器进行初始化设置。 利用AT89C51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度。 系统框图如下图: 图1.1 系统框图 选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、报警等功能。选用数字温度传感器DS18B20,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路,省却了采样保持电路、运放、数模转换电路以及进行长距离传输时的串并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。 当LCD液晶显示器接收到来自AT89C51单片机传送来的温度信息后,分别显示了当前的温度 词系统采用数码管显示,是考虑到其简单易实现,单片机选择89c51.电路连接图与仿真图如下。五、附录单片机(at89c51),数码管,温度传感器18b20 (12个),键盘(2),蜂鸣器1个锁存器(2个)六、 心得体会本次课程设计中,本人就采用了这种已经相当普及的方法设计了一个基于单片机和温度传感器的多路温度采集系统,并通过了软件仿真,最后得出了设计结果的可行性,设计过程中,首先,要对DS18B20做一个详细的了解,作为设计中一个重要的元件,要知道它的一般流程:初始化ROM操作指令存储器操作指令数据传输。然后必须掌握它的每个端口的作用,并用单片机通过高低电平来控制它的工作过程,不一样的模块它的工作时序是不同,这里要通过软件正确的编写出读写时序,才能确保在测量温度的环节中不出问题。一个完整的系统同样也需要一个人机界面才能便于使用者读出数据,所以这里用到了lcd1602液晶屏,这个液晶屏的优点在于自带字库,且易于控制显示位置,基本上达到了设计的要求。 同时,在做整个课程论文的过程中,也遇到了诸多问题: 第一,不能灵活自如的运用C51语言。 第二,对某些硬件的功能不太熟悉。 第三,缺乏一定的理论基础。 但是,通过老师和同学们的帮助,最终还是取得了一个令人满意的结果,再次对帮助过我的老师和同学们表示感谢,我也会在以后的学习工作中,逐步弥补自己的不足。七 程序代码#include "lcd1602.h"#include "ds18b20.h"#include <stdio.h>unsigned char temp5;extern char xiaoshu_temp5,zhen_temp4;extern bit flag;extern bit dot_dis;/uchar ds18b20_num18=0x25,0x00,0x00,0x00,0xb8,0xc5,0x45,0x28;code uchar ds18b20_num18=0xfd,0x00,0x00,0x00,0xb8,0xc5,0x45,0x28;code uchar ds18b20_num28=0x8e,0x00,0x00,0x00,0xb8,0xc5,0x30,0x28;code uchar ds18b20_num38=0xb9,0x00,0x00,0x00,0xb8,0xc5,0x31,0x28;code uchar ds18b20_num48=0xe0,0x00,0x00,0x00,0xb8,0xc5,0x32,0x28;code uchar ds18b20_num58=0xd7,0x00,0x00,0x00,0xb8,0xc5,0x33,0x28;code uchar ds18b20_num68=0x52,0x00,0x00,0x00,0xb8,0xc5,0x34,0x28;code uchar ds18b20_num78=0x65,0x00,0x00,0x00,0xb8,0xc5,0x35,0x28; code uchar ds18b20_num88=0x3c,0x00,0x00,0x00,0xb8,0xc5,0x36,0x28; uchar my_temp9;void get1_ds18b20(void);void get2_ds18b20(void);void get3_ds18b20(void);void get4_ds18b20(void);void get5_ds18b20(void);void get6_ds18b20(void);void get7_ds18b20(void);void get8_ds18b20(void);void es_isr (void) ; uchar i; / uchar *ds18b20_rom; char *str1="1:"char *str2="2:"char *str3="3:" char *str4="4:"char *str5="5:"char *str6="6:"char *str7="7:"char *str8="8:"void delay(unsigned int time)unsigned int i,j;for(i=0;i<time;i+)for(j=0;j<200;j+);void main(void) SCON = 0x50; /串口方式1,允许接收TMOD = 0x20; /定时器1定时方式2 PCON=0x00;TH1 = 0xFD; /11.0592MHz 4800波特率TL1 = 0xFD;ET1=0;ES=1;EA=1; /4800*2=9600波特率TR1 = 1; /* while(1)SBUF=1;while(!TI);TI=0;delay(1000); */serial_set(); Lcd_Init(); ClrScreen();/GotoXY(0,0); /dot_dis=1;/ds18b20_rom=read_rom(); /读序列号/for(i=0;i<8;i+) /ds18b20_num2i=*ds18b20_rom;/ds18b20_rom+;/GotoXY(0,1);/for(i=0;i<8;i+) /显示序列号/print_char(ds18b20_num2i/16);/print_char(ds18b20_num2i%16);/while(1)get1_ds18b20();get2_ds18b20(); get3_ds18b20(); get4_ds18b20(); delay(1000); ClrScreen(); get5_ds18b20(); get6_ds18b20();get7_ds18b20();get8_ds18b20();delay(1000); ClrScreen(); void get1_ds18b20(void)ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); /转换delay(500);match_rom(ds18b20_num1); /匹配第一路 ds18b20_writecommand(0xbe); /读 for(i=0;i<2;i+) tempi=ds18b20_readdata(); my_temp1= (temp1&0x7)*0x10+(temp0&0xf0)/0x10;temperature_process(temp0,temp1);Screen_home();Print(str1);if(!flag) /正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else /负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp); Print(" ");void get2_ds18b20(void)ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); /转换delay(500);match_rom(ds18b20_num2); /匹配第二路 ds18b20_writecommand(0xbe); /读 for(i=0;i<2;i+) tempi=ds18b20_readdata(); my_temp2= (temp1&0x7)*0x10+(temp0&0xf0)/0x10;temperature_process(temp0,temp1);GotoXY(9,0);Print(str2);if(!flag) /正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else /负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);Print(" ");void get3_ds18b20(void)ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); /转换delay(500);match_rom(ds18b20_num3); /匹配第三路 ds18b20_writecommand(0xbe); /读for(i=0;i<2;i+) tempi=ds18b20_readdata(); my_temp3= (temp1&0x7)*0x10+(temp0&0xf0)/0x10;temperature_process(temp0,temp1);GotoXY(0,1);Print(str3);if(!flag) /正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else /负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp); Print(" ");void get4_ds18b20(void)ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); /转换delay(500);match_rom(ds18b20_num4); /匹配第四路 ds18b20_writecommand(0xbe); /读for(i=0;i<2;i+) tempi=ds18b20_readdata(); my_temp4= (temp1&0x7)*0x10+(temp0&0xf0)/0x10; temperature_process(temp0,temp1);GotoXY(9,1);Print(str4);if(!flag) /正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else /负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);Print(" ");void get5_ds18b20(void)ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); /转换delay(500);match_rom(ds18b20_num5); /匹配第五路 ds18b20_writecommand(0xbe); /读 for(i=0;i<2;i+) tempi=ds18b20_readdata(); my_temp5= (temp1&0x7)*0x10+(temp0&0xf0)/0x10; temperature_process(temp0,temp1);Screen_home();Print(str5);if(!flag) /正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else /负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp); Print(" ");void get6_ds18b20(void)ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); /转换delay(500);match_rom(ds18b20_num6); /匹配第六路 ds18b20_writecommand(0xbe); /读 for(i=0;i<2;i+) tempi=ds18b20_readdata(); my_temp6= (temp1&0x7)*0x10+(temp0&0xf0)/0x10; temperature_process(temp0,temp1);GotoXY(9,0);Print(str6);if(!flag) /正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);待添加的隐藏文字内容2else /负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp); Print(" ");void get7_ds18b20(void)ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); /转换delay(500);match_rom(ds18b20_num7); /匹配第七路 ds18b20_writecommand(0xbe); /读 for(i=0;i<2;i+) tempi=ds18b20_readdata(); my_temp7= (temp1&0x7)*0x10+(temp0&0xf0)/0x10; temperature_process(temp0,temp1);GotoXY(0,1);Print(str7);if(!flag) /正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else /负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp); Print(" ");void get8_ds18b20(void)ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); /转换delay(500);match_rom(ds18b20_num8); /匹配第八路 ds18b20_writecommand(0xbe); /读for(i=0;i<2;i+) tempi=ds18b20_readdata(); my_temp8= (temp1&0x7)*0x10+(temp0&0xf0)/0x10;temperature_process(temp0,temp1);GotoXY(9,1);Print(str8);if(!flag) /正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else /负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp); Print(" ");void es_isr (void) interrupt 4 /通信中断服务函数 uchar temp;uchar x4;uchar i;EA=0;if(RI)temp=SBUF; RI=0;/if(temp=ip) /temp=0xbb;SBUF=temp;hand_flag=1;while(!TI);TI=0;/if(temp=0xcc)&&hand_flag ) /if(temp= 01)for(i=1;i<5;i+)SBUF=my_tempi;while(!TI);TI=0; / hand_flag=0; / else for(i=5;i<9;i+)SBUF=my_tempi;while(!TI);TI=0; EA=1;

    注意事项

    本文(多路温度采集系统毕业实习.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开