登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
51单片机论坛
›
单片机控制温度传感器的源程序,51源程序
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版
单片机控制温度传感器的源程序,51源程序
[复制链接]
2769
0
ad***
管理员
发表于 2010-6-14 22:52:05
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
单片机
控制温度传感器的源程序,51源程序
//DS1820
C51
子程序
//这里以11.0592M晶体为例,不同的晶体速度可能需要调整延时的时间
//sbit DQ =P2^1;//根据实际情况定义端口
typedef unsigned char byte;
typedef unsigned int word;
//延时
void delay(word useconds)
{
for(;useconds>0;useconds--);
}
//复位
byte ow_reset(void)
{
byte presence;
DQ = 0; //pull DQ line low
delay(29); // leave it low for 480us
DQ = 1; // allow line to return high
delay(3); // wait for presence
presence = DQ; // get presence signal
delay(25); // wait for end of timeslot
return(presence); // presence signal returned
} // 0=presence, 1 = no part
//从 1-wire 总线上读取一个字节
byte read_byte(void)
{
byte i;
byte value = 0;
for (i=8;i>0;i--)
{
value>>=1;
DQ = 0; // pull DQ low to start timeslot
DQ = 1; // then return high
delay(1); //for (i=0; i<3; i++);
if(DQ)value|=0x80;
delay(6); // wait for rest of timeslot
}
return(value);
}
//向 1-WIRE 总线上写一个字节
void write_byte(char val)
{
byte i;
for (i=8; i>0; i--) // writes byte, one bit at a time
{
DQ = 0; // pull DQ low to start timeslot
DQ = val&0x01;
delay(5); // hold value for remainder of timeslot
DQ = 1;
val=val/2;
}
delay(5);
}
//读取温度
char Read_Temperature(void)
{
union{
byte c[2];
int x;
}temp;
ow_reset();
write_byte(0xCC); // Skip ROM
write_byte(0xBE); // Read Scratch Pad
temp.c[1]=read_byte();
temp.c[0]=read_byte();
ow_reset();
write_byte(0xCC); //Skip ROM
write_byte(0x44); // Start Conversion
return temp.x/2;
}
复制代码
举报
回复
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
工控仪表液晶驱动VK0192 LQFP44/点阵LCD液
产品品牌:永嘉微电/VINKA 产品型号:VK0192 封装形式:LQFP44 概述 VK0192是一
不用电池收音机中锗三极管的替代
图中的检波二极管已找到贴片器件,图中的锗三极管能否使用贴片替换?
小封装液晶驱动VK1088B QFN32L点阵LCD液晶
产品品牌:永嘉微电/VINKA 产品型号:VK1088B 封装形式:QFN32L 概述 VK1088B是
LCD液晶驱动/点阵段码屏驱动芯片VK1072D SS
产品品牌:永嘉微电/VINKA 产品型号:VK1072D 封装形式:SSOP28 概述 VK1072D
VK1072C SOP28/3线串行接口LCD液晶显示驱动
产品品牌:永嘉微电/VINKA 产品型号:VK1072C 封装形式:SOP28 概述 VK1072C是
更多
精华推荐
51单片机的智能反汇编工具
工控仪表液晶驱动VK0192 LQFP44/点阵LCD液
不用电池收音机中锗三极管的替代
小封装液晶驱动VK1088B QFN32L点阵LCD液晶
LCD液晶驱动/点阵段码屏驱动芯片VK1072D SS
VK1072C SOP28/3线串行接口LCD液晶显示驱动
AP8100 外围简单的 BOOST 升压恒压控制驱动
AP510X 单路低压差线性恒流芯片 LED手电筒
更多
社区学堂
工控仪表液晶驱动VK0192 LQFP44/点阵LC
不用电池收音机中锗三极管的替代
工控仪表液晶驱动VK0192 LQFP44/点阵LCD液
产品品牌:永嘉微电/VINKA 产品型号:VK0192 封装形式:LQFP44 概述 VK0192是一
不用电池收音机中锗三极管的替代
图中的检波二极管已找到贴片器件,图中的锗三极管能否使用贴片替换?
小封装液晶驱动VK1088B QFN32L点阵LCD液晶
产品品牌:永嘉微电/VINKA 产品型号:VK1088B 封装形式:QFN32L 概述 VK1088B是
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表