1 / 19
文档名称:

数字温度计的.doc

格式:doc   大小:224KB   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数字温度计的.doc

上传人:woyaonulifacai 2022/4/20 文件大小:224 KB

下载得到文件列表

数字温度计的.doc

相关文档

文档介绍

文档介绍:数字温度计的
数字温度计的
数字温度计的
数字温度计的设计与制作
一、课程设计任务要求
1、课题来源:老师和学生共同拟定.
2、类型:实做.
3、目的和意义:掌握单片机的编程。
4、基本要求:设计和制作一个温度显示器,可用键可以向器件提供电源.
3
VDD
可选择VDD的引脚。当工作于寄生电源时,此引脚必须接地。
数字温度计的
数字温度计的
数字温度计的
  (3)、DS18B20的使用方法
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。
a、DS18B20的复位时序
b、DS18B20的读时序
对于DS18B20的读时序分为读0时序和读1时序两个过程.
对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,,至少需要60us才能完成。
数字温度计的
数字温度计的
数字温度计的
c、DS18B20的写时序
对于DS18B20的写时序仍然分为写0时序和写1时序两个过程.
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0"电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
3、元件清单
芯片:AT89C52  1片、74LS245  1片、DS18B20 1片;74LS04  一片;
电阻:500R 8个、10K  5个、4。7K  1个、1K 1个;
电容:30pF  2个、10uF  1个;
数字温度计的
数字温度计的
数字温度计的
发光二极管:1个;
开关 2个;
晶振:12MHZ  1个;
按钮: 5个;
下载口:1个;
四位一体共阳数码管:2个;
蜂鸣器:1个;
三极管:S8550  1个;
排针、排线:若干
4、系统组成框图如下:
电源
显示电路
AT89C52



复位电路
报警电路
按键电路
时钟电路
DS18B20
数字温度计的
数字温度计的
数字温度计的
5、单元电路框图如下:
(1)、复位电路——手动复位

   

           
      
  
(2)、晶振电路
                        
数字温度计的
数字温度计的
数字温度计的
6、电路仿真连接图如下:
7、程序流程图如下所示:
数字温度计的
数字温度计的
数字温度计的
调用显示子程序
1s到?
初次上电电
发温度转换开始命令
发DS18B20复位命令
发跳过ROM命令
发读取温度命令
读取操作,CRC校验
9字节完?
CRC校验正?
移入温度暂存器
结束
初始化
读出温度值温度计算处理显示数据刷新
    主程序流程图                          读温度流程图
数字温度计的
数字温度计的
数字温度计的
四、方案实现及测试(或调试)
C语言源程序如下所示:
#ifndef __DELAY_H__
#define __DELAY_H__
/*---—-—-——--———-——----———-—--———-—---——————--——--
 uS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其