资源简介
stm8s105k4t6 一个74hc595驱动3个数码管测试成功,动态码显示
![](http://www.nz998.com/pic/70302.jpg)
代码片段和文件信息
/*
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个文件信息
相关资源
- STM8S SX1278 项目和源代码
- STM8S003 红外遥控
- STM8S例程,基于IAR下的STM8S例程
- 基于STM8的HT1621B显示驱动程序
- STM8S103系列IO模拟串口通信实现真正串
- STM8S中文参考手册
- STM8s官方固件库
- stm8s006超声波硬件设计电路
- STM8S105C6 ADC三通道采样-调试可用
- 595显示数码管驱动
- STM8S_StdPeriph_Lib_V2.3.1
- stm8s003f3最小系统原理图
- STM8S003F3-数据手册
- STM8S103中文数据手册
- 基于stm8s103f3p6的NRF24L01收发模块资料电
- STM8S的固件库V2.1.0
- stm8s ds18b20 温度传感器 IAR函数库源代
- STM8S固件库
- STM8S003 IAR环境库函数模拟串口
- STM8s003 IAR库函数定时器1输入捕获功能
- STM8S103F3封装库ddb(schpcb)
- sx1278+stm8s lora通信及信号强度提取
- 基于STM8S103F3P6的模拟串口程序
- STM8S207R8(DS18B20)源代码
- 基于STM8的OLED驱动
- stm8s105 数据手册
- stm8s_demo
- STM8s读取AM2303温湿度传感器MODBUS协议
- STM8S103F3例程资料
- stm8s触摸按键库2.5版本
评论
共有 条评论