标题:
STM32模拟液位检测告警源程序
[打印本页]
作者:
zpwgf
时间:
2019-7-22 11:00
标题:
STM32模拟液位检测告警源程序
基于STM32f103vet6单片机
模拟液位检测告警,往届蓝桥杯赛题程序,完成基本要求,多有不足,互相学习
IMG_20190722_105649.jpg
(2.22 MB, 下载次数: 39)
下载附件
2019-7-22 10:58 上传
单片机源程序如下:
#include "stm32f10x.h"
#include "./lcd/bsp_ili9341_lcd.h"
#include "./usart/bsp_usart.h"
#include "./adc/bsp_adc.h"
#include "./led/bsp_led.h"
#include <stdio.h>
static void LCD_Test(void);
static void Delay ( __IO uint32_t nCount );
uint16_t TimeDisplay = 0;
u8 ADC_Flag=0;
u32 TimingDelay = 0;
float ADC_VALUE;
float ADC_VALU;
float ADC_VAL;
u8 low=20,mid,high=70;
u8 level;
u8 dispBuff[20];
void Printf_Charater(void) ;
void ADC_Read(void);
/**
* @brief 主函数
* @param 无
* @retval 无
*/
int main ( void )
{
ILI9341_Init (); //LCD 初始化
ADCx_Init();
LED_GPIO_Config();
ILI9341_GramScan ( 6 );
LCD_SetColors(RED,BLACK);
ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,显示全黑 */
while ( 1 )
{
LCD_SetColors(YELLOW,BLACK);
ILI9341_DispStringLine_EN(LINE(5)," STM32 Singlechip ");
ILI9341_DispStringLine_EN(LINE(7)," ADC Acquisition experiment ");
ADC_Read();
}
}
void ADC_Read(void)
{
ADC_SoftwareStartConvCmd(ADCx, ENABLE);
ADC_VALUE=ADC_GetConversionValue(ADCx)*3.3/0xfff;
sprintf((char*)dispBuff,"%s%.2fV "," ADC: ", ADC_VALUE);
ILI9341_DispStringLine_EN(LINE(9),dispBuff);
ADC_VALU =ADC_VALUE*30.303;
sprintf((char*)dispBuff,"%s%.2f cm "," Hight: ",ADC_VALU);
ILI9341_DispStringLine_EN(LINE(11) ,dispBuff);
ADC_VAL=ADC_VALUE;
if(ADC_VALU>high)
{
ILI9341_DispStringLine_EN(LINE(13)," Level: 3 ");
LED_RED;
}
else if(ADC_VALU<high&&ADC_VALU>low)
{
ILI9341_DispStringLine_EN(LINE(13)," Level: 2 ");
LED_YELLOW;
}
else if(ADC_VALU<low)
{
ILI9341_DispStringLine_EN(LINE(13)," Level: 1 ");
LED_CYAN;
}
}
static void Delay ( __IO uint32_t nCount )
{
for ( ; nCount != 0; nCount -- );
}
/* ------------------------------------------end of file---------------------------------------- */
复制代码
所有资料51hei提供下载:
模拟液位检测告警.7z
(215.12 KB, 下载次数: 23)
2019-7-23 02:56 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1