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) ;
- }
- }
复制代码
下载:
STM32_DS18B20.rar
(1.3 MB, 下载次数: 183)
|