数字温度传感器电路设计报告_第1页
数字温度传感器电路设计报告_第2页
数字温度传感器电路设计报告_第3页
数字温度传感器电路设计报告_第4页
数字温度传感器电路设计报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子技术课程设计报告题 目: 数字温度传感器电路 学 年: 0809 学 期: 1专 业: 电子信息工程 班 级:06 学 号: 姓 名:指导教师及职称: 时 间: 2008年12月22一、 设计目的1. 熟悉数字温度传感器电路的引脚安排。2. 掌握数字温度传感器电路各芯片的逻辑功能及使用方法。3. 了解数字温度传感器电路结构及其接线方法。4. 了解数字温度传感器电路的组成及工作原理。5. 熟悉数字温度传感器电路的设计与制作。二、 设计要求1设计指标(1) 基本范围-50-110。(2) 精度误差小于0.5。(3) LED数码直读显示。2设计要求(1) 实现数字报数。(2) 可以任意设定温度的

2、上下限显示功能。(3) 用两只LED数码管来显示当前温度。三、 设计原理及其框图主 控 制 器LED显 示温 度 传 感 器单片机复位时钟振荡电源1数字温度传感器的构成图3-1 数字温度传感器的组成框图晶体振荡器电路晶体振荡器电路给数字钟提供一个频率稳定准确的32768z的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。显示电路显示电路采用4位共阳LED数码管,从P3口RXD,TXD串口输出段码。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件

3、;可通过数据线供电,电压范围为3.05.5V;零待机功耗;温度以9或12位数字;四、 元器件1实验中所需的器材Ø 5V电源。Ø DS18B2OØ 单片机AT89S52。Ø 共阳八段数码管2个。Ø 电阻若干Ø 电容若干Ø 电源接头。Ø LED灯2芯片内部结构图及引脚图五原理图 和PCB图 数字温度传感器原理图如下:PCB图如下六电路程序系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。#include "reg51.h"#include "

4、intrins.h" /_nop_();延时函数用#define Disdata P1 /段码输出口#define discan P2 /扫描口#define uchar unsigned char#define uint unsigned intsbit DQ=P37; /温度输入口sbit DIN=P07; /LED小数点控制uint h; uint temp;/*温度小数部分用查表法*/uchar code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x0

5、9uchar code dis_712=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf;/共阳LED段码表 "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮" "-" uchar code scan_con4=0x7f,0xbf,0xdf,0xef;

6、 /列扫描控制字uchar data temp_data2=0x00,0x00; /读出温度暂放uchar data display5=0x00,0x00,0x00,0x00,0x00; /显示单元数据,共4个数据和一void delay(uint t) for (;t>0;t-);scan() char k; for(k=0;k<4;k+) /4位LED扫描控制 Disdata=dis_7displayk; /数据显示 if (k=1)DIN=0; /小数点显示 discan=scan_conk; /位选 delay(300);/*DS18B20复位函数*/ow_reset(vo

7、id)char presence=1;while(presence) while(presence) DQ=1;_nop_();_nop_();/从高拉倒低DQ=0; delay(50); /550 usDQ=1; delay(6); /66 uspresence=DQ; /presence=0 复位成功,继续下一步 delay(45); /延时500 us presence=DQ; DQ=1; /拉高电平/*DS18B20写命令函数*/向1-WIRE 总线上写1个字节void write_byte(uchar val) uchar i; for(i=8;i>0;i-) DQ=1;_no

8、p_();_nop_(); /从高拉倒低 DQ=0;_nop_();_nop_();_nop_();_nop_(); /5 us DQ=val&0x01; /最低位移出 delay(6); /66 us val=val/2; /右移1位 DQ=1; delay(1);/从总线上取1个字节uchar read_byte(void)uchar i;uchar value=0;for(i=8;i>0;i-) DQ=1;_nop_();_nop_(); value>>=1; DQ=0;_nop_();_nop_();_nop_();_nop_(); /4 us DQ=1;_n

9、op_();_nop_();_nop_();_nop_(); /4 us if(DQ)value|=0x80; delay(6); /66 usDQ=1;return(value);read_temp() ow_reset(); /总线复位 delay(200); write_byte(0xcc); /发命令 write_byte(0x44); /发转换命令 ow_reset(); delay(1); write_byte(0xcc); /发命令 write_byte(0xbe); temp_data0=read_byte(); /读温度值的第字节 temp_data1=read_byte()

10、; /读温度值的高字节 temp=temp_data1; temp<<=8; temp=temp|temp_data0; / 两字节合成一个整型变量。 return temp; /返回温度值/*温度数据处理函数*/work_temp(uint tem)uchar n=0;if(tem>6348) / 温度值正负判断 tem=65536-tem;n=1; / 负温度求补码,标志位置1 display4=tem&0x0f; / 取小数部分的值 display0=ditabdisplay4; / 存入小数部分显示值 display4=tem>>4; / 取中间八

11、位,即整数部分的值 display3=display4/100; / 取百位数据暂存 display1=display4%100; / 取后两位数据暂存 display2=display1/10; / 取十位数据暂存 display1=display1%10; /*符号位显示判断*/ if(!display3) display3=0x0a; /最高位为0时不显示 if(!display2) display2=0x0a; /次高位为0时不显示 if(n)display3=0x0b; /负温度时最高位显示"-"/*主函数*/main() Disdata=0xff; /初始化端口

12、 discan=0xff; for(h=0;h<4;h+) /开机显示"0000" displayh=0; ow_reset(); /开机先转换一次 write_byte(0xcc); /Skip ROM write_byte(0x44); /发转换命令 for(h=0;h<100;h+) /开机显示"0000" scan(); while(1) work_temp(read_temp(); /处理温度数据scan(); /显示温度值 七设计总结1. 很感谢老师提供一个机会,让我们实践单片机和温度伟传感器。经过近三周时间辛勤努力查找资料和焊接电路。功夫不负有心人,终于按计划完成了我的数字温度计的设计,单片机能实现温度测量和报警。虽然设计得很简单,功能单调,焊接电路粗糙,但从心里来说,还是非常高兴,回想以前遇到的困难,心里更美滋滋的,毕竟这次设计通过自己勤劳所得的结晶。高兴之余不得不深思总结。2. 在本次设计过程中,我发现自己有很多不足之处。虽然以前也做过硬件电路设计,但没有软件设计,这次的设计真的让我难以忘记,而且长进很多知识。单片机课程设计最重要就在于软件编程序的设计,需要有很清晰的思路。以前写过一些简单的程序,但没有像这次这么复杂。这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论