资源简介
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个文件信息
相关资源
- STM8S003使用手册
- STM8S103定时器1多模式输出PWMCH3单通道
- STM8s003单片机输出7路PWM波
- STM8S003红外遥控支持连发码
- STM8S003 EEROM读写
- STM8S003 PWM功能实现
- STM8S003读取DS18B20温度传感器
- STM8S003模拟串口中断接收
- 摄像头模组-EV76C560+DS90UB913A+STM8S103
- STM8S105C6T6开发板
- STM8S_PWM_LED呼吸灯
- STM8S003-LIS3DH
- STM8S005K6与W25Qxx系列Flash的硬件SPI代码
- stm8s208上移植SD卡驱动和FAT文件系统
- STM8S数据手册
- STM8S207 中文PDF
- 基于stm8s003f3无线充电方案
- STM8函数库中文参考手册+自动生成编辑
- stm8中文参考手册
- 无线315/433通用解码
- STM8S003串口最小代码例程
- STM8S105xx_Datasheet_CH_V6 数据手册 中文
- STM8s207 STM8s208 中文手册
- STM8S参考手册中文版STM8函数库中文参
- TCS3200_2.08S原版.rar
- mpu6050.rar
- STM8S003单片机ADC采样正弦波平均值
- Stm8s003f3p6最小系统
- stm8s003 利用定时器4产生中断程序
评论
共有 条评论