资源简介
51单片机通过DS18B20温度传感器对温度进行采集,通过单总线将温度信号传给单片机,在由数码管进行温度采集显示(蓝桥杯)
代码片段和文件信息
#include “reg52.h“ //定义51单片机特殊功能寄存器
#include “onewire.h“ //单总线函数库
#define THCO 0xf8
#define TLCO 0x30
unsigned char dspbuf[2] = {00};//显示缓冲区
unsigned char i = 0;
unsigned char intr;
bit temper_flag = 0;//温度读取标志
code unsigned char duan[] = {0xc00xf90xa40xb00x990x920x820xf80x800x90
0xff};
unsigned char wei[]={0x800x40};
void display(void);
void main(void)
{
unsigned char temperature;
TMOD |= 0x01; //配置定时器工作模式
TH0 =THCO;
TL0 =TLCO;
EA = 1;
ET0 = 1; //打开定时器中断
TR0 = 1; //启动定时器
while(1)
{
if(temper_flag)
{
temper_flag = 0;
temperature = rd_temperature(); //读温度
}
//显示数据更新
dspbuf[1] = temperature/10;
dspbuf[0] = temperature%10;
}
}
//定时器中断服务函数
void isr_timer_0(void) interrupt 1 //默认中断优先级 1
{
TH0 = THCO;
TL0 = TLCO; //定时器重载
display();
if(++intr == 100) //2ms执行一次
{
intr = 0;
temper_flag = 1; //200ms温度读取标志位置1
}
}
//显示函数
void display(void)
{
P2&=0x1f;
P0=0xff; //消隐
P2|=0xe0;
P2&=0x1f;
//送位码
P0=wei[i];
P2|=0xc0;
P2&=0x1f;
//送断码
P0=duan[dspbuf[i]];
P2|=0xe0;
P2&=0x1f;
i++;
if(i==2)
i=0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-04-11 14:45 18B20\
文件 8156 2017-03-13 15:29 18B20\18b20
文件 1380 2017-03-07 13:10 18B20\18b20.c
文件 3053 2017-03-13 15:29 18B20\18b20.hex
文件 58 2017-03-13 15:29 18B20\18b20.lnp
文件 3490 2017-03-13 15:29 18B20\18b20.LST
文件 12594 2017-03-13 15:29 18B20\18b20.M51
文件 3935 2017-03-13 15:29 18B20\18b20.OBJ
文件 184 2017-04-05 14:23 18B20\18b20.plg
文件 71522 2018-04-11 14:45 18B20\18b20.uvgui.Administrator
文件 5378 2018-04-11 14:45 18B20\18b20.uvopt
文件 14012 2018-04-11 14:45 18B20\18b20.uvproj
文件 56659 2017-04-02 22:22 18B20\18b20_uvopt.bak
文件 0 2017-03-03 20:09 18B20\18b20_uvproj.bak
文件 1370 2017-03-13 15:29 18B20\onewire.c
文件 112 2017-03-07 13:17 18B20\onewire.h
文件 3859 2017-03-13 15:29 18B20\onewire.LST
文件 4723 2017-03-13 15:29 18B20\onewire.OBJ
- 上一篇:code.zip
- 下一篇:N皇后的回溯解法综述2000字论文
相关资源
- STM32的DS18B20数字温度传感器程序,亲
- 基于单片机和ds18b20温度传感器的温度
- STC89C51采集DS18B20温度控制继电器
- 51单片机读取DS18b20数据加1602显示+pr
- 51单片机控制DS18b20,在数码管上显示
- 51单片机+DS18B20+NRF24L01+LCD1602=无线温度
- ds18b20温度传感器工作原理及其应用电
- 51单片机Protues,仿真DS18b20温度传感器
- STM8S003读取DS18B20温度传感器
- DS18B20读取序列号并匹配读取温度值
- DS18B20介绍、程序流程图和程序源代码
- STM32 DS18b20
- 基于mini2440+linux下的ds18b20驱动,
- 用51单片机驱动DS1302时间模块+DS18B20温
- 430的读取DS18B20并在1602液晶上显示
- 1602电子时钟万年历isis仿真文件,程序
- DS18B20温度控制风扇 原理图及源代码
- 使用定时中断方式与ds18b20通信
- ds18b20测温程序
- DS18B20关于search rom指令的使用
- verilog的ds18b20代码
- 基于DSP和DS18B20的矿用电缆温度监控系
- 基于AT89C51单片机的温度测控系统设计
- 温度传感器DS18B20 PROTEUS仿真+源程
- STC12C5A60S2自带ADC采集电压信号+DS18B2
- 基于STM32的温度传感器和ph传感器检测
- stm32单总线同时读取多个ds18b20温度传
- DS18B20温度测量报警 设定温度上下限
- 基于STM32的DS18B20的温度测量和OLED的显
- STM32 ds18b20 温度读取程序
评论
共有 条评论