資源簡介
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個文件信息
評論
共有 條評論