數(shù)字溫度計(jì)仿真
- 文件介紹:
- 該文件為 doc 格式,下載需要 1 積分
- 數(shù)字溫度計(jì)仿真 您好,這是我做的數(shù)字溫度計(jì)仿真實(shí)驗(yàn),具有報(bào)警功能,但是測(cè)溫仿真時(shí)只能顯示整數(shù)位-55—128,現(xiàn)在要求精確到0.1,比如仿真時(shí)檢測(cè)溫度要求顯示115.1、115.2、115.3,請(qǐng)高手您幫忙檢查一下程序,并做修改實(shí)現(xiàn)此功能,不甚感激。
#include
#define uint unsigned int
#define ulong unsigned long
#define uchar unsigned char //宏定義
sbit DQ=P3^6 ; //定義DS18B20總線I/O
sbit SET=P3^1; //定義調(diào)整鍵
sbit DEC=P3^2; //定義減少鍵
sbit ADD=P3^3; //定義增加鍵
sbit BEEP=P3^7; //定義蜂鳴器
bit shanshuo_st; //閃爍間隔標(biāo)志
bit beep_st; //蜂鳴器間隔標(biāo)志
uchar x=0; //計(jì)數(shù)器
signed char m; //溫度值全局變量
uchar n; //溫度值全局變量
uchar set_st=0; //狀態(tài)標(biāo)志
uchar shangxian=38; //上限報(bào)警溫度,默認(rèn)值為38
uchar xiaxian=5; //下限報(bào)警溫度,默認(rèn)值為5
uchar tmpbuf[5];
sbit Sign_Port =P3^0;
sfr Dat_Port =0x80;
sfr Cs_Port =0xa0;
bit fu;
uint ReadTemperature(void) ;
uchar code table[12]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x00,0x40};
/*****延時(shí)子程序*****/
void Delay_DS18B20(int num)
{
while(num--) ;
}
/*****初始化DS18B20*****/
void Init_DS18B20(void)
{
unsigned char x=0;
DQ = 1; //DQ復(fù)位
Delay_DS18B20(8); //稍做延時(shí)
DQ = 0; //單片機(jī)將DQ拉低
Delay_DS18B20(80); //精確延時(shí),大于480us
DQ = 1; //拉高總線...