91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 105KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-11
  • 語言: 其他
  • 標簽:

資源簡介

51單片機的串口采集溫度程序,采用18b20溫度傳感器,并通過串口傳送給單片機,單片機同時課余上位機通信,將采集道德數據發送給上位機

資源截圖

代碼片段和文件信息

#include?
#include??????????????????????????
#define??uchar?unsigned?char
#define??uint??unsigned?int
sbit?????DQ=P2^0;???????????????????????????????
uint?????htemp;?
bit??????flag;
uchar?code?dian_table[16]={0x000x010x010x020x030x030x040x04
0x050x060x060x070x080x080x090x09};????//溫度小數部分用查表法?????????
uchar?data?temp_data[2]={0x000x00};??? //讀出溫度暫放
uchar?data?display[5]={0x000x000x000x000x00};????
? //顯示單元數據,共4個數據和一個運算暫用
uchar?idata?temp_display[]={0x300x310x320x330x34
0x350x360x370x380x39};

void?init() ???//串口初始化
{
SCON=?0x50;????????????????//串口方式1?允許接收
PCON=0;????????????????????//SMOD=0
TMOD=?0x20;????????????????//定時器1定時方式2
TH1=?0xf3;?????????????????//12MHz?2400波特率
TL1=?0xf3;
TR1=?1;
EA?=?1;
????ES?=?1;
}

//---------------------------------------------------------------
//串口發送函數
//---------------------------------------------------------------
/*void?serial_send(unsigned?char?ch)? //串口發送函數
{?
TI=0;
SBUF=ch;?
while(TI==?0);??????????????????//等待發送完成
}*/?

void?delay(uint?t) ?//11us延時函數
{
for?(;t>0;t--);
}

void?ow_reset(void)?//DS18B20復位函數
{??
char?presence=1;
while(presence)
{??
while(presence)
{
DQ=1;_nop_();_nop_();//從高拉倒低
DQ=0;???????????????????????????????????????
delay(50);???????????//550?us
DQ=1;????????????????????????????????????????
delay(6);????????????//66?us
presence=DQ;?????????//presence=0?復位成功繼續下一步
}?
delay(45);???????????????//延時500?us
????presence=~DQ;???????
}
DQ=1;????????????????????????//拉高電平
}
void?write_byte(uchar?val) //DS18B20寫命令函數
{???
uchar?i;
for(i=8;i>0;i--)
{
DQ=1;_nop_();_nop_();??????????????????//從高拉倒低
DQ=0;_nop_();_nop_();_nop_();_nop_();??//5?us
DQ=val&0x01;???????????????????????????//最低位移出
delay(6);??????????????????????????????//66?us
val=val/2;?????????????????????????????//右移1位
}
DQ=1;
delay(1);
}

uchar?read_byte(void) ?//DS18B20讀1字節函數
{
uchar?i;
uchar?value=0;
for(i=8;i>0;i--)
{
DQ=1;_nop_();_nop_();
value>>=1;
DQ=0;_nop_();_nop_();_nop_();_nop_();?????????//4?us
DQ=1;_nop_();_nop_();_nop_();_nop_();?????????//4?us
if(DQ)value|=0x80;
delay(6);?????????????????????????????????????//66?us
}
DQ=1;
return(value);
}
read_temp() ???//讀出溫度函數
{
ow_reset();??????????????????//總線復位
delay(200);
write_byte(0xcc);????????????//發命令
write_byte(0x44);????????????//發轉換命令
ow_reset();?
delay(1);
write_byte(0xcc);????????????//發命令
write_byte(0xbe);
temp_data[0]=read_byte();????//讀溫度值的低字節
temp_data[1]=read_byte();????//讀溫度值的高字節
temp=temp_data[1];
temp<<=8;???????????????????????????????????????????????
temp=temp|temp_data[0];??????//?兩字節合成一個整型變量。
return?temp;?????????????????//返回溫度值
}
void?work_temp(uint?tem) ??//溫度數據處理函數
{
uchar?n=0;
if(tem>6348)????????????????????????//?溫度值正負判斷
{
tem=65536-tem;
n=1;
}????????????//?負溫度求補碼標志位置1
disp

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-08-08?18:07??程序1-溫度采集串口\
?????文件????????6376??2005-03-22?15:22??程序1-溫度采集串口\STARTUP.A51
?????文件???????14063??2011-06-12?12:50??程序1-溫度采集串口\STARTUP.LST
?????文件?????????758??2011-06-12?12:50??程序1-溫度采集串口\STARTUP.OBJ
?????文件???????17735??2009-12-23?20:43??程序1-溫度采集串口\STC12C5A60S2.h
?????文件???????55311??2010-09-09?11:10??程序1-溫度采集串口\TEMP.bak
?????文件???????57597??2011-06-12?12:55??程序1-溫度采集串口\TEMP.uvopt
?????文件???????13403??2010-09-08?22:33??程序1-溫度采集串口\TEMP.uvproj
?????文件???????57587??2011-06-06?15:03??程序1-溫度采集串口\TEMP_uvopt.bak
?????文件????????8929??2011-06-12?12:50??程序1-溫度采集串口\TEST
?????文件????????4506??2011-06-12?12:50??程序1-溫度采集串口\TEST.c
?????文件????????1901??2011-06-12?12:50??程序1-溫度采集串口\TEST.hex
?????文件??????????56??2011-06-12?12:50??程序1-溫度采集串口\TEST.lnp
?????文件????????9563??2011-06-12?12:50??程序1-溫度采集串口\TEST.LST
?????文件???????13610??2011-06-12?12:50??程序1-溫度采集串口\TEST.M51
?????文件????????9522??2011-06-12?12:50??程序1-溫度采集串口\TEST.OBJ
?????文件????????1186??2011-06-12?12:55??程序1-溫度采集串口\TEST.plg
?????文件???????56791??2010-09-08?22:33??程序1-溫度采集串口\TEST.uvopt
?????文件???????60635??2010-09-08?22:12??程序1-溫度采集串口\TEST_uvopt.bak
?????文件???????13901??2009-12-14?15:03??程序1-溫度采集串口\TEST_uvproj.bak
?????文件???????17527??2009-11-09?12:28??程序1-溫度采集串口\wav.out
?????文件??????324526??2010-05-06?16:41??程序1-溫度采集串口\wav_.h

評論

共有 條評論