文档介绍:目 录
河南大学物理与电子学院单片机课程设计论文
12
9
河南大学物理与电子学院
2011级单片机课程设计论文
LM75数字温度计设计
目 录
0 前言目 录
河南大学物理与电子学院单片机课程设计论文
2
。
LM75温度传感器简介
,A/D转换器和I2C控制的数字过问检测器功能与一体的半导体IC,主机可随时通过查询LM75相关寄存器来获取温度值,当温度超过程序设置的值时,开漏极过温关闭输出将被激活。。
主机可以对温度报警门限Tos和报警温度恢复Thost值进行编程设置。此外主机也可以读取Tos和Thost寄存器的值。
:
LM75温度传感器内部原理框图如下图所示:
- 3 -
目 录
河南大学物理与电子学院单片机课程设计论文
12
四位一体的七段数码管显示器
本设计用到四位一体的七段数码管1个,其原理与单个的数码管显示原理
是一样的。四位一体的数码管共12个引脚。A-dp八个引脚对应八根数据线,控
制显示的字形。DIG1-DIG2四个引脚为公共端,控制当前显示字形的位别,为扫描法显示提供了方便,有效减少了数码管占用的单片机引脚数。下面便是一个共阴的四位数码管的内部结构图。引脚排列依然是从左下角的第一只管脚开始,以逆时针方向依次为1-12脚,数码管内部结构及引脚参见图
- 13 -
目 录
河南大学物理与电子学院单片机课程设计论文
4
系统功能
本系统设计的主要原理是通过LM75温度传感器感知外部环境的温度,通过温度传感器的内部转化讲外部温度转化为电信号,此点信号驱动单片机工作,
单片机通过电信号的控制根据单片机的程序做出反应,驱动数码管显示,因此我们可以通过数码管的读数读取外部环境的温度。
2 系统原理
系统的仿真图
最基本的仿真图如下图所示:
实物照片:
调试照片
- 5 -
目 录
河南大学物理与电子学院单片机课程设计论文
12
3 主要的程序源代码
/*********************************************/
//
// LM75温度计C程序
//
//
/*********************************************/
//使用AT89C2051单片机,12MHz晶振,用共阳LED数码管
//P0 口输出段码,P2 口扫描
#include ""
#include "" //_nop_();延时函数用
#define Disdata P0 //段码输出口
#define discan P2 //位码扫描口
#define uchar unsigned char
#define unit unsigned int
sbit SDA=P3^6; /*模拟I2C 数据传送位*/
sbit SCL=P3^7; /*模拟I2C 时钟控制位*/
bit ack; /*应答标志位*/
uchar data LM75A=0x90; // LM75A 的I2C 地址
uchar data MRD[2]={0}; //接收缓冲区
unit data yy1=0,yy2=0; //接收缓冲区
//sbit DQ=P3^7; //温度输入口
sbit DIN=P0^7; //LED小数点控制
unit h;
//
//
uchar dis_7[12]={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_con[4]={0xf7,0xfb,0xfd,0xfe}; //行扫描控制字
uchar data temp_data[2]={0x00,0x00}; //读出温度暂存放
uchar data display[5]={0x00,0x00