欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
求看下stc12c5a60s2程序
[打印本頁]
作者:
里本來
時間:
2017-5-11 20:17
標題:
求看下stc12c5a60s2程序
#include<STC12C5A60S2.h>
#include<intrins.h>
sbit DQ=P0^0;
unsigned int Temperature,Temp_Flag;
//延時函數
void delay_us(unsigned char a1,b1,c1)
{
unsigned char a,b,c;
for(a=0;a<a1;a++)
for(b=0;b<b1;b++)
for(c=0;c<c1;c++);
}
//DB18B20初始化
void DS18B20_Reset()
{
bit presence=1;
while(presence)
{
delay_us(2);
DQ=0;
delay_us(480);
DQ=1; //DQ=1表示釋放總線?
delay_us(50);
if(!DQ) presence=0;
delay_us(430);
}
}
//寫DS18B20數據線從高到低寫時序開始
void DS18B20_Write(unsigned char wDate)
{
unsigned int i;
for(i=0;i<8;i++)
{
DQ=0;
delay_us(1);
DQ=wDate&0x01; //將數據的最低位傳到數據總線DQ?
delay_us(60);
DQ=1; //釋放總線?
delay_us(1);
wDate=wDate>>1;
}
}
//DS1302 讀字節函數
unsigned char DS18B20_Read()
{
unsigned char j,Temp=0;
for(j=0;j<8;j++)
{
Temp>>=1;
DQ=0;
delay_us(1);
DQ=1;
delay_us(6);
if(DQ) Temp|=0x80;
delay_us(60);
}
return (Temp);
}
//讀溫度函數
void Read_Temperature()
{
unsigned int Temp1=0,Temp2=0;
DS18B20_Reset(); //DS18B20 復位
DS18B20_Write(0xCC); //跳過 ROM
DS18B20_Write(0x44); //溫度轉換
DS18B20_Reset(); //DS18B20復位
DS18B20_Write(0xCC); //跳過 ROM
DS18B20_Write(0xbe); //跳過 RAM
Temp1=DS18B20_Read(); //讀低八位
Temp2=DS18B20_Read(); //讀高八位
DS18B20_Reset(); //DS18B20復位,表示讀取結束
if(Temp2&0xf8)
{
Temp_Flag=1;
Temperature=((Temp2<<8)|Temp1);
Temperature= ((~Temperature)+1);
Temperature*= 0.0625;
}
else
{
Temp_Flag=0;
Temperature = (((Temp2<<8 ) | Temp1 ) * 0.0625);
}
}
//初始化串口1
void InitUSART( )
{
SCON=0x50;
TMOD=0X20;
TH1=0XF7;
TL1=0XF7;
TR1=1;
}
//串口1發送數據
void Tx_Byte(unsigned char T_Byte)
{
SBUF=T_Byte;
while(TI==0);
TI=0;
}
void main()
{
Read_Temperature();
InitUSART( );
while(1)
{
if(Temp_Flag==1)
Tx_Byte(‘-’
Tx_Byte(Temperature);
}
}
我改來改去一直顯示我標紅周圍有錯,錯誤提示如圖
CCD`]68]`[{_04U5IP@55@C.png
(1.07 KB, 下載次數: 91)
下載附件
2017-5-11 20:16 上傳
作者:
starkay
時間:
2017-5-11 21:15
一句一句注釋,看看哪一句的事
作者:
dzbj
時間:
2017-5-11 23:39
第一句的意思大概是你用的什么符號錯了 下面一句是void附近有錯誤
作者:
shuisheng60
時間:
2019-2-9 04:01
void main()
{
Read_Temperature();
InitUSART( );
while(1)
{
if(Temp_Flag==1)
Tx_Byte(‘-’ //主要還是這里有問題,語法上就出問題了
Tx_Byte(Temperature);
}
}
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1