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

資源簡介

此代碼詳細敘述了DS18B20的單總線的序列號讀取方式來讀取溫度值,處理器是單片機,應用數量更少的io資源

資源截圖

代碼片段和文件信息

#include?“reg51.h“
#include?“intrins.h“

typedef?unsigned?char?BYTE;
typedef?unsigned?int?WORD;
#define?FOSC?11059200L??????????//系統頻率
#define?BAUD?9600?????????????//串口波特率
#define?NONE_PARITY?????0???????//無校驗
#define?ODD_PARITY??????1???????//奇校驗
#define?EVEN_PARITY?????2???????//偶校驗
#define?MARK_PARITY?????3???????//標記校驗
#define?SPACE_PARITY????4???????//空白校驗
#define?PARITYBIT?EVEN_PARITY???//定義校驗位
sfr?AUXR??=?0x8e;???????????????//輔助寄存器
sfr?T2H???=?0xd6;???????????????//定時器2高8位
sfr?T2L???=?0xd7;???????????????//定時器2低8位
sfr?P_SW1???=?0xA2;?????????????//外設功能切換寄存器1
#define?S1_S0?0x40??????????????//P_SW1.6
#define?S1_S1?0x80??????????????//P_SW1.7
sbit?P22?=?P2^2;
bit?busy;
void?uartInit();
void?SendData(BYTE?dat);
//void?SendString(char?*s);
void?Delay500ms(); ?????????//@11.0592MHz的軟件延時
extern?void?Get_Temp();????????//調用外部溫度函數
/*==================================*/
/**********主函數***************/
/*========================================*/
void?main()
{???
uartInit();
????while(1)
{
Get_Temp();
Delay500ms();
Delay500ms();
}
}
/*============================
串口初始化
=============================*/
void?uartInit()
{
ACC?=?P_SW1;
????ACC?&=?~(S1_S0?|?S1_S1);????//S1_S0=0?S1_S1=0
????P_SW1?=?ACC;????????????????//(P3.0/RxD?P3.1/TxD)


#if?(PARITYBIT?==?NONE_PARITY)
????SCON?=?0x50;????????????????//8位可變波特率
#elif?(PARITYBIT?==?ODD_PARITY)?||?(PARITYBIT?==?EVEN_PARITY)?||?(PARITYBIT?==?MARK_PARITY)
????SCON?=?0xda;????????????????//9位可變波特率校驗位初始為1
#elif?(PARITYBIT?==?SPACE_PARITY)
????SCON?=?0xd2;????????????????//9位可變波特率校驗位初始為0
#endif

????T2L?=?(65536?-?(FOSC/4/BAUD));???//設置波特率重裝值
????T2H?=?(65536?-?(FOSC/4/BAUD))>>8;
????AUXR?=?0x14;????????????????//T2為1T模式?并啟動定時器2
????AUXR?|=?0x01;???????????????//選擇定時器2為串口1的波特率發生器
????ES?=?1;?????????????????????//使能串口1中斷
????EA?=?1;
}
/*----------------------------
UART?中斷服務程序
-----------------------------*/
void?Uart()?interrupt?4?using?1
{
????if?(RI)
????{
????????RI?=?0;?????????????????//清除RI位
????????P0?=?SBUF;??????????????//P0顯示串口數據
????????P22?=?RB8;??????????????//P2.2顯示校驗位
????}
????if?(TI)
????{
????????TI?=?0;?????????????????//清除TI位
????????busy?=?0;???????????????//清忙標志
????}
}

/*----------------------------
發送串口數據
----------------------------*/
void?SendData(BYTE?dat)
{
????while?(busy);???????????????//等待前面的數據發送完成
????ACC?=?dat;??????????????????//獲取校驗位P?(PSW.0)
????if?(P)??????????????????????//根據P來設置校驗位
????{
#if?(PARITYBIT?==?ODD_PARITY)
????????TB8?=?0;????????????????//設置校驗位為0
#elif?(PARITYBIT?==?EVEN_PARITY)
????????TB8?=?1;????????????????//設置校驗位為1
#endif
????}
????else
????{
#if?(PARITYBIT?==?ODD_PARITY)
????????TB8?=?1;????????????????//設置校驗位為1
#elif?(PARITYBIT?==?EVEN_PARITY)
????????TB8?=?0;????????????????//設置校驗位為0
#endif
????}
????busy?=?1;
????SBUF?=?ACC;?????????????????//寫數據到UART數據寄存器
}

/*----------------------------
發送字符串
----------------------------

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4226??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\DS18.C

?????文件???????8104??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\DS18.LST

?????文件???????5943??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\DS18.OBJ

?????文件???????6376??2009-05-07?14:37??所有傳感器匹配ROM溫度讀數\STARTUP.A51

?????文件??????14058??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\STARTUP.LST

?????文件????????749??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\STARTUP.OBJ

?????文件???????3702??2014-10-05?09:35??所有傳感器匹配ROM溫度讀數\匹配ROM讀取溫度.c

?????文件???????7009??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\匹配ROM讀取溫度.LST

?????文件???????5752??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\匹配ROM讀取溫度.OBJ

?????文件??????11029??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\序列號

?????文件???????1949??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\序列號.hex

?????文件?????????67??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\序列號.lnp

?????文件??????14091??2014-10-05?12:53??所有傳感器匹配ROM溫度讀數\序列號.M51

?????文件????????893??2014-10-05?13:24??所有傳感器匹配ROM溫度讀數\序列號.plg

????.......?????56323??2014-10-05?13:24??所有傳感器匹配ROM溫度讀數\序列號.uvopt

?????文件??????13597??2014-09-30?19:11??所有傳感器匹配ROM溫度讀數\序列號.uvproj

????.......?????56321??2014-10-05?13:21??所有傳感器匹配ROM溫度讀數\序列號_uvopt.bak

?????文件??????13235??2014-09-29?10:02??所有傳感器匹配ROM溫度讀數\序列號_uvproj.bak

?????目錄??????????0??2014-10-05?13:24??所有傳感器匹配ROM溫度讀數

-----------?---------??----------?-----??----

???????????????223424????????????????????19


評論

共有 條評論