《max7219驱动数码管程序(51单片机+STM32 MAX7219数码管程序案例).doc》由会员分享,可在线阅读,更多相关《max7219驱动数码管程序(51单片机+STM32 MAX7219数码管程序案例).doc(2页珍藏版)》请在三一文库上搜索。
1、max7219驱动数码管程序(51单片机+STM32 MAX7219数码管程序案例)1、STM32 硬件SPI max7219 8位数码管显示模块数码管模块电路图/*Updated TIme: 12th,12,2015FuncTIon:通过MAX7219驱动数码管*/#include delay.h#include sys.h#include usart.h/串口通信#define Max7219_pinCLK PAout(5)#define Max7219_pinCS PAout(3)#define Max7219_pinDIN PAout(7)/* 名称:SPI1_Init(void)*
2、功能:STM32_SPI1硬件配置初始化* 入口参数:无* 出口参数:无* 说明:STM32_SPI1硬件配置初始化,使用3V3*/void SPI1_Init(void)SPI_InitTypeDef SPI1_InitStructure;GPIO_InitTypeDef GPIO_InitStructure;/配置SPI1管脚RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);GPIO_InitS
3、tructure.GPIO_Pin=GPIO_Pin_3;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOA,GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;/SPI1相关引脚GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStruc
4、ture.GPIO_Mode=GPIO_Mode_AF_PP;/推挽复用功能GPIO_Init(GPIOA,GPIO_InitStructure);SPI1_InitStructure.SPI_DirecTIon=SPI_DirecTIon_2Lines_FullDuplex;/设置SPI单向或者双向的数据模式;SPI设置为双线双向全双工SPI1_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_64;/定义波特率预分频值;波特率预分频64SPI1_InitStructure.SPI_DataSize=SPI_DataSize_
5、8b;/设置SPI的数据大小;SPI发送接收8位帧结构SPI1_InitStructure.SPI_Mode=SPI_Mode_Master;/设置SPI工作模式;设置为主SPISPI1_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB; /高位MSB在先SPI1_InitStructure.SPI_CPOL = SPI_CPOL_High; /选择了串行时钟的稳态,时钟悬空高SPI1_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;/数据捕获于第二个时钟沿SPI1_InitStructure.SPI_NSS = SPI_NSS_Soft; /使用软件模式,SPI1_InitStructure.SPI_CRCPolynomial = 7;/CRC值计算的多项式SPI_I2S_DeInit(SPI1);SPI_Init(SPI1, SPI1_InitStructure); /根据指定的参数初始化SPI_Cmd(SPI1, ENABLE); /SPI使能