• 大小: 32KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: 18b20  

资源简介

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

评论

共有 条评论