资源简介
单片机温度测量,附源代码与protues仿真

代码片段和文件信息
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit adrd=P3^7; //IO口定义
sbit adwr=P3^6;
sbit diola=P2^5;
sbit dula=P2^6;
sbit wela=P2^7;
sbit csda=P3^2;
sbit dawr=P3^6;
sbit DS=P2^2; //define interface
uint temp; // variable of temperature
uchar code table[]={0x3f0x060x5b0x4f0x660x6d0x7d //数码管编码
0x070x7f0x6f0x770x7c0x390x5e0x790x71};
uchar code table1[]={0xbf0x860xdb0xcf0xe60xed0xfd
0x870xff0xef}; //数码管个位显示,带小数点
void Init_Com(void); //串口初始化
void delay1(uint count); //delay函数
void dsreset(void); //复位DS18B20
void tmpwritebyte(uchar dat); //向ds18b20写入八位设置数
void tmpchange(void); //DS18B20 初始化
bit tmpreadbit(void); //read a bit
uchar tmpread(void); //向DS18B20读取数据
uint tmp() ; //获得当前温度
void wendu(); //温度函数
void display2(uint temp); //显示程序
void main()
{
while(1)
{ wendu();
//设置控温范围
/*if(tmp()<200)
{P1=0xff;}
else if(tmp()<190)
{P1=0x00;}
else if(tmp()>200)
{P1=0x0f;}*/
}
}
///////功能:串口初始化波特率9600,方式1///////
void Init_Com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
void delay1(uint count) //delay
{
uint i;
while(count)
{
i=200;
while(i>0)
i--;
count--;
}
}
void dsreset(void) //send reset and initialization command
{
uint i;
DS=0;
i=103;
while(i>0)i--;
DS=1;
i=4;
while(i>0)i--;
}
void tmpwritebyte(uchar dat) //write a byte to ds18b20
{
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb) //write 1
{
DS=0;
i++;i++;
DS=1;
i=8;while(i>0)i--;
}
else
{
DS=0; //write 0
i=8;while(i>0)i--;
DS=1;
i++;i++;
}
}
}
void tmpchange(void) //DS18B20 begin change
{
dsreset();
delay1(1);
tmpwritebyte(0xcc); // address all drivers on bus
tmpwritebyte(0x44); // initiates a single temperature conversion
}
void display2(uint temp) //显示程序
{
uchar A1A2A2tA3ser;
ser=temp/10;
SBUF=ser;
A1=temp/100;
A2t=temp%100;
A2=A2t/10;
A3=A2t%10;
dula=0;
P0=table[A1]; //显示十位
dula=1;
dula=0;
wela=0;
P0=0x7e;
wela=1;
wela=0;
delay1(1);
dula=0;
P0=table1[A2]; //显示个位
dula=1;
dula=0;
wela=0;
P0=0x7d;
wela=1;
wela=0;
delay1(1);
P0=table[A3]; //显示小数位
dula=1;
dula=0;
P0=0x7b;
wela=1;
wela=0;
delay1(1);
}
bit tmpreadbit(void) //read a bit
{
uint i;
bit dat;
DS=0;i++; //i++ for delay
DS=1;i++;i++;
dat=DS;
i=8;while(i>0)i--;
return (dat);
}
uchar tmpread(void) //read a byte date
{
uchar ijdat;
dat
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-11-12 12:30 温度调节\
目录 0 2012-11-18 12:08 温度调节\protues仿真\
文件 151462 2012-11-11 21:20 温度调节\protues仿真\Last Loaded wendu.DBK
文件 151526 2012-11-12 12:30 温度调节\protues仿真\wendu.DSN
文件 1364 2012-11-18 12:08 温度调节\protues仿真\wendu.PWI
目录 0 2012-11-12 12:30 温度调节\原理图\
文件 50823 2012-11-11 11:13 温度调节\原理图\DS18B20.jpg
文件 120274 2012-11-11 11:15 温度调节\原理图\串口部分.jpg
文件 134153 2012-11-11 11:16 温度调节\原理图\八位LED.jpg
文件 152877 2012-11-11 11:14 温度调节\原理图\六位数码管.jpg
文件 6659 2012-11-12 12:27 温度调节\原理图\加热模块.png
文件 155148 2012-11-11 11:13 温度调节\原理图\单片机部分.jpg
文件 213608 2012-11-11 11:15 温度调节\原理图\数码管锁存器.jpg
目录 0 2012-11-12 12:44 温度调节\程序\
文件 4519 2012-11-11 11:01 温度调节\程序\123
文件 3889 2012-11-12 12:49 温度调节\程序\123.c
文件 4088 2012-11-11 11:01 温度调节\程序\123.hex
文件 38 2012-11-11 11:01 温度调节\程序\123.lnp
文件 7993 2012-11-11 11:01 温度调节\程序\123.LST
文件 16279 2012-11-11 11:01 温度调节\程序\123.M51
文件 4856 2012-11-11 11:01 温度调节\程序\123.OBJ
文件 953 2012-11-11 11:21 温度调节\程序\123.Opt
文件 15620 2012-11-11 11:01 温度调节\程序\123.plg
文件 0 2012-11-11 09:19 温度调节\程序\123.uv2
文件 151462 2012-11-11 21:20 温度调节\程序\Last Loaded wendu.DBK
文件 1364 2012-11-12 12:30 温度调节\程序\wendu.PWI
- 上一篇:DTMF采用RFC2833进行带外传输的实现
- 下一篇:图幅坐标计算程序
相关资源
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 51单片机频率计(很简单)
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 8051单片机教程第二十七课:单片机几
- 8051单片机教程第二十六课:矩阵式键
- 适用于STC单片机和51单片机的SX1262驱动
- 基于51单片机的计算器(C51编写,有
- 51单片机大量源码
- 基于51单片机的交通信号灯程序
- GSM监控系统51单片机设计
- 51单片机定时器/计数器的结构和原理
- MCS-51单片机定时器和计数器区别的理
评论
共有 条评论