-
大小: 204KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-05-09
- 語言: 其他
- 標簽: msp430f149??12864??
資源簡介
msp430f149 12864顯示溫度

代碼片段和文件信息
#include?“ds18b20.h“
/*******************************************
函數名稱:DelayNus
功????能:實現N個微秒的延時
參????數:n--延時長度
返回值??:無
說明????:定時器A的計數時鐘是1MHz,CPU主頻8MHz
??????????所以通過定時器延時能夠得到極為精確的
??????????us級延時
********************************************/
void?DelayNus(uint?n)
{
????CCR0?=?n;
????TACTL?|=?MC_1;???????????//增計數到CCR0
????while(!(TACTL?&?BIT0));???//等待
????TACTL?&=?~MC_1;??????????//停止計數
????TACTL?&=?~BIT0;??????????//清除中斷標志
}
/*******************************************
函數名稱:Init_18B20
功????能:對DS18B20進行復位操作
參????數:無
返回值??:初始化狀態標志:1--失敗,0--成功
********************************************/
uchar?Init_18B20(void)
{
????uchar?Error;
????
????DQ_out;
????_DINT();
????DQ0;
????DelayNus(500);
????DQ1;
????DelayNus(55);
????DQ_in;
????_NOP();
????if(DQ_val)??????
????{
????????Error?=?1;??????????//初始化失敗
????}
????else
????{
????????Error?=?0;??????????//初始化成功
????}
????DQ_out;
????DQ1;
????_EINT();
????
????DelayNus(400);
????
????return?Error;
}
/*******************************************
函數名稱:Write_18B20
功????能:向DS18B20寫入一個字節的數據
參????數:wdata--寫入的數據
返回值??:無
********************************************/
void?Write_18B20(uchar?wdata)
{
????uchar?i;
????
????_DINT();
????for(i?=?0;?i?8;i++)
????{
????????DQ0;
????????DelayNus(6);????????????//延時6us
????????if(wdata?&?0X01)????DQ1;
????????else????????????????DQ0;
????????wdata?>>=?1;
????????DelayNus(50);???????????//延時50us
????????DQ1;
????????DelayNus(10);???????????//延時10us
????}
????_EINT();
}
/*******************************************
函數名稱:Read_18B20
功????能:從DS18B20讀取一個字節的數據
參????數:無
返回值??:讀出的一個字節數據
********************************************/
uchar?Read_18B20(void)
{
????uchar?i;
????uchar?temp?=?0;
????
????_DINT();
????for(i?=?0;i?8;i++)
????{
????????temp?>>=?1;
????????DQ0;
????????DelayNus(6);????????????//延時6us
????????DQ1;
????????DelayNus(8);????????????//延時9us
????????DQ_in;
????????_NOP();
????????if(DQ_val)???temp?|=?0x80;
????????DelayNus(45);???????????//延時45us
????????DQ_out;
????????DQ1;
????????DelayNus(10);???????????//延時10us
????}
????_EINT();
????
????return??temp;
}
/*******************************************
函數名稱:Skip
功????能:發送跳過讀取產品ID號命令
參????數:無
返回值??:無
********************************************/
void?Skip(void)
{
????Write_18B20(0xcc);
}
/*******************************************
函數名稱:Convert
功????能:發送溫度轉換命令
參????數:無
返回值??:無
********************************************/
void?Convert(void)
{
????Write_18B20(0x44);
}
/*******************************************
函數名稱:Read_SP
功????能:發送讀ScratchPad命令
參????數:無
返回值??:無
********************************************/
void?Read_SP(void)
{
????Write_18B20(0xbe);
}
/*******************************************
函數名稱:ReadTemp
功????能:從DS18B20的ScratchPad讀取溫度轉換結果
參????數:無
返回值??:讀取的溫度數值
********************************************/
uint?ReadTemp(void)
{
????uchar?temp_low;
????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????27201??2014-08-28?19:33??LCD12864\Debug\Exe\LCD12864.d43
?????文件?????277992??2014-08-28?18:46??LCD12864\Debug\Obj\DS18B20.pbi
?????文件???????9624??2014-08-28?18:46??LCD12864\Debug\Obj\DS18B20.pbi.cout
?????文件??????14535??2014-08-28?18:46??LCD12864\Debug\Obj\DS18B20.r43
?????文件?????462303??2014-08-28?19:33??LCD12864\Debug\Obj\LCD12864.pbd
?????文件?????462303??2014-08-28?19:33??LCD12864\Debug\Obj\LCD12864.pbd.browse
?????文件?????324989??2014-08-28?18:05??LCD12864\Debug\Obj\LCD12864.pbi
?????文件???????9625??2014-08-28?18:05??LCD12864\Debug\Obj\LCD12864.pbi.cout
?????文件??????21732??2014-08-28?18:05??LCD12864\Debug\Obj\LCD12864.r43
?????文件?????313679??2014-08-28?19:33??LCD12864\Debug\Obj\main.pbi
?????文件???????9621??2014-08-28?19:33??LCD12864\Debug\Obj\main.pbi.cout
?????文件??????22548??2014-08-28?19:33??LCD12864\Debug\Obj\main.r43
?????文件???????4001??2014-08-28?18:46??LCD12864\DS18B20.c
?????文件????????557??2014-08-28?18:46??LCD12864\DS18B20.h
?????文件???????5125??2014-08-28?18:05??LCD12864\LCD12864.c
?????文件???????3514??2014-08-28?19:33??LCD12864\LCD12864.dep
?????文件??????20421??2014-08-27?20:03??LCD12864\LCD12864.ewd
?????文件??????52634??2014-08-28?18:25??LCD12864\LCD12864.ewp
?????文件????????162??2014-08-26?16:45??LCD12864\LCD12864.eww
?????文件????????895??2014-08-28?18:05??LCD12864\LCD12864.h
?????文件?????????25??2014-08-28?19:33??LCD12864\LCD12864CustomSfr.sfr
?????文件???????3029??2014-08-28?19:33??LCD12864\main.c
?????文件??????????0??2014-08-28?19:33??LCD12864\path.txt
?????文件???????1442??2014-08-28?19:34??LCD12864\settings\LCD12864.cspy.bat
?????文件???????6077??2014-08-27?21:19??LCD12864\settings\LCD12864.dbgdt
?????文件???????1336??2014-08-28?19:34??LCD12864\settings\LCD12864.dni
?????文件???????4572??2014-08-28?19:33??LCD12864\settings\LCD12864.wsdt
?????目錄??????????0??2014-08-26?19:25??LCD12864\Debug\Exe
?????目錄??????????0??2014-08-26?16:44??LCD12864\Debug\List
?????目錄??????????0??2014-08-28?19:33??LCD12864\Debug\Obj
............此處省略6個文件信息
- 上一篇:設計模式課程設計
- 下一篇:多播發送和接收工具MCastTest
評論
共有 條評論