main.c

来自「STM8s」· C语言 代码 · 共 93 行

C
93
字号

/*

1602液晶显示热敏电阻MF25阻值值
MF25------PE6
GND-------GND
VCC-------VDD


*/

#include "stm8s.h"
#include "stm8s_adc1.h"
#include "stm8s_gpio.h"

#include "lcd162a.h"



u16 r;
u8 i=10;
unsigned long t;

//2m主频下,延迟1ms



void main()
{
//液晶1602要用到PD和PC口
  
		 u8  qian,bai,shi,ge;
	 u16 Conversion_Value = 0;
	  u8 *p1="Hello,world.YSU";


		GPIO_Init(GPIOC, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST );
		
 GPIO_Init(GPIOB, (GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6 |GPIO_PIN_7 |GPIO_PIN_0), GPIO_MODE_OUT_PP_LOW_FAST );
		
	  ADC1_DeInit();
	//初始化ADC,连续转换模式
	ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS,ADC1_CHANNEL_9,ADC1_PRESSEL_FCPU_D18,ADC1_EXTTRIG_TIM,DISABLE,ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL9, DISABLE);

	
	//开始转换
	ADC1_StartConversion();
	
	//	t=ADC1_GetConversionValue();
		
	lcd162a_Reset();
  lcd162a_cls();
	 lcd162a_ePutstr(1,1,p1);  
/*
   putInt((10240000/t-10000));
		putChr('\r');
	putChr('\n');
    putIntLine(t);

*/
	delay_ms(2000);//lcd162c中有定义,延迟2s
	lcd162a_cls();
  
	// lcd_bianliang_128(5, 3,r);
   while(1)
   {

		 lcd162a_cls();
		Conversion_Value=ADC1_GetConversionValue();
		Conversion_Value=(((u32)1024*(u32)10000)/Conversion_Value-10000);
		
		qian=(Conversion_Value/1000);
		bai=(Conversion_Value%1000)/100;
		shi=(Conversion_Value%100)/10;
		ge=(Conversion_Value%10);
		
		
	//	r=(100*(1024-t)/t)*100;
   lcd162a_DispOneChar(1,1,qian+48); 
		lcd162a_DispOneChar(1,2,bai+48); 		lcd162a_DispOneChar(1,3,shi+48); 
		lcd162a_DispOneChar(1,4,ge+48); 
		lcd162a_DispOneChar(1,5,75); 
	
		
		

  
		 delay_ms(500);//lcd162c中有定义
     
   }
	 
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?