您现在的位置是:源码地带 > 资源下载

STM32硬件SPI驱动TFTLCD Proteus仿真实现

资 源 简 介

        最近经理通知要做项目了,让我选型一个LCD开始试着做下。这是我用仿真实现的一个smt32的硬件SPI1来驱动的ST7735R,难度挺小的,因为大部分的代码LCD的厂商已经给我们提供了,我们主要修改成硬件SPI来驱动就好了。

        此次仿真上面有2个问题,不知道是代码的问题还是仿真图上的问题。第一个问题是仿真运行时有时会出通信数据传输问题,导致指令越界报警,这个可能是SPI不稳定导致的;第二个问题是在改用SPI2或者SPI3来驱动没有任何反应,猜测是代码时钟没开对或者仿真图上面还要加上具体晶振。

          代码工程和仿真工程都已压缩打包,可放心下载。。。

先贴上仿真实现图:

    STM32硬件SPI驱动TFTLCD Proteus仿真实现


再贴上部分代码:



/**ST7735驱动**/

#include "ST7735.h"

#include "usart.h" 

u16 BACK_COLOR, POINT_COLOR;   //背景色,画笔色  


void WriteCommand_7735(u8 CmdData)  //写指令

{

SPI_LCD_CS_LOW; //片选

SPI_LCD_COMMAND_W;//写指令

SPI_I2S_SendData(LCD_SPIx,CmdData);

while (SPI_I2S_GetFlagStatus(LCD_SPIx, SPI_I2S_FLAG_TXE) == RESET){}

SPI_LCD_CS_HIGH;


void WriteDate_7735(u8 Data)  //写8位数据

{

SPI_LCD_CS_LOW; //片选

SPI_LCD_DATA_W;//写数据

SPI_I2S_SendData(LCD_SPIx,Data);

while(SPI_I2S_GetFlagStatus(LCD_SPIx, SPI_I2S_FLAG_TXE) == RESET){}

  SPI_LCD_CS_HIGH; 

}


 void WriteDate16(int data) //写16位数据

{

WriteDate_7735(data>>8);

WriteDate_7735(data);


字符限制了,贴不了多少,2积分即可下载。。。





相 关 资 源