微控制器利用串列埠通訊傳送溫度

2021-07-09 02:59:22 字數 2181 閱讀 7756

/********該程式主要是利用ds18b20採集溫度,然後通過數碼管顯示溫度*************/
/*當程式收到上位機傳送的命令之後,該程式會將當時的溫度值通過串列埠傳送給上位機*/
#include

#define

uchar

unsigned

char

#define

uint

unsigned

int

sbitdq=p1^0;

//定義ds18b20的訊號線埠

uchar

i,j;

uchar

dis_buffer[4];//定義資料緩衝陣列

uchar

bit_ser=;

//定義數碼管片選陣列

uchar

seven_seg=;

//定義數碼管段選陣列

/****************************延時函式*********************************/
void

delay(uint

x)

/*************************ds18b20初始化函式***************************/
void

init_ds18b20(void)

/***************************從18b20中讀乙個位元組************************/
uchar

readonechar(void)

return(dat);

}
/***************************向18b20中寫乙個位元組************************/
write_onechar(uchar

dat)

delay(4);
}
/**************************從18b20中讀取乙個位元組***********************/
int

read_temperature(void)

/***************************初始化定時器0******************************/
void

timer0_init(void)

//

/*************************傳送資料的函式********************************/
void

txd_data(char

send_data)

/********************t0中斷處理函式,主要用於顯示當前溫度***************/
void

timer0_isr(void)interrupt

1

i++;

if(i>=

4)

}
}
/***************************串列埠通訊初始化函式***************************/
void

uart_init(void)

/**************************串列埠中斷處理函式*****************************/
void

uart()interrupt

4

}
ri=

0;

}
/*******************************主函式*********************************/
void

main()

}

微控制器串列埠通訊

微控制器串列埠通訊 通常的usb序列通訊方式為全雙工,即兩條資料線 rxd和txd,一條用於傳送資料,一條用於接收資料。在序列通訊前,需要對序列通訊進行配置。對於微控制器 ri為接受中斷標誌位,未通訊時ri 0 當電腦傳送第乙個位元組幀a0到微控制器時,sbuf a0,中斷標誌位ri 1,微控制器呼...

微控制器串列埠通訊

1 需求 實現電腦端控制微控制器開啟燈光風扇,顯示微控制器傳遞過來的資料 如溫度 濕度等 2 工具 平台軟體 驅動人生 vs2012 keil4 3 下面就開始吧 4 檢視我們當前的通訊埠號 如圖 然後確定我們微控制器的晶振,我是用的是11.0592m的 即9600 差不多我們就可以開始我們的開發了...

微控制器串列埠通訊

1 每隔1秒鐘,a向b通過串列埠傳送乙個位元組c num 該位元組按照0x00 0x09迴圈,例如某一時刻傳送c num 0x 3 2 b接收到資料後,做9 c num的計算,並將計算結果通過串列埠傳送給a微控制器。例如b接收到0x03,則b要通過串列埠返回0x09 0x03 0x06給微控制器a ...