使用stm32 spi总线控制lcd12864

上传人:小** 文档编号:93346596 上传时间:2019-07-20 格式:DOC 页数:5 大小:40.50KB
返回 下载 相关 举报
使用stm32 spi总线控制lcd12864_第1页
第1页 / 共5页
使用stm32 spi总线控制lcd12864_第2页
第2页 / 共5页
使用stm32 spi总线控制lcd12864_第3页
第3页 / 共5页
使用stm32 spi总线控制lcd12864_第4页
第4页 / 共5页
使用stm32 spi总线控制lcd12864_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《使用stm32 spi总线控制lcd12864》由会员分享,可在线阅读,更多相关《使用stm32 spi总线控制lcd12864(5页珍藏版)》请在金锄头文库上搜索。

1、使用stm32 SPI总线控制LCD12864一、SPI初始化/* Function Name : SPI1_Init* Description : Initializes the peripherals used by the SPI FLASH driver.* Input : None* Output : None* Return : None*/void SPI1_Init(void) SPI_InitTypeDef SPI_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; /* Enable SPI1 and GPIO clock

2、s */ /*! SPI_FLASH_SPI_CS_GPIO, SPI_FLASH_SPI_MOSI_GPIO, SPI_FLASH_SPI_MISO_GPIO, SPI_FLASH_SPI_DETECT_GPIO and SPI_FLASH_SPI_SCK_GPIO Periph clock enable */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE); /*! SPI_FLASH_SPI Periph clock enable */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, EN

3、ABLE); /*! Configure SPI_FLASH_SPI pins: SCK */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); /*! Configure SPI_FLASH_SPI pins: MISO */ GPIO_InitStructure.GPIO_Pin = G

4、PIO_Pin_6; GPIO_Init(GPIOA, &GPIO_InitStructure); /*! Configure SPI_FLASH_SPI pins: MOSI */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_Init(GPIOA, &GPIO_InitStructure); /*!DR=data; /送数据 return 0;void LCD_Write(u8 data)SPI_SendByte(data&0xf0);/发送高四位SPI_SendByte(data4)&0xf0);/发送低四位void LCD_Wcmd(u8

5、 cmd)CS_H;SPI_SendByte(0xf8);/表示要发送的是指令LCD_Write(cmd);CS_L;void LCD_Clr()LCD_Wcmd(0x01);void LCD_Wdata(u8 data)CS_H;SPI_SendByte(0xfa);/表示要发送的是数据LCD_Write(data);CS_L;void DisNum(u8 x_add,u8 y_add,u8 num)u8 temp,i=0;temp=num;temp/=10;while(temp)i+;temp /= 10;i+;if(y_add=1)/第一行LCD_Wcmd(x_add+0x80);els

6、e if(y_add=2)/第二行LCD_Wcmd(x_add+0x90);else if(y_add=3)/第三行LCD_Wcmd(x_add+0x80+0x08);else/第四行LCD_Wcmd(x_add+0x90+0x08);if(i=1 | num=0)LCD_Wdata(num+0x30);else if(i=2)LCD_Wdata(num/10+0x30);LCD_Wdata(num%10+0x30);elseLCD_Wdata(num/100+0x30);LCD_Wdata(num%100/10+0x30);LCD_Wdata(num%10+0x30);void displa

7、y(unsigned char x_add,unsigned char *ptr)LCD_Wcmd(x_add);while(*ptr != 0)LCD_Wdata(*ptr);+ptr;void DisStr(u8 x_add,u8 y_add,u8 *ptr)if(y_add=1)/第一行LCD_Wcmd(x_add+0x80);else if(y_add=2)/第二行LCD_Wcmd(x_add+0x90);else if(y_add=3)/第三行LCD_Wcmd(x_add+0x80+0x08);else/第四行LCD_Wcmd(x_add+0x90+0x08);while(*ptr != 0)LCD_Wdata(*ptr);+ptr;void LCD_Init(void)CS_L;SPI1_Init();Delay_us(2000);LCD_Wcmd(0x30);/基本指令集LCD_Wcmd(0x0c);LCD_Wcmd(0x01);LCD_Wcmd(0x02);LCD_Wcmd(0x80);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号