下载此文档

51单片机热敏电阻测温程序.doc


文档分类:通信/电子 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
//本程序是通过热敏电阻测温度(30c-50c),采用六位串行数码管显示,前三位显示ds18b20测得数据,后三位是热敏电阻测得数据
#include<>
#include<>
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar smg[]={0x88,0xeb,0x4c,0x49,0x2b,0x19,0x18,0xcb,0x08,0x09};
uchar b,d;
uint shuju;
int a,temp;
sbit start=P2^7;
sbit ale=P2^7;
sbit addc=P2^6;
sbit addb=P2^5;
sbit adda=P2^4;
sbit eoc=P2^3;
sbit oe=P2^2;
sbit clk=P3^2;//0809时钟脚
sbit dat=P3^0; //串行数码管数据端
sbit clock=P3^1; //串行数码管时钟端
sbit DQ=P2^0;
/******************delay**************************/
void delay(uint x)
{
while(x--);
}
void delay1(uint x)
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<110;j++);
}
/*******************ds18b20***********************/
void Init_DS18B20(void)
{
unsigned char 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);
}
/******************************从18B20中读一个字节****************************/
uchar Read_OneChar(void)
{
uchar i = 0;
uchar dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat >>= 1;
DQ = 1; // 给脉冲信号
if(DQ)
dat |= 0x80;
delay(8);
}
return(dat);
}
/******************************向18B20中写一个字节****************************/
void Write_OneChar(uchar dat)
{
uchar i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay(10);
DQ

51单片机热敏电阻测温程序 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人fr520520
  • 文件大小38 KB
  • 时间2018-06-25