温度传感器
来源:互联网 发布:淘宝卖家版 编辑:程序博客网 时间:2024/04/29 08:25
#include<reg52.h>#include<intrins.h>#include "./delay/delay.h"#include "./1602.h"#include <stdio.h>sbit ds= P3^7;bit ack = 0;#define SUCC 1#define ERR 0void ds18b20_init(){ //P0 = 0x00; ds = 0; delay_us(200); delay_us(200); ds = 1; delay_us(30); if(ds == 0) { ack = SUCC; //P0 = 0x01; } else { ack = ERR; //P0 = 0x00; } delay_us(200);}void ds18b20_write_byte(unsigned char byte){ unsigned char i; for(i=0;i<8;i++) { ds = 0; _nop_(); _nop_(); ds = byte & 0x01; byte >>= 1; delay_us(30); ds = 1; } delay_us(30);}bit ds_read_bit(){ bit tmp; ds = 1; ds = 0; _nop_(); _nop_(); ds = 1; tmp = ds; delay_us(30); return tmp;}unsigned char ds_read_byte(){ unsigned char i,j,k = 0; for(i = 0;i < 8;i++) { j = ds_read_bit(); k = (j << 7) | (k >> 1); } return k;}void main(){ unsigned char a; unsigned int temp,b; float temp_f; unsigned char disbuf[20]; LCD_Init(); while(1) { ds18b20_init(); ds18b20_write_byte(0xcc); ds18b20_write_byte(0x44); delay_ms(20); ds18b20_init(); ds18b20_write_byte(0xcc); ds18b20_write_byte(0xbe); a = ds_read_byte(); b = ds_read_byte(); temp = (b << 8) + a; temp_f = (float)temp * 0.0625; sprintf(disbuf,"temp is %7.3f",temp_f); //delay_ms(20); LCD_Write_String(0,0,disbuf); }}
0 0
- 温度传感器
- 关于温度传感器
- 温度传感器LM35
- tp2416kit温度传感器
- ds18b20温度传感器
- DS18B20温度传感器
- ds18b20温度传感器
- 温度传感器 DS18B20
- DS1624温度传感器应用
- AD590温度传感器的使用
- AD590温度传感器的使用
- FL2440温度传感器实验
- 温度传感器的选择
- 温度传感器的工作原理
- DS18B20数字温度传感器介绍
- I2C温度传感器应用
- Android传感器之 温度传感器
- Android传感器之 温度传感器
- 类
- ds18b20LCD显示
- 聊聊高并发之隔离术
- 我的前端入职之路
- 2016年终总结-期待一个新的自己
- 温度传感器
- backbone开发
- 存储过程
- 蓝桥杯 算法提高 金陵十三钗
- ds18b20温度传感器主程序
- 3D打印原理及分类
- 关于类的理解(面向对象编程的核心)
- iOS - awakeFromNib 摘录&整理
- qt中的菜单QMenu QAction