资源简介
能测接入多个超声波,并且每个的测量精度达到1cm.还加上了距离过近语音播报信息!
代码片段和文件信息
/*-----------------------------------------------
名称:18B20温度传感器
网站:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:18B20单线温度检测的应用样例程序
------------------------------------------------*/
#include“18b20.h“
/*------------------------------------------------
18b20初始化
------------------------------------------------*/
/*------------------------------------------------
uS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编大致延时
长度如下 T=tx2+5 uS
------------------------------------------------*/
void DelayUs2x(unsigned int t)
{
while(--t);
}
/*------------------------------------------------
mS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编
------------------------------------------------*/
void DelayMs(unsigned int t)
{
while(t--)
{
//大致延时1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
bit Init_DS18B20(void)
{
bit dat=0;
DQ = 1; //DQ复位
DelayUs2x(5); //稍做延时
DQ = 0; //单片机将DQ拉低
DelayUs2x(200); //精确延时 大于 480us 小于960us
DelayUs2x(200);
DQ = 1; //拉高总线
DelayUs2x(50); //15~60us 后 接收60-240us的存在脉冲
dat=DQ; //如果x=0则初始化成功 x=1则初始化失败
DelayUs2x(25); //稍作延时返回
return dat;
}
/*------------------------------------------------
读取一个字节
------------------------------------------------*/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80;
DelayUs2x(25);
}
return(dat);
}
/*------------------------------------------------
写入一个字节
------------------------------------------------*/
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
DelayUs2x(25);
DQ = 1;
dat>>=1;
}
DelayUs2x(25);
}
/*------------------------------------------------
读取温度
------------------------------------------------*/
unsigned int ReadTemperature(void)
{
unsigned char a=0;
unsigned int b=0;
unsigned int t=0;
Init_DS18B20();
WriteOneChar(0xCC); // 跳过读序号列号的操作
WriteOneChar(0x44); // 启动温度转换
DelayMs(5);
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
a=ReadOneChar(); //低位
b=ReadOneChar(); //高位
b<<=8;
t=a+b;
return(t);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-03-19 11:47 程序2--最终版\
文件 5289 2013-03-18 16:53 程序2--最终版\18b20.LST
文件 5168 2013-03-18 16:53 程序2--最终版\18b20.OBJ
文件 2749 2013-03-18 16:25 程序2--最终版\18b20.c
文件 658 2013-03-18 16:23 程序2--最终版\18b20.h
文件 9315 2013-03-18 16:53 程序2--最终版\ISD4004.LST
文件 8895 2013-03-18 16:53 程序2--最终版\ISD4004.OBJ
文件 3444 2013-03-17 22:01 程序2--最终版\ISD4004.c
文件 162 2013-03-17 22:01 程序2--最终版\ISD4004.h
文件 5814 2013-03-18 16:53 程序2--最终版\LCD1602.LST
文件 6287 2013-03-18 16:53 程序2--最终版\LCD1602.OBJ
文件 3147 2013-03-12 15:59 程序2--最终版\LCD1602.c
文件 345 2013-03-17 19:29 程序2--最终版\LCD1602.h
文件 6376 2009-05-07 14:37 程序2--最终版\STARTUP.A51
文件 14052 2013-03-18 14:29 程序2--最终版\STARTUP.LST
文件 749 2013-03-18 14:29 程序2--最终版\STARTUP.OBJ
文件 13054 2013-03-18 16:53 程序2--最终版\main.LST
文件 17663 2013-03-18 16:53 程序2--最终版\main.OBJ
文件 5061 2013-03-18 17:00 程序2--最终版\main.c
文件 34526 2013-03-18 16:53 程序2--最终版\超声波
文件 39269 2013-03-18 16:53 程序2--最终版\超声波.M51
文件 9253 2013-03-18 16:53 程序2--最终版\超声波.hex
文件 88 2013-03-18 16:53 程序2--最终版\超声波.lnp
文件 189 2013-03-19 11:47 程序2--最终版\超声波.plg
文件 69376 2013-03-19 11:47 程序2--最终版\超声波.uvgui.Administrator
文件 69376 2013-03-18 22:21 程序2--最终版\超声波.uvgui_Administrator.bak
文件 12110 2013-03-18 22:21 程序2--最终版\超声波.uvopt
文件 13854 2013-03-18 17:00 程序2--最终版\超声波.uvproj
文件 12104 2013-03-18 17:00 程序2--最终版\超声波_uvopt.bak
文件 14063 2013-03-17 23:01 程序2--最终版\超声波_uvproj.bak
- 上一篇:80c51单片机4位数码管计算器设计
- 下一篇:ISD1760 语音播报温度
相关资源
- 基于HC-SR04超声波测距LCD12864显示源码
- 超声波和红外避障蓝牙小车完整文件
- 晶体管大功率超声波雾化器
- 使用Field_进行超声波束形成的设计仿
- 超声波电路 含pcb 原理图
- 超声波相关资料超声波相关资料
- 超声波cx20106
- 智能小车超声波避障实验+源码(有舵
- 超声波测距的电路设计与单片机编程
- 单片机的超声波雾化器智能控制系统
- 51单片机超声测距汇编
- 超声波测距模块代码及上位机调试软
- 倒车雷达超声波测距系统
- 基于两块430单片机及nrf24l01无线数据传
- msp430f149超声波雷达
- 超声波清洗机的原理与选用.rar
- 超声波资料
- 超声波的AVR程序
- TDS-100超声波流量计上位机软件
- 超声波检测国家标准超声波检测国家
- 超声波 捕鱼机 电路图
- 超声波 自激式 振荡电路
- 超声波测距仪
- tmsf2812做的超声波流量计 编译通过
- RS485通讯超声波流量计.pdf
- 多探头超声波车流检测系统的设计
- Stc89C52 超声波测距 并且 1602显示
- 论文研究-基于FPGA和AVR的多普勒超声波
- 超声波测距仪温度补偿
- FLEXIM 非浸入式的气体超声波流量计
评论
共有 条评论