资源简介
STM32用SPI与74HC595通讯,串行数据转并行,可应用为O口拓展,或者是驱动多个LED数码管
代码片段和文件信息
#include “stm32f10x.h“
#include “platform_config.h“
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
//uint8_t PWMValues[40];
uint16_t PrescalerValue=0;
uint8_t Led_Counter=0;
uint8_t Led_Value=0xFF;
uint16_t CCR1_Val = 1;
/* Private functions ---------------------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);
void TIM_Configuration(void);
void SPI_Configuration(void);
void Delay(__IO uint32_t);
/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
/*!< At this stage the microcontroller clock setting is already configured
this is done through SystemInit() function which is called from startup
file (startup_stm32f10x_xx.s) before to branch to application main.
To reconfigure the default setting of SystemInit() function refer to
system_stm32f10x.c file
*/
/* System clocks configuration ---------------------------------------------*/
RCC_Configuration();
/* NVIC configuration ------------------------------------------------------*/
NVIC_Configuration();
/* GPIO configuration ------------------------------------------------------*/
GPIO_Configuration();
/* SPI configuration ------------------------------------------------------*/
SPI_Configuration();
/* TIM configuration ------------------------------------------------------*/
TIM_Configuration();
while(1)
{
if(Led_Value==0) Led_Value=0xff;
else Led_Value <<=1;
Delay(5000000);
}
}
/**
* @brief Configures the different system clocks.
* @param None
* @retval None
*/
void RCC_Configuration(void)
{
/* Enable peripheral clocks --------------------------------------------------*/
/* SPI GPIO and AFIO clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO ENABLE);
/* Enable SPI clock for 74HC595 shift registers */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3 ENABLE);
/* TIM2 clock enable */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 ENABLE);
}
/**
* @brief Configures the different GPIO ports.
* @param None
* @retval None
*/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* Disable the Serial Wire Jtag Debug Port SWJ-DP */
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable ENABLE);
/* Configure SPI_MASTER pins: SCK and MOSI ---------------------------------*/
/* Configure SCK and MOSI pins as Alternate Function Push Pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStru
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7444 2014-05-15 18:21 Project\main.c
文件 2309 2014-05-14 19:39 Project\platform_config.h
文件 77269 2014-05-15 18:24 Project\RVMDK\List\SPI_74HC595.map
文件 65291 2014-05-15 16:38 Project\RVMDK\List\startup_stm32f10x_hd.lst
文件 3557 2014-05-15 16:38 Project\RVMDK\Obj\core_cm3.crf
文件 115 2014-05-15 16:38 Project\RVMDK\Obj\core_cm3.d
文件 10488 2014-05-15 16:38 Project\RVMDK\Obj\core_cm3.o
文件 350123 2014-05-15 18:21 Project\RVMDK\Obj\main.crf
文件 2196 2014-05-15 18:21 Project\RVMDK\Obj\main.d
文件 384284 2014-05-15 18:21 Project\RVMDK\Obj\main.o
文件 349179 2014-05-15 16:38 Project\RVMDK\Obj\misc.crf
文件 2269 2014-05-15 16:38 Project\RVMDK\Obj\misc.d
文件 381580 2014-05-15 16:38 Project\RVMDK\Obj\misc.o
文件 388924 2014-05-15 18:24 Project\RVMDK\Obj\SPI_74HC595.axf
文件 23001 2014-05-15 18:24 Project\RVMDK\Obj\SPI_74HC595.hex
文件 69724 2014-05-15 18:24 Project\RVMDK\Obj\SPI_74HC595.htm
文件 479 2014-05-15 18:24 Project\RVMDK\Obj\SPI_74HC595.lnp
文件 188 2014-05-16 18:44 Project\RVMDK\Obj\SPI_74HC595.plg
文件 479 2014-04-05 08:06 Project\RVMDK\Obj\SPI_74HC595.sct
文件 1628 2014-05-15 18:24 Project\RVMDK\Obj\SPI_74HC595.tra
文件 117 2014-05-15 16:38 Project\RVMDK\Obj\startup_stm32f10x_hd.d
文件 6896 2014-05-15 16:38 Project\RVMDK\Obj\startup_stm32f10x_hd.o
文件 352677 2014-05-15 16:38 Project\RVMDK\Obj\stm32f10x_gpio.crf
文件 2599 2014-05-15 16:38 Project\RVMDK\Obj\stm32f10x_gpio.d
文件 388024 2014-05-15 16:38 Project\RVMDK\Obj\stm32f10x_gpio.o
文件 352016 2014-05-15 18:24 Project\RVMDK\Obj\stm32f10x_it.crf
文件 2493 2014-05-15 18:24 Project\RVMDK\Obj\stm32f10x_it.d
文件 394396 2014-05-15 18:24 Project\RVMDK\Obj\stm32f10x_it.o
文件 425 2014-05-15 18:24 Project\RVMDK\Obj\stm32f10x_it.__i
文件 356252 2014-05-15 16:38 Project\RVMDK\Obj\stm32f10x_rcc.crf
............此处省略30个文件信息
- 上一篇:软件工程期末复习总结
- 下一篇:Hausdorff距离匹配代码
相关资源
- 基于arduino利用两个74hc595制作的16灯旋
- 基于74hc595和74hc138的点阵原理图及程序
- 两片74HC595显示4位数码程序(C51单片机
- 51单片机驱动74hc595芯片的程序
- 基于74HC595串行数码管动态显示.rar
- 74HC595级联操作
- 51单片机驱动74hc595去控制8位数码管
- 基于单片机的LED点阵显示系统设计
- 74HC595级联输出原理图+程序+仿真prot
- Proteus仿真:arduino通过SPI驱动lcd1602(
- 74HC595-SOP16封装库
- HAL库版本,硬件SPI驱动74HC595
- 16x16 LED点阵 74hc164 74hc595 仿真DSN
- 74HC595芯片中文资料
- 16x16 LED点阵 驱动 74hc164 74hc595 参考电
- 16x16 LED点阵 驱动 74hc164 74hc595
- 74HC595和ZLG7290中文资料
- 基于74HC595的LED流水灯 带实物图
- SPI接口与74HC595的连接原理图
- 一个74hc595驱动3个数码管
- 74HC595显示程序
- 89C2051+DS1302+74HC595+8位LED数码管的电子
- 16*64点阵 74HC154 ,74HC595
- 74HC595流水灯程序
- 74hc595详解符程序原理图
- 74HC595的驱动和测试程序
- Linux下74HC595的驱动程序控制数码管
- 基于PIC单片机的电子时钟设计
- 74HC595级联动态显示的C程序
- STM32中74hc595初始化函数
评论
共有 条评论