基于STM32的DS18B20溫度遠(yuǎn)程監(jiān)測LCD1602顯示Proteus仿真設(shè)計(仿真+程序+設(shè)計報告+講解視頻)
仿真圖proteus 8.9
程序編譯器:keil 5
編程語言:C語言
設(shè)計編號:C0117
1. 主要功能
基于STM32單片機(jī)的溫度測量系統(tǒng)LCD1602顯示Proteus仿真設(shè)計
1、STM32單片機(jī)實(shí)時檢測DS18B20溫度測量,溫度測量范圍-55到128℃,測量精度±0.1℃;
2、串口實(shí)時傳輸檢測溫度給電腦串口調(diào)試助手,以此實(shí)現(xiàn)遠(yuǎn)程監(jiān)測;
3、LCD1602實(shí)時顯示監(jiān)測到的溫度;
STM32單片機(jī) DS18B20 LCD1602
資料下載鏈接(可點(diǎn)擊):
通過網(wǎng)盤分享的文件:KEY_C0117
鏈接: https://pan.baidu.com/s/1IlOFlIM-m6ZiV_PhHbaMSw?pwd=a6pq
提取碼: a6pq
2.仿真
打開仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開始仿真。
開始仿真后串口調(diào)試助手顯示溫度檢測值,LCD1602第一行顯示溫度檢測值38.2℃
3. 程序
程序是用keil5 mdk版本打開的,如果打開有問題,核實(shí)下keil的版本。程序是HAL版本編寫的,有stm32cubemx配置文件。有注釋可以結(jié)合講解視頻理解。
軟件流程框圖:
int main(void)
{
/* USER CODE BEGIN 1 */
char data_str1[20];
// char data_str2[20];
char data_str2[]=" ";
float temp;
char str[20]; //溫度值轉(zhuǎn)換為字符串的存放數(shù)組
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART1_UART_Init();
MX_TIM2_Init();
/* USER CODE BEGIN 2 */
// printf("DS18B20測溫實(shí)驗(yàn)nr");
HAL_UART_Transmit(&huart1, (uint8_t *)&"DS18B20rn", 10, 10); //串口1發(fā)送字符串,數(shù)組長度為10,
LCD_Init(); //LCD1602初始化
// DS18B20_Get_Temp();
// HAL_TIM_Base_Start_IT(&htim2); //初始化定時器
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_Delay(500);
temp=DS18B20_Get_Temp();//獲取溫度值
sprintf(str,"%0.1f",temp);
if(temp==-0.0){
temp=DS18B20_Get_Temp();//獲取溫度值
}
HAL_UART_Transmit(&huart1, (uint8_t *)str, 6, 10); //串口1發(fā)送字符串,數(shù)組長度為6,超時10ms
HAL_UART_Transmit(&huart1, (uint8_t *)&"Crn", 3, 10); //串口1發(fā)送字符串,數(shù)組長度為3,超時10ms
memset(str,0,strlen(str));
sprintf(data_str1,"temp=%4.1f n",temp); //寫字符到data_str1
data_str1[10]=0xdf;
data_str1[11]='C';
LCD_ShowString(0,0,data_str1); //LCD1602顯示第一行
LCD_ShowString(1,0,data_str2); //LCD1602顯示第二行
memset(str,0,strlen(data_str1));
}
/* USER CODE END 3 */
}
4. 設(shè)計報告
9855字設(shè)計報告,內(nèi)容包括硬件設(shè)計、軟件設(shè)計、結(jié)論等。
隨著物聯(lián)網(wǎng)和嵌入式技術(shù)的快速發(fā)展,溫度監(jiān)測系統(tǒng)在工業(yè)控制、農(nóng)業(yè)環(huán)境監(jiān)測、智能家居等領(lǐng)域需求日益增長。傳統(tǒng)溫度監(jiān)測系統(tǒng)存在精度低、顯示方式單一、數(shù)據(jù)交互性差等問題。本設(shè)計基于STM32單片機(jī),結(jié)合DS18B20高精度溫度傳感器和LCD1602液晶顯示屏, 通過Proteus仿真實(shí)現(xiàn)一套低成本、高可靠性的溫度報警系統(tǒng)。
通過本次設(shè)計,我們希望能夠提高對單片機(jī)的理解和應(yīng)用能力。通過實(shí)踐和探索,我們希望能夠掌握相關(guān)的硬件和軟件設(shè)計方法,為今后的學(xué)習(xí)和工作打下堅(jiān)實(shí)的基礎(chǔ)。同時,我們也希望能夠通過這次設(shè)計,培養(yǎng)我們的團(tuán)隊(duì)協(xié)作能力和創(chuàng)新精神。
5. 資料清單&下載鏈接
0、常見使用問題及解決方法–必讀?。。。?/p>
1、程序代碼
2、Proteus仿真
3、功能要求
4、開題報告
5、設(shè)計報告
6、講解視頻
7、框圖
8、串口調(diào)試助手
Altium Designer 安裝破解
KEIL+proteus 單片機(jī)仿真設(shè)計教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡易使用教程
單片機(jī)學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊
答辯技巧
設(shè)計報告常用描述
鼠標(biāo)雙擊打開查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計.url
通過網(wǎng)盤分享的文件:KEY_C0117
鏈接: https://pan.baidu.com/s/1IlOFlIM-m6ZiV_PhHbaMSw?pwd=a6pq
提取碼: a6pq