久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
我有一個4路18b20的程序,但是始終只有P口第一個口例如P2.0有溫度顯示,求大神幫忙
[打印本頁]
作者:
erwin095
時間:
2019-3-25 09:38
標題:
我有一個4路18b20的程序,但是始終只有P口第一個口例如P2.0有溫度顯示,求大神幫忙
/********************************************************
* 文件名 :main.c
* 描述 :stc15系列采集ds18b20溫度數據,并從串口輸出,采用的是11.0592M晶振,用P2口
* 實驗平臺:IAP15w4k58S4
* 庫版本 :
* 連接方式: 見連接圖
* 注意 : 芯片上電后所有與PWM相關的IO口均為高阻態
需將這些口設置為準雙向口或強推挽模式方可正常使用
相關IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2
P2.3/P2.7/P3.7/P4.2/P4.4/P4.5
另外還有P1.0/P1.4兩個口在上電時為強推挽輸出,程序
初始化時也需將這兩個口設置為弱上拉準雙向口模式
* 作者 :12345678
**********************************************************************************/
#include "config.h"
#include "delay.h"
#include "uart.h"
#include "18B20.h"
/************* 功能說明 **************
******************************************/
/************* 本地常量聲明 **************/
/************* 本地變量聲明 **************/
u16 a=0;//測試用
/************* 本地函數聲明 **************/
/************* 外部函數和變量聲明 *****************/
/******************** IO配置函數 **************************/
void GPIO_config(void)
{
P5M0 = 0; //設置準雙向口
P5M1 = 0;
P2M0 = 0; //P2口全部設置為準雙向
P2M1 = 0;
}
/******************** 主函數 **************************/
void main(void)
{
u8 i = 0;
GPIO_config();
UartInit();
while(1)
{
SendString("4路18B20溫度 串口1測試!\r\n");
for(i=0;i<4;i++)
{
// if(Ds18b20Init(i)){
a=Ds18b20ReadTemp(i);
SendString("第 ");
SendData(i+'1');
SendString(" 路溫度 : ");
if(a/10000 == 1)
{ //如果萬位為1,則表示溫度為負
SendData('-'); //輸出負號
}
SendData(a%10000/1000+'0'); //十位
SendData(a%1000/100+'0'); //個位
SendData('.'); //小數點
SendData(a%100/10+'0'); //小數點后第一位
SendData(a%10+'0'); //小數點后第二位
SendString("℃\r\n");
// }else{ //想要不顯示直接去除else這部分
// SendString("第 ");
// SendData(i+'1');
// SendString("路溫度 初始化失敗請檢測\r\n");
// }
}
P55 = 0;
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
// P55 = 1;
// delay_ms(100);
// P55 = 0;
// delay_ms(100);
P55 = 1;
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
}
}
/**************************18B20*******************************/
#include "18B20.h"
#include<intrins.h>
#include "delay.h"
#define DS P2
#define set1(x) (0x01<<(x))
bit Ds18b20Init(u8 m)
{
bit flag=1;
DS = 0;
Delay600us();
DS|=set1(m);
Delay100us();
flag=DS;
Delay600us();
DS|=set1(m);
return (~flag);
}
void Ds18b20WriteByte(u8 dat,m)
{
u8 j;
bit testb ;
for(j=0; j<8; j++)
{
testb = dat&0x01;//取最低位
dat=dat>>1;
if(testb) //置高 1
{
DS =0;
Delay1us();
Delay1us();
DS|=set1(m);
Delay100us(); //>60us
}
else
{
DS =0;
Delay100us(); //大于 60us 小于 120us
DS|=set1(m);
Delay1us();
Delay1us();
}
}
}
u8 Ds18b20ReadByte(u8 m)
{
u8 byte, bi;
u8 j;
for(j=8; j>0; j--)
{
DS =0X00;
Delay1us();
DS|=set1(m);
Delay6us();
bi = DS;
byte = (byte >> 1) | (bi << 7);
Delay48us();
}
return byte;
}
void Ds18b20ChangTemp(u8 m)
{
Ds18b20Init(m);
Delay1ms();
Ds18b20WriteByte(0xcc,m);
Ds18b20WriteByte(0x44,m);
Delay1ms();
}
void Ds18b20ReadTempCom(u8 m)
{
Ds18b20Init(m);
Delay1ms();
Ds18b20WriteByte(0xcc,m);
Ds18b20WriteByte(0xbe,m);
}
int Ds18b20ReadTemp(u8 m)
{
int temp = 0;
u8 tmh, tml;
Ds18b20ChangTemp(m);
Ds18b20ReadTempCom(m);
tml = Ds18b20ReadByte(m);
tmh = Ds18b20ReadByte(m);
if(tmh>0x7f)
{
tml=~tml; //補碼轉換,取反加一
tmh=~tmh+1;
temp=100;
}
temp=temp+tmh*16+tml/16;
temp=temp*100;
temp=temp+((tml&0x0f)*10/16)*10;
temp=temp+(tml&0x0f)*100/16%10;
return (u16)(temp);
}
作者:
7358655
時間:
2019-3-26 22:16
串4個要注意尋址,指器件地址,讀也要器件地址?纯磯永锏。
單片機多路DS18B20測溫報警proteus仿真及程序
435
主題
458
帖子
1萬
黑幣
管理員
Rank: 9Rank: 9Rank: 9
收聽TA 發消息
電梯直達
跳轉到指定樓層 樓主
51黑ff 發表于 2016-9-25 13:53 | 只看該作者 |只看大圖 回帖獎勵
單片機多路DS18B20測溫報警proteus仿真及程序
http://www.zg4o1577.cn/bbs/dpj-56017-1.html
(出處: 單片機論壇)
作者:
erwin095
時間:
2019-3-29 12:41
7358655 發表于 2019-3-26 22:16
串4個要注意尋址,指器件地址,讀也要器件地址?纯磯永锏摹
單片機多路DS18B20測溫報警proteus仿真及 ...
實在太感謝了
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
综合第一页
|
国产日韩精品一区
|
日韩中文久久
|
免费在线观看成人
|
国产精品爱久久久久久久
|
日韩av电影在线观看
|
欧美精三区欧美精三区
|
精品国产一区二区三区观看不卡
|
国产精品免费福利
|
亚洲a视频
|
午夜国产
|
欧美a v在线
|
一区二区av在线
|
91av在线免费播放
|
特级特黄特色的免费大片
|
国产成人综合在线
|
欧美 日韩 国产 成人 在线
|
99亚洲
|
欧美99
|
久久久.com
|
犬夜叉在线观看
|
夜夜骑首页
|
午夜视频大全
|
亚洲第一天堂
|
超碰日韩
|
日韩欧美在线不卡
|
国产在线视频一区
|
二区国产
|
青青久在线视频
|
国产欧美二区
|
超碰日本
|
中文字幕在线视频观看
|
噜噜噜色网
|
欧美精品久久久久久久久久
|
日韩精品亚洲专区在线观看
|
一区二区视频
|
一级黄色录像片子
|
欧美日韩高清一区
|
免费a大片
|
黑人巨大精品欧美一区二区免费
|
精品视频在线免费观看
|