Proteus仿真-DS18B20温度传感器使用方法
一、硬件链接
在元件库中搜索DS18B20,按下图的连接方式链接。
二、驱动代码
#define uchar unsigned char
#define uint unsigned int
sbit DS1820_dat=P3^2;void DS18B20_delay(uint T) //????
{while(T--);
}void Initial()
{DS1820_dat=1;DS18B20_delay(8); //??16??DS1820_dat=0;DS18B20_delay(80);DS1820_dat=1;DS18B20_delay(15);
} void Input(uchar f) //18B20???????
{uchar j;for (j=0;j<8;j++){DS1820_dat=0;DS1820_dat=f&0x01;DS18B20_delay(10);DS1820_dat=1;f>>=1;}
}uchar Output() //18b20 ????????
{uchar j,b;for (j=0;j<8;j++){DS1820_dat=0;b>>=1;DS1820_dat=1;if (DS1820_dat){b=b|0x80;}DS18B20_delay(10);}return(b);
}
int Temper()
{ int Store;int Store_2,Store_1;Initial(); //对 DS18B20 复位Input(0xcc); //跳过 ROMInput(0x44); //启动温度转换Initial(); //对 DS18B20 复位Input(0xcc); //跳过 ROMInput(0xbe); //读 RAM 命令Store_1=Output(); //读温度的低字节Store_2=Output(); //读温度的高字节 Store_2=(Store_2*256)+Store_1; //合起来为温度的整数部分Store=(int) Store_2*0.625;return Store;
}
三、软件示例
完整代码功能为51单片机温度控制系统,proteus仿真资料
功能:
1、低于设定最低温度时加热丝加热,高于最高温度时停止加热。可用按键设置高低温度。
2、显示当前时间,时间可设置。
3、DAC液位监测,液位低于10%开启电机上水,高于90%关闭电机上水,百分比可在程序中修改
/*****************主函数********************/
void main()
{ beep = 0; //开机蜂鸣器叫一声delay_1ms(200);P0 = P1 = P2 = P3 = 0xff; //初始化IO口init_time0(); //初始化定时器init_1602(); //lcd1602初始化init_1602_dis_csf(); //lcd1602初始化显示do{temp=Temper();}while(temp==850); //因为DS18B20上电之后会读出来850,但不是温度值,所以等待读出温度值 delay_1ms(100);while(1){key(); //按键程序if(key_can > 0){beep = 0;delay_1ms(50);beep = 1; key_with(); }if(flag_200ms == 1){ flag_200ms = 0;if(menu_1 == 0){read_time(); //读时间init_1602_ds1302(); //显示时钟vol_value=VOL_VAL*A_D()/256; //获取模拟电压值percent = 100.0*vol_value/VOL_VAL;display_temp(55);}}delay_1ms(1);}
}
关注下方公众号,回复公众号“204”获取完整工程文件
Proteus仿真-DS18B20温度传感器使用方法相关推荐
- 基于51单片机多路温度检测proteus仿真 ds18b20
本设计是基于51单片机多路温度检测proteus仿真_ds18b20(仿真+程序+原理图) 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:C0042 ...
- 51单片机+LCD12864驱动显示汉字模板+Proteus仿真
51单片机+LCD12864驱动显示汉字模板+Proteus仿真 Proteus仿真效果 汉字显示方法 汉字通过取模软件取模. 取模软件:pctolcd2002 取模方式: 工程文件架构 主程序代码 ...
- 【Proteus仿真】数字温度计,利用 Mega16 控制 DS18B20 ,若温度达到设定阈值,即可报警提醒(用串口控制停止报警、用键盘输入改变报警阈值)
(代码在文末) 工程文件和代码下载链接如下(求求下载前点个赞支持一下吧QAQ,博主自己做出来这个也hin累的) 链接: https://pan.baidu.com/s/1-aRZjyRZodzLcw8 ...
- 51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真
51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真 本实验通过51单片机读取DS18B20温度传感器的温度,然后通过数码管显示,并通过串口,将读取到的温度数据发送出去. 本案例需要使 ...
- 【001】基于51单片机的DS18B20温度检测与报警装置的proteus仿真设计
一.设计资料内容(私信获取) 1. 包含proteus仿真一份: 2. keil源代码一份: 3. 包含基于51单片机的DS18B20温度监测与报警的proteus仿真设计课程报告一份: 4. 包含基 ...
- 【Proteus仿真】51单片机汇编实现DS18B20+LCD1602显示
[Proteus仿真]51单片机汇编实现DS18B20+LCD1602显示 Proteus仿真 汇编代码(.asm) ;**************************************** ...
- 51单片机DS18B20测温数码管显示例程(Proteus仿真+程序)
编号:19 51单片机DS18B20测温数码管显示例程 功能描述: 本设计由STM32单片机+DS18B20温度传感器+四段数码管显示模块组成. 1.主控制器是51单片机 2.DS18B20温度传感器 ...
- 51单片机DS18B20温度报警器proteus仿真设计_可调上下限
51单片机DS18B20温度报警器proteus仿真设计_可调上下限 (仿真+源码+原理图+报告) 原理图:Altium Designer 仿真版本:proteus 7.8 程序编译器:keil 4/ ...
- ds18b20温度转换指令_DS18B20温度传感器使用方法以及代码
第 7 章 DS18B20 温度传感器 7.1 温度传感器概述 温度传感器是各种传感器中最常用的一种, 早起使用的是模拟温 度传感器, 如热敏电阻, 随着环境温度的变化, 它的阻值也发生线性 变化, ...
最新文章
- 输入http://localhost/,apache出现You don't have permission to access/on this server.的提示,如何解决?...
- 爱奇艺谢丹铭:用AI让创作者提升效率,让消费者简单快乐丨MEET2021
- linux重定向进程输出到文件删除,Linux文件编辑器vim输出输入重定向、管道以及进程(示例代码)...
- 这样准备面试,薪资比预期至少多拿20%!
- 重置mariadb密码
- charles 安装 ssl_「从零开始Python爬虫」1.7.1 Charles的安装与配置
- Node.js读取mongoDB并输出json数据
- Android 系统(40)--Android7.0 PowerManagerService亮灭屏分析(一)
- pytorch utils.data.DataLoader
- java sort方法_Java排序方法sort用法详解
- LinuxShell 脚本条件语句的运用
- 体验不尽,进化不止,看视频云技术六大创新
- 在线二进制取余计算机,二进制换算(进制转换计算器)
- the JDBC Driver has been forcibly unregistered
- 程序人生 - 游戏帧数很高,为什么还是会卡顿?
- 提高工作效率的12个小建议
- 遇见心想事成的自己……
- 又拍云php接口,又拍云 API 使用的那些小事
- python中if有几种使用方式_在 Python 中可以使用 if 作为变量名。 (2.0分)_学小易找答案...
- UVA - 1600 Patrol Robot (巡逻机器人)(bfs)