//#include "delay.h"
#include "gd32f4xx.h"
#include "ssd1963.h"
#include "pwm.h"
//#include "delay.h"
uint8_t valtemp[3];
uint8_t valtemp1[6];
uint8_t valtemp2[7];
#if 1
/**************显示屏相关参数*********************************************************************/
#define SPI_CS_H gpio_bit_set(GPIOA,GPIO_PIN_15)
#define SPI_CS_L gpio_bit_reset(GPIOA,GPIO_PIN_15)
#define SPI_CLK_H gpio_bit_set(GPIOB,GPIO_PIN_13)
#define SPI_CLK_L gpio_bit_reset(GPIOB,GPIO_PIN_13)
#define SPI_DI_H gpio_bit_set(GPIOB,GPIO_PIN_15)
#define SPI_DI_L gpio_bit_reset(GPIOB,GPIO_PIN_15)
#define SPI_RST_H gpio_bit_set(GPIOD,GPIO_PIN_6)
#define SPI_RST_L gpio_bit_reset(GPIOD,GPIO_PIN_6)
#endif
void DelayUS(uint16_t cnt);
/**************显示屏相关参数*********************************************************************/
#define SPI_CS_H gpio_bit_set(GPIOA,GPIO_PIN_15)
#define SPI_CS_L gpio_bit_reset(GPIOA,GPIO_PIN_15)
#define SPI_CLK_H gpio_bit_set(GPIOB,GPIO_PIN_13)
#define SPI_CLK_L gpio_bit_reset(GPIOB,GPIO_PIN_13)
#define SPI_DI_H gpio_bit_set(GPIOB,GPIO_PIN_15)
#define SPI_DI_L gpio_bit_reset(GPIOB,GPIO_PIN_15)
#define SPI_RST_H gpio_bit_set(GPIOD,GPIO_PIN_6)
#define SPI_RST_L gpio_bit_reset(GPIOD,GPIO_PIN_6)
void DelayUS(uint16_t cnt);
/***************************************************************************//**
* @brief 通过SPI给液晶屏发送信息
* @param[in] i:数据内容
* @param[out] 无
* @retval 无
*******************************************************************************/
void SPI_SendData(unsigned char i)
{
unsigned char n;
for(n=0; n<8; n++)
{
if(i&0x80)
{
SPI_DI_H;
}
else
{
SPI_DI_L;
}
i<<= 1;
DelayUS(1);
SPI_CLK_L;
DelayUS(1);
SPI_CLK_H;
}
}
/***************************************************************************//**
* @brief 通过SPI给液晶屏发送命令
* @param[in] i:命令内容
* @param[out] 无
* @retval 无
*******************************************************************************/
void SPI_WriteComm(unsigned char i)
{
SPI_CS_L;
DelayUS(1);
SPI_DI_L;
DelayUS(1);
SPI_CLK_L;
DelayUS(1);
SPI_CLK_H;
DelayUS(1);
SPI_SendData(i);
DelayUS(1);
SPI_CS_H;
}
/***************************************************************************//**
* @brief 通过SPI给液晶屏发送数据
* @param[in] i:数据内容
* @param[out] 无
* @retval 无
*******************************************************************************/
void SPI_WriteData(unsigned char i)
{
SPI_CS_L;
DelayUS(1);
SPI_DI_H;
DelayUS(1);
SPI_CLK_L;
DelayUS(1);
SPI_CLK_H;
DelayUS(1);
SPI_SendData(i);
DelayUS(1);
SPI_CS_H;
}
/***************************************************************************//**
* @brief 液晶屏SPI口发送初始化信息
* @param[in] 无
* @param[out] 无
* @retval 无
*******************************************************************************/
void LCD_SPI_Init(void)
{
rcu_periph_clock_enable(RCU_GPIOA);
rcu_periph_clock_enable(RCU_GPIOB);
rcu_periph_clock_enable(RCU_GPIOE);
rcu_periph_clock_enable(RCU_GPIOD);
gpio_mode_set(GPIOB,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,GPIO_PIN_15); /**< SDI */
gpio_mode_set(GPIOB,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,GPIO_PIN_13); /**< SCL */
gpio_mode_set(GPIOA,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,GPIO_PIN_15); /**< nCS */
gpio_mode_set(GPIOD,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,GPIO_PIN_6); /**< RST */
//--------------------------------------ST7701 Reset Sequence---------------------------------------//
SPI_RST_H;
DelayUS(10000);
SPI_RST_L;
DelayUS(40000);
DelayUS(40000);
SPI_RST_H;
DelayUS(40000);
DelayUS(40000);
SPI_WriteComm (0x11);
DelayUS(50000); //Delay 120ms
DelayUS(50000);
DelayUS(20000);
//---------------------------------------Bank0 Setting-------------------------------------------------//
//------------------------------------Display Control setting----------------------------------------------//
SPI_WriteComm (0xFF);
SPI_WriteData (0x77);
SPI_WriteData (0x01);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x13);
SPI_WriteComm (0xEF);
SPI_WriteData (0x08);
SPI_WriteComm (0xFF);
SPI_WriteData (0x77);
SPI_WriteData (0x01);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x10);
SPI_WriteComm (0xC0);
SPI_WriteData (0xE9);
SPI_WriteData (0x03);
SPI_WriteComm (0xC1);
SPI_WriteData (0x09);
SPI_WriteData (0x02);
SPI_WriteComm (0xC2);
SPI_WriteData (0x01);
SPI_WriteData (0x08);
SPI_WriteComm (0xCC);
SPI_WriteData (0x10);
//-------------------------------------Gamma Cluster Setting-------------------------------------------//
SPI_WriteComm (0xB0);
SPI_WriteData (0x00);
SPI_WriteData (0x0B);
SPI_WriteData (0x10);
SPI_WriteData (0x0D);
SPI_WriteData (0x11);
SPI_WriteData (0x06);
SPI_WriteData (0x01);
SPI_WriteData (0x08);
SPI_WriteData (0x08);
SPI_WriteData (0x1D);
SPI_WriteData (0x04);
SPI_WriteData (0x10);
SPI_WriteData (0x10);
SPI_WriteData (0x27);
SPI_WriteData (0x30);
SPI_WriteData (0x19);
SPI_WriteComm (0xB1);
SPI_WriteData (0x00);
SPI_WriteData (0x0B);
SPI_WriteData (0x14);
SPI_WriteData (0x0C);
SPI_WriteData (0x11);
SPI_WriteData (0x05);
SPI_WriteData (0x03);
SPI_WriteData (0x08);
SPI_WriteData (0x08);
SPI_WriteData (0x20);
SPI_WriteData (0x04);
SPI_WriteData (0x13);
SPI_WriteData (0x10);
SPI_WriteData (0x28);
SPI_WriteData (0x30);
SPI_WriteData (0x19);
SPI_WriteComm (0x36); /**< 额外加的,修改RGB */
SPI_WriteData (0x08);
//---------------------------------------End Gamma Setting----------------------------------------------//
//------------------------------------End Display Control setting----------------------------------------//
//-----------------------------------------Bank0 Setting End---------------------------------------------//
//-------------------------------------------Bank1 Setting---------------------------------------------------//
//-------------------------------- Power Control Registers Initial --------------------------------------//
SPI_WriteComm (0xFF);
SPI_WriteData (0x77);
SPI_WriteData (0x01);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x11);
SPI_WriteComm (0xB0);
SPI_WriteData (0x35);
//-------------------------------------------Vcom Setting---------------------------------------------------//
SPI_WriteComm (0xB1);
SPI_WriteData (0x31);
//-----------------------------------------End Vcom Setting-----------------------------------------------//
SPI_WriteComm (0xB2);
SPI_WriteData (0x82);
SPI_WriteComm (0xB3);
SPI_WriteData (0x80);
SPI_WriteComm (0xB5);
SPI_WriteData (0x4E);
SPI_WriteComm (0xB7);
SPI_WriteData (0x85);
SPI_WriteComm (0xB8);
SPI_WriteData (0x20);
SPI_WriteComm (0xB9);
SPI_WriteData (0x10);
SPI_WriteComm (0xC1);
SPI_WriteData (0x78);
SPI_WriteComm (0xC2);
SPI_WriteData (0x78);
SPI_WriteComm (0xD0);
SPI_WriteData (0x88);
//---------------------------------End Power Control Registers Initial -------------------------------//
DelayUS(50000);
DelayUS(50000);
//---------------------------------------------GIP Setting----------------------------------------------------//
SPI_WriteComm (0xE0);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x02);
SPI_WriteComm (0xE1);
SPI_WriteData (0x05);
SPI_WriteData (0xA0);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x04);
SPI_WriteData (0xA0);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x20);
SPI_WriteData (0x20);
SPI_WriteComm (0xE2);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteData (0x00);
SPI_WriteD
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
ssd1963.rar (2个子文件)
ssd1963
ssd1963.h 7KB
ssd1963.c 26KB
共 2 条
- 1
????
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0