STM32溫度傳感器(DS18B20)實驗,可通過TFT顯示屏顯示,值得參考
- /* tanqi TFT*/
- #include "stm32f10x_lib.h"
- #include "tft.h"
- #include"DS18B20.h"
- extern u8 presence;
- /**************************************************************
- 系統時鐘初始化
- ****************************************************************/
- void RCC_Configuration(void)
- {
- ErrorStatus HSEStartUpStatus;
- RCC_DeInit();
- RCC_HSEConfig(RCC_HSE_ON); //高速外部時鐘信號的設置
- HSEStartUpStatus = RCC_WaitForHSEStartUp(); //等待HSE準備好
- if(HSEStartUpStatus == SUCCESS)
- {
- FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //使能預取指緩存
-
- FLASH_SetLatency(FLASH_Latency_2); //設置代碼延時值
- RCC_HCLKConfig(RCC_SYSCLK_Div1); // 設置 AHB(系統總線) 時鐘(HCLK)
- RCC_PCLK2Config(RCC_HCLK_Div1); //設置高速 AHB 時鐘(PCLK2)
- RCC_PCLK1Config(RCC_HCLK_Div2); //設置低速 AHB 時鐘(PCLK1)
-
- RCC_ADCCLKConfig(RCC_PCLK2_Div4); //ADC時鐘
- RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //設置 PLL 時鐘源及倍頻系數 PLLCLK = 8MHz * 9 = 72 MHz
- RCC_PLLCmd(ENABLE);//使能PLL
- while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) // 等待PLL 就緒
- {
- }
- RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //設置系統時鐘
- while(RCC_GetSYSCLKSource() != 0x08) // Wait till PLL is used as system clock source
- {
- }
- }
- }
- int main(void)
- {
- RCC_Configuration();
- TFT_GPIO_Config();
- ILI9325_Initial();
- ClearScreen(0xF800);//背景顏色
- LCD_PutString(0,100,"我愛 1 2 3!!??",Black,Magenta);
- while (1)
- {
- do
- {
- delayms(500); //適當調整,防止1820一直轉換產生內熱
- Read_Temperature(); //讀溫度值
- Disp_Temperature(); //溫度值處理
- }
- while(!presence) ;
- }
- }
復制代碼
0.png (45.11 KB, 下載次數: 75)
下載附件
2017-4-20 03:08 上傳
下載:
STM32_DS18B20.rar
(1.3 MB, 下載次數: 183)
2017-4-19 15:03 上傳
點擊文件名下載附件
STM32_18B20 下載積分: 黑幣 -5
|