数码管温度计c语言,温度计(数码管显示)(可测负温度)

这是一个使用C语言编写的程序,用于通过DS18B20传感器测量温度,并在数码管上动态显示。程序适用于STC89C52单片机,采用Keil 3软件平台。通过端口分配进行位选和段选,实现了温度的正负判断和数值转换,并在数码管上进行相应显示。
摘要由CSDN通过智能技术生成

/*

程序功能:测量温度(DS18B20),数码管动态显示

硬件平台:STC89C52(12M)

软件平台: Keil 3

端口分配:P1位选,P3段选,DQ=P1^4

作者:    Mr Lee

修改日期:2012.11.30

*/

#include

#include

#define uint unsigned int

#define uchar unsigned char

#define uint unsigned int

#define uchar unsigned char

//管脚定义

#define wei P1

#define duan P3

sbit DQ=P1^4; //数据传输线接单片机的相应的引脚

//数码管段码位码定义

uint ww[]={0xf7,0xfb,0xfd,0xfe,0xf7,0xfb,0xfd,0xfe,0xf7,0xfb};

uchar dot[]={0x40,0x7c,0x09,0x03,0x26,0x12,0x10,0x47,0x00,0x02};//0-9共阳,带小数点

char nodot[]={0xc0,0xfc,0x89,0x83,0xa6,0x92,0x90,0xc7,0x80,0x82};//0-9共阳,不带小数点

char code_func[]={0x98,0xbd,0xbf};//E,r,-

//定义全局变量

unsigned char tempL=0; //临时变量低位

unsigned char tempH=0; //临时变量高位

float temperature; //温度值

uchar flag_fu=0;  //温度正负值标志位

/****************************************************************************

函数功能:延时子程序

入口参数:k

出口参数:

****************************************************************************/

void delay_ms(uint z)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值