温度传感器设计
VCC VCC
U3 2 a21
R B
U4 VCC
A
8 6 7 3 b44 5 GND
D
2 a41
R
VCC
A
8 6 7
B
3 b24 5
D
GND MAX485CPA
GND MAX485CPA
3.4 数码管显示
LED 数码管根据 LED 的接法不同分为共阴和共阳两类, 了解 LED 的这些特 性, 对编程是很重要的, 因为不同类型的数码管, 除了它们的硬件电路有差异外, 编程方法也是不同的。右图是共阴和共阳极数码管的内部电路,它们的发光原理 是一样的,只是它们的电源极性不同而已。将多只 LED 的阴极连在一起即为共 阴式,而将多只 LED 的阳极连在一起即为共阳式。以共阴式为例,如把阴极接 地,在相应段的阳极接上正电源,该段即会发光。当然,LED 的电流通常较小, 一般均需在回路中接上限流电阻。假如我们将"b"和"c"段接上正电源,其它端接 地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1” 。而将"a"、 "b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2” 。 其它字符的显示原理类同,读者自行分析即可。abcdefgh 分别控制 8 个段,称 段码。数码管的 3、8 脚是公共端,公共端可以用三极管控制是否连接电源,由 此可以控制整个数码管点亮或熄灭。如果多个数码管一起使用,如 8 个,这个端 口就用来选择需要使用的数码管的位, 即第几位数码管起作用。 成位码。 * n; _ l* z0 f1 s& S
DS1 a 7 b6 c 4 d2 e 1 f 9 g10 h5 a b c d e f g DP Dpy Blue-CA A A 3 8 a17 b16 c14 d12 e11 f1 9 g1 10 h15 DS2 a b c d e f g DP Dpy Blue-CA A A 3 8
Q1 2N3906
大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告
机电信息工程学院
单片机系统课程设计报告
系: 专 班 业: 级:
机电信息工程系 电子信息工程
设计题目: 学生姓名: 指导教师:
温度传感器
完成日期:2010 年 5 月 31 日
大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告
2
大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告
VCC C1 Cap 30pF Y1 1 2 12MHZ 19 18 VCC C5 Cap R2 20uf Res1 1K S1 SW-PB GND ff U4 2 1 DQ GND DS1820 GND VCC 20 VSS P89C51RC2BN/01 VCC 3 R1 Res1 1k 9 31 29 30 ee 10 11 12 13 14 15 16 17 XTAL1 XTAL2 C2 Cap 30pF
大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告
一、设计任务和性能指标
1.1 设计任务
(一) 、基本任务:熟悉单片机最小系统,在此基础上,使用温度传感器 ds18b20 设计设计制作一个温度测量系统,并把所测的值实时显示出来。 (二) 、扩展任务:温度 ds18b20 检测环境温度,输入单片机 I/O 接口,把测量 的数据经过 485 通信口传送到另外一个单片机系统, 在在数码管或液晶显示器上 单片机最小系统
89C51 是 Intel 公司生产的一个单片机系列的名称。 (1)一个 8 位的微处理器(CPU) 。 (2) 片内数据存储器 RAM(128B/256B)。 存放可以读/写的数据---运算的中间 结果、最终结果、欲显示的数据等。 (3)片内程序存储器 ROM/EPROM(4KB/8KB) 。存放程序,一些原始数据 和表格。但也有一些单片机内部不带 ROM/EPROM,如 8031,8032,80C31 等。 (4)四个 8 位并行 I/O 接口 P0-P3。每个口既可以用作输入,也可以用作输 出 89C51 有四个 8 位并行接口,即 P0-P3。它们都是双向端口,每个端口有 8 条 I/O 线,均可输入/输出。P0-P3 口四个锁存器同 RAM 统一编址,可以把 I/O 口 当作一般特殊功能寄存器来寻址。
6
大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告
//初始化函数 init_ds18b20(void) { uchar x=0; DQ=1; //DQ 复位 delay(8); DQ=0; //单片机将 DQ 拉低 delay(80);//精确延时 大于 480us DQ=1; //拉高总线 delay(14); x=DQ; //稍作延时后 如果 x=0 则初始化成功 x=1 则初始化失败 delay(20); } //读一个字节 readonechar(void) { uchar i=0; uchar dat=0; for(i=8;i>0;i--) { DQ=0; //给脉冲信号 dat>>=1; DQ=1; //给脉冲信号 if(DQ) dat|=0x80; delay(4); } return(dat); } //写一个字节 writeonechar(uchar dat) { uchar i=0; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; delay(5); DQ=1; dat>>=1; }
R4 Res1 1K
1
Q2 2N3906 R5 2 Res1 1K
4
大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告
3.5 硬件框图
四,软件设计
4.1 程序流程图
5
大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告
4.2 程序
#include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit DQ=P3^3; //定义通信端口 uchar code table[]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e};//共阳极代码 void delay(uint i) { while(i--); }
3
大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告
U4 2 1 DQ GND DS1820 GND VCC VCC 3
R3 Res2 4.7k
3.3 基于 485 通信
485 总线接口是一种常用的串口,具有网络连接方便、抗干扰性能好、传输 距离远等优点。RS-485 收发器采用平衡发送和差分接收,因此具有抑制共模干 扰的能力,加上收发器具有高的灵敏度,能检测到低达 200mv 的电压,可靠通 信的传输距离可达数千米。
VCC
RST EA/VPP PSEN ALE/PROG P3.0/RxD P3.1/TxD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
R3 Res2 4.7k
GND
3.2 DS18B20
DS18B20 的测温原理如图所示,图中低温度系数晶振的振荡频率受温度的影 响很小〔1〕,用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶 振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输 入,图中还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产 生的时钟脉冲后进行计数,进而完成温度测量。 计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃ 所对应的基数分别置入减法计数器 1 和温度寄存器中, 减法计数器 1 和温度寄存 器被预置在 -55 ℃ 所对应的一个基数值。 减法计数器 1 对低温度系数晶振产 生的脉冲信号进行减法计数, 当减法计数器 1 的预置值减到 0 时温度寄存器的值 将加 1,减法计数器 1 的预置将重新被装入,减法计数器 1 重新开始对低温度系 数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止 温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 图 2 中的斜率累加器用于补偿和修正测温过程中的非线性, 其输出用于修正 减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值 达到被测温度值,这就是 DS18B20 的测温原理。
1.2 性能指标
单片机最小系统、显示电路板、ds18b20
二.设计方案
我们设计的温度系统是由中央控制器、温度检测器及显示器组成。控制器采 用单片机 AT89S51, 温度检测部分采用 DS18B20 温度传感器, 用 LCD 做显示器。 温度传感器 DS18B20 采集温度信号送该给单片机处理,存储器通过单片机对某 些时间点的数据进行存储;单片机再把温度数据送 LCD 显示,已达到显示当前 温度的目的。
GND U2 VCC P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P1.0/T2 P1.1/T2EX P1.2/ECI P1.3/CEX0 P1.4/CEX1 P1.5/CEX2 P1.6/CEX3 P1.7/CEX4 P2.0/A8 P2.1/A9 P2.2/A10 D1 P2.3/A11 P2.4/A12 P2.5/A13 Diode P2.6/A14 P2.7/A15 40 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28