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

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

資源簡介

基于mega128的ds18b20+串口程序 實測通過,通過串口1上傳至上位機

資源截圖

代碼片段和文件信息

//溫度加串口程序//

?
//初始化定義
#include
#include
#define ?F_CPU 8000000
#define?fosc?8000000?//晶振?8MHZ
#define?baud?9600?//波特率
#define?DQ_IN ????????DDRE?&=?~(1?<#define?DQ_OUT ????????DDRE?|=?(1?<#define?DQ_CLR ????????PORTE?&=?~(1?<#define?DQ_SET ????????PORTE?|=?(1?<#define?DQ_R ????????PINE?&?(1?<unsigned?int?temp_valuetemp_htemp_l;
unsigned?int?tempA1A2A3;A4;



//?延時程序??10倍
void?delay_us(unsigned?int?i)
{
??????unsigned?int?j;
??????for(;i!=0;i--)
??????????{_delay_us(10);
???????????}
}

//*************************************************************************?
// DS18B20初始化
//*************************************************************************

unsigned?char?DS18B20_Reset(void)?????????????????//初始化和復位

{
unsigned?char?i;
????DQ_OUT;
DQ_CLR;
delay_us(50); //延時500uS(480-960)
DQ_SET;
DQ_IN;
delay_us(8); //延時80uS
i?=?DQ_R;
delay_us(50); //延時500uS(保持>480uS)

if?(i)?
????????{
return?0x00;

????????}
else?
????????{
return?0x01;

????????}

}
//*************************************************************************?
// DS18B20讀一個字節函數
//*************************************************************************?
???
unsigned?char?ds1820_read_byte(void)?
{

unsigned?char?i;
unsigned?char?value?=?0;
for?(i?=?8;?i?!=?0;?i--)?
????????{
value?>>=?1;
DQ_OUT;
DQ_CLR;
????????delay_us(1); //*延時4uS

DQ_SET;
DQ_IN;
????????delay_us(1); //*延時10uS

if?(DQ_R)?
????????????????{
value|=0x80;

????????????????}
delay_us(6); ???????//*延時60uS

????????}

return(value);
}
//*************************************************************************?
// 向18B20寫一個字節函數
//*************************************************************************??

/*DS18B20字節寫入函數*/
void?ds1820_write_byte(unsigned?char?value)?
{

unsigned?char?i;
for?(i?=?8;?i?!=?0;?i--)?
????????{
DQ_OUT;
DQ_CLR;
????????delay_us(1); //延時4uS
if?(value?&?0x01)?
????????????????{
DQ_SET;

????????????????}
delay_us(8); //延時80uS
DQ_SET; ????????//位結束
value?>>=?1;

????????}

}
//*************************************************************************
// 發送溫度轉換命令
//*************************************************************************?

/*啟動ds1820轉換*/
void?ds1820_start(void)?{

DS18B20_Reset();
ds1820_write_byte(0xCC); //勿略地址
ds1820_write_byte(0x44); //啟動轉換
}

//*************************************************************************
// DS8B20讀取溫度信息
//*************************************************************************?

unsigned?int?ds1820_read_temp(void)?
{

unsigned?int?i;
unsigned?char?buf[9];

DS18B20_Reset();
ds1820_write_byte(0xCC); //勿略地址
ds1820_write_byte(0xBE); //讀取溫度
for?(i?=?0;?i??????{
? ??buf[i]?=?ds182

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????5392??2013-04-18?15:44??uart3.c

評論

共有 條評論