• 大小: 563KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签: stm8s  

资源简介

stm8s105k4t6 一个74hc595驱动3个数码管测试成功,动态码显示

资源截图

代码片段和文件信息


/* 
ADC采集PB4 一个控制3个数码管的显示
  ADC采集的温度用数码管显示出来 (74hc595用spi的方式发送)

Includes ------------------------------------------------------------------*/
#include “stm8s.h“
#include “stdio.h“
#include “stm8s105k4.h“
#include “stm8s_delay.h“
//#include “stm8s_adc1.h“
//#indlude “stm8s_tim1.h“
#include “74hc595.h“

char ans;
unsigned int ij=0;
unsigned int newadc12oldadc12;
void main(void)
{
_asm(“rim“);
//_asm(“sim“);
  //初始化时时
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
   
 //初始化串口
  UART2_DeInit();
  UART2_Init((uint32_t)115200 UART2_WORDLENGTH_8D UART2_STOPBITS_1 UART2_PARITY_NO
              UART2_SYNCMODE_CLOCK_DISABLE UART2_MODE_TXRX_ENABLE);

  //初始化工作状态指示LED PE5
GPIO_Init(GPIOE GPIO_PIN_5 GPIO_MODE_OUT_PP_LOW_FAST);//状态LED

//初始化ADC采集端口PB0enable
GPIO_Init(GPIOB GPIO_PIN_4 GPIO_MODE_IN_FL_NO_IT);//PB0

  //初始化ADC

CLK_PeripheralClockConfig(CLK_PERIPHERAL_ADC ENABLE);
ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS ADC1_CHANNEL_4 ADC1_PRESSEL_FCPU_D2 ADC1_EXTTRIG_TIM ENABLE ADC1_ALIGN_RIGHT ADC1_SCHMITTTRIG_CHANNEL0 DISABLE);
ADC1_DataBufferCmd(ENABLE);
ADC1_StartConversion();
spi_init(); 
gpio_init();
Init_Timere2();

GPIO_Init(GPIOC GPIO_PIN_1 GPIO_MODE_OUT_PP_LOW_FAST);
//输出引脚设置为推挽
TIM1_DeInit();
//定时器1初始化
TIM1_TimebaseInit(0x0000 TIM1_COUNTERMODE_UP 1024 0x00);

TIM1_OC1Init(TIM1_OCMODE_PWM2 TIM1_OUTPUTSTATE_ENABLE TIM1_OUTPUTNSTATE_DISABLE 1024 TIM1_OCPOLARITY_LOW TIM1_OCNPOLARITY_HIGH TIM1_OCIDLESTATE_SET TIM1_OCNIDLESTATE_SET);
//1,pwm模式2;2启用输出比较;3,禁止互补输出,4,脉冲宽度值1024;
//5,输出比较极性低电平,6,互补输出比较极性高电平,
//7,输出比较空闲状态置位,8互补输出比较空闲状态置位
TIM1_Cmd(ENABLE);

TIM1_CtrlPWMOutputs(ENABLE);

//DISP_Display();


//printf(“STM8S105K4T6C ADC采集测试:\n\r“); 

  while (1)
  {
    //ans = getchar();
//TIM1_CtrlPWMOutputs(ENABLE);
//GPIO_WriteHigh(GPIOE GPIO_PIN_5);
// stm8s_DelayMS(2000);

//GPIO_WriteLow(GPIOE GPIO_PIN_5);
//stm8s_DelayMS(500);

//其它通道使用以下函数读到转换值
//newadc12 = ADC1_GetBufferValue(0);

//12通道使用以下函数读到转换值
while(!ADC1_GetFlagStatus(ADC1_FLAG_EOC));
newadc12 =  ADC1_GetBufferValue(4);

ADC1_ClearFlag(ADC1_FLAG_AWS0);

if(newadc12!=oldadc12)
{
oldadc12=newadc12;
printf(“ADC12采集到的值=“); 
printf(“%d;\n\r“(unsigned int)newadc12); 
printf(“循环次数=“); 
      //printf(“%d;\n\r“(unsigned int)newadc12); 
    printf(“%d;\n\r“(unsigned int)ij); 
}
ij++;
TIM1->CCR1H = (uint8_t)(newadc12 >> 8);
    TIM1->CCR1L = (uint8_t)(newadc12);
//DISP_Display();
  }
}



#ifdef USE_FULL_ASSERT
void assert_failed(uint8_t* file uint32_t line)

  while (1)
  {
  }
}
#endif

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3744  2018-01-30 15:57  数码管105K4T6_ADC+PWM\74HC595\74HC595.c

     文件        252  2018-01-30 09:11  数码管105K4T6_ADC+PWM\74HC595\74HC595.h

     文件      17082  2018-01-30 16:01  数码管105K4T6_ADC+PWM\Debug\74hc595.ls

     文件      20269  2018-01-30 16:01  数码管105K4T6_ADC+PWM\Debug\74hc595.o

     文件       1938  2017-11-29 08:44  数码管105K4T6_ADC+PWM\Debug\delay.ls

     文件       1087  2017-11-29 08:44  数码管105K4T6_ADC+PWM\Debug\delay.o

     文件       9090  2018-01-30 16:01  数码管105K4T6_ADC+PWM\Debug\main.ls

     文件      16671  2018-01-30 16:01  数码管105K4T6_ADC+PWM\Debug\main.o

     文件      43890  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_adc1.ls

     文件      18340  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_adc1.o

     文件      39270  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_clk.ls

     文件      18840  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_clk.o

     文件       1957  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_delay.ls

     文件       1263  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_delay.o

     文件      10159  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_exti.ls

     文件       4482  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_exti.o

     文件      10444  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_gpio.ls

     文件       6918  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_gpio.o

     文件       7318  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_it.ls

     文件       8357  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_it.o

     文件      22081  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_itc.ls

     文件       5767  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_itc.o

     文件      19005  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_spi.ls

     文件      11769  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_spi.o

     文件     116232  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_tim1.ls

     文件      57916  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_tim1.o

     文件      63401  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_tim2.ls

     文件      32540  2018-01-30 15:02  数码管105K4T6_ADC+PWM\Debug\stm8s_tim2.o

     文件      38537  2017-11-30 09:55  数码管105K4T6_ADC+PWM\Debug\stm8s_uart1.ls

     文件      20111  2017-11-30 09:55  数码管105K4T6_ADC+PWM\Debug\stm8s_uart1.o

............此处省略95个文件信息

评论

共有 条评论