【经验】国产MCU CS32F030驱动彩色LCD显示屏YB-TG240320C325B-N-A0的硬软件设计

2022-05-28 世强
MCU,CS32,YB-TG240320C325B-N-A0,CS32F030C8T6 MCU,CS32,YB-TG240320C325B-N-A0,CS32F030C8T6 MCU,CS32,YB-TG240320C325B-N-A0,CS32F030C8T6 MCU,CS32,YB-TG240320C325B-N-A0,CS32F030C8T6

芯海科技CS32F030是一款32bit cortex-M0内核的国产MCUYB-TG240320C325B-N-A0亿都设计的基于驱动芯片ST7789V2的320x240彩色LCD显示屏,本文介绍CS32驱动液晶屏相关的硬件连接和软件驱动。


1.硬件连接:

连接采用SPI通信,除了基础的SPI接口,需要额外注意:

RESET引脚要连接,在初始化之前需要reset清除相关显示。

RS引脚非常重要,在配置和初始化时,需要采用命令的方式,在进行图案和字母传输的时候,需要采用数据的方式。

注意LCS_A的背光电压和电流,建议使用3.3V。


2.软件驱动

#define  FONT_W  32

#define  FONT_H  32


#define PIC_WIDTH    160 //预备向LCD显示区域填充的图片的大小

#define PIC_HEIGHT   160


#define RED    0xF800 //定义颜色常量 

#define GREEN  0x07E0

#define BLUE   0x001F

#define WHITE  0xFFFF

#define BLACK  0x0000

#define GRAY   0xEF5D      //0x2410

#define GRAY75 0x39E7 

#define GRAY50 0x7BEF

#define GRAY25 0xADB5

// LCD SPI2 GPIO config

gpio_mode_set(GPIOB, GPIO_PIN_10, GPIO_MODE_OUT_PP(GPIO_SPEED_HIGH));//CS

gpio_mode_set(GPIOB, GPIO_PIN_13, GPIO_MODE_OUT_PP(GPIO_SPEED_HIGH));//sclk

gpio_mode_set(GPIOB, GPIO_PIN_14, GPIO_MODE_OUT_PP(GPIO_SPEED_HIGH));//SPI_A0  WR/D

gpio_mode_set(GPIOB, GPIO_PIN_15, GPIO_MODE_OUT_PP(GPIO_SPEED_HIGH));//mosi

gpio_mode_set(GPIOA, GPIO_PIN_12, GPIO_MODE_OUT_PP(GPIO_SPEED_HIGH));//RESET


#define LCD_RST(n) (n ? __GPIO_PIN_SET(GPIOA, GPIO_PIN_12) : __GPIO_PIN_RESET(GPIOA, GPIO_PIN_12))

#define LCD_WR(n)  (n ? __GPIO_PIN_SET(GPIOB, GPIO_PIN_14) : __GPIO_PIN_RESET(GPIOB, GPIO_PIN_14))

#define LCD_CS(n)  (n ? __GPIO_PIN_SET(GPIOB, GPIO_PIN_10) : __GPIO_PIN_RESET(GPIOB, GPIO_PIN_10))


#define LCD_SDA(n) (n ? __GPIO_PIN_SET(GPIOB, GPIO_PIN_15) : __GPIO_PIN_RESET(GPIOB, GPIO_PIN_15))

#define LCD_SCK(n) (n ? __GPIO_PIN_SET(GPIOB, GPIO_PIN_13) : __GPIO_PIN_RESET(GPIOB, GPIO_PIN_13))

驱动初始化:

void  SendDataSPI(unsigned char dat)

{  

//__SPI_8BITS_DATA_SEND(SPI2, dat); 

#if 1

   unsigned char i;

   

for(i = 0; i < 8; i++)

{   

LCD_SCK(0);

if(dat & 0x80)

{

LCD_SDA(1);

// delay_us(1);

}

else 

{

LCD_SDA(0);

// delay_us(1);

}

LCD_SCK(1);

// delay_us(1);

dat <<= 1;   

}

#endif

}


void WriteComm(unsigned int i)

{


LCD_CS(0);

LCD_WR(0);


SendDataSPI(i);

LCD_CS(1);


}

void WriteData(unsigned int i)

{

LCD_CS(0);

LCD_WR(1);


SendDataSPI(i);

LCD_CS(0);

}



void WriteDispData(unsigned char DataH,unsigned char DataL)

{

//CS0=0;


SendDataSPI(DataH);

SendDataSPI(DataL);


//CS0=1;

}


void LCD_Init(void)

{

LCD_RST(1); 

delay_ms(200);


LCD_RST(0); 

delay_ms(300);


LCD_RST(1); 

delay_ms(200);

WriteComm(0x11);     

delay_ms(480);



//boe2.8ips+st7789v2


WriteComm(0x36);     

WriteData(0x00);   


WriteComm(0x3A);     

WriteData(0x55);   //


WriteComm(0xB2);     

WriteData(0x0C);   

WriteData(0x0C);   

WriteData(0x00);   

WriteData(0x33);   

WriteData(0x33);   


WriteComm(0xB7);     

WriteData(0x75);   //VGH=14.97V, VGL=-10.43V  


WriteComm(0xBB);     //VCOM  

WriteData(0x2B);   


WriteComm(0xC0);     

WriteData(0x2C);   


WriteComm(0xC2);     

WriteData(0x01);   


WriteComm(0xC3);     //GVDD  

WriteData(0x0B);   


WriteComm(0xC4);     

WriteData(0x20);   


WriteComm(0xC6);     

WriteData(0x0F);   


WriteComm(0xD0);     

WriteData(0xA4);   

WriteData(0xA1);   


WriteComm(0xE0);     

WriteData(0xD0);   

WriteData(0x01);   

WriteData(0x04);   

WriteData(0x09);   

WriteData(0x0B);   

WriteData(0x07);   

WriteData(0x2E);   

WriteData(0x44);   

WriteData(0x43);   

WriteData(0x0B);   

WriteData(0x16);   

WriteData(0x15);   

WriteData(0x17);   

WriteData(0x1D);   


WriteComm(0xE1);     

WriteData(0xD0);   

WriteData(0x01);   

WriteData(0x05);   

WriteData(0x0A);   

WriteData(0x0B);   

WriteData(0x08);   

WriteData(0x2F);   

WriteData(0x44);   

WriteData(0x41);   

WriteData(0x0A);   

WriteData(0x15);   

WriteData(0x14);   

WriteData(0x19);   

WriteData(0x1D);   


WriteComm(0x29);  


}

void ExitSLP(void)

{

//FOR OTM3225A


//Power On sequence

WriteComm(0x0010);WriteData(0x0080); // SAP, BT[3:0], AP, DSTB, SLP

WriteComm(0x0011);WriteData(0x0000); // DC1[2:0], DC0[2:0], VC[2:0]

WriteComm(0x0012);WriteData(0x0000); // VREG1OUT voltage

WriteComm(0x0013);WriteData(0x0000); // VDV[4:0] for VCOM amplitude

delay_ms(200);                          // Dis-charge capacitor power voltage

WriteComm(0x0010);WriteData(0x1490); // SAP, BT[3:0], AP, DSTB, SLP, STB

WriteComm(0x0011);WriteData(0x0227); // R11h=0x0221 at VCI=3.3V DC1[2:0], DC0[2:0], VC[2:0]

delay_ms(50);                           // Delay 50ms

WriteComm(0x0012);WriteData(0x009B); // External reference voltage =Vci;

delay_ms(50);                           // Delay 50ms

WriteComm(0x0013);WriteData(0x1800); // R13h=0x1200 when R12=009D VDV[4:0] for VCOM amplitude

WriteComm(0x0029);WriteData(0x0027); // R29h=0x000C when R12=009D VCM[5:0] for VCOMH

delay_ms(50);                           // Delay 50ms

WriteComm(0x0007);WriteData(0x0133); // 262K color and display ON

}

void DispColor(unsigned int color)

{

unsigned int i,j;

BlockWrite(0,COL-1,0,ROW-1);

LCD_CS(0);

LCD_WR(1);

for(i=0;i<ROW;i++)

{

    for(j=0;j<COL;j++)

{    SendDataSPI(color>>8);

SendDataSPI(color);}

}

LCD_CS(1);

}

在初始化完成之后,主函数调用驱动:

LCD_Init();

ExitSLP();

DispColor(WHITE);

然后就可以进行数据显示了。

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由蜡笔小芯提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】在keil中添加芯海MCU CS32A010K8V7的支持包

本文将介绍在keil中添加芯海MCU CS32A010K8V7的支持包,芯海科技推出的CS32A010K8V7是一款32Pin脚的ARM 32位构架Cortex-M0核的MCU,内置64K Flash,1路SPI、2路USART支持FIFO等丰富的资源。

设计经验    发布时间 : 2023-05-18

【经验】芯海科技通用32位MCU有效规避意外掉电的硬件设计方案

本文以芯海科技MCU CS32L010F8U6为例,简述在进行硬件设计的时候如何有效规避因为意外掉电而造成工作异常的方案。在进行硬件电路设计的时候,我们可以在单片机供电引脚上接一个电容到GND以存储电量,防止芯片意外掉电

设计经验    发布时间 : 2022-11-11

【经验】芯海MCU CS32F030C8T6的串口打印乱码问题

芯海CS32F030C8T6的串口问题有客户在使用芯海的CS32F030C8T6 MCU的时候遇到如下问题:1、使用9600波特率无奇偶校验,刚上电的时候串口会发一些乱码出来。乱码打印等问题,本文提供解决方案。

设计经验    发布时间 : 2022-12-08

Top Chinese 8/32-bit MCU Manufacturers with ARM Cortex-M0, M0+, M3, M4 and Stable Supply

In the face of rising semiconductor raw material prices and a continued shortage of production capacity, Sekorm has joined Civil Technology, Arteli, Chipsea, China Microelectronics, Fudan Microelectronics, Aerospace Shun, and other mainstream MCU manufacturers to provide stable MCU supply guarantees

活动    发布时间 : 2022-06-21

CS32F03x IAP 升级 芯海通用 MCU 应用笔记

型号- CS32F036,CS32F03RA,CS32F03X,CS32F035,CS32F030,CS32F031

应用笔记或设计指南  -  芯海  - V1.1  - 2024/7/29 PDF 中文 下载 查看更多版本

芯海科技(CHIPSEA)电子烟MCU产品介绍

描述- 芯海电子烟产品介绍

型号- CS32 T0,CS3XG,CSS12P82,CS32F031C8,CSU38M20,CSU32P20-MSOP10,CSU32P20,N76XX03,CSMXXX12X2,CS32 T4,CSU8RP3117B,CST92F30,CS32A060,M031C8T6,CS32F072,M031C6T6,CS32F030,CS32F031,CSU32M10,CS32F070,CSU32M11,CS32F071,S031C6,CSU3XF,CSU38M20-QFN24,CSU18M53,CSU38F20,CSU32P10-MSOP10,H03XC8,CXXX9F12X2,CSU8RP3215,CSU8RP3216,CS32 A0,CSU32M10-MSOP10,CSU3XP,CSU1XM,M031C88,CSU3XM,CS32 F0,S031C6T6,TM5XXX28,CS32F031K8U6,CSU38F20-QFN20,CS32F031G6U6,CSU9XT,CS32F031K6U6,CSU8RP3115B,H031C6T6,H031C8T6,CS32G023,TMXXXA28,CSU8RP3119B,CS32G020,CS32G021,CSS34P16,CSU32P10,S030C8,CS32 G0,CSP32F2X,CSU32M12-DFN14,CSU8RP311B,CS32 G4,NXXX003,CSU32M10-QFN16

商品及供应商介绍  -  芯海 PDF 中文 下载

【应用】芯海8位MCU CSU32M10-SOP16助力电子烟设计,具有5μs响应快速可靠、集成度高优势

电子烟主控选择方面客户比较在意能否提供完善的一套方案,这样也可以节省开发时间,实现量产,推荐芯海8位MCU CSU32M10-SOP16方案,集成度高、能够有效节省PCB空间,还有硬件短路保护、恒功率控制、不断电烧录等特点。

应用方案    发布时间 : 2023-03-22

芯海科技CS32F061:集成12位DAC高性价比信号链MCU,具有丰富的模拟特性,满足高精度需要

芯海科技32位通用MCU系列全新推出集成12位DAC的高性价比信号链MCU芯片CS32F061。这款MCU具备丰富的模拟特性,内置可编程逻辑单元,可简化硬件设计,是高精度数据处理及灵活信号链设计的嵌入式系统的理想选择,在电动工具、电源管理、工业控制及通信等领域拥有广泛应用前景。

产品    发布时间 : 2024-08-13

【技术大神】如何选择一款合适的MCU驱动段码液晶屏

本文作者基于自己的实际经验,分享一种驱动段码屏的简易方法,可大幅降低成本。

器件选型    发布时间 : 2016-06-27

【应用】芯海MCU CS32L010F8U6用于电子烟,封装为QFN20(3mm*3mm),运行频率24MHz

芯海的MCU CS32L010F8U6在电子烟中的应用,它是一款内嵌 32 位 ARM® Cortex®-M0 内核的超低功耗微控制器,最高可运行在24MHz,内置 64K 字节的嵌入式 Flash,4K 字节的 SRAM,具有高整合度、高抗干扰、高可靠性及高性价比等优势。

应用方案    发布时间 : 2023-03-29

芯海通用 MCU 应用笔记 CS32F03x-RA 系列兼容性和移植指南

型号- CS32F030F6P6,CS32F030F8P7-RA,CS32F031K8U7-RA,CS32F03X 系列,CS32F0,CS32F036K6T7,CS32F031XXX7-RA,CS32F031K8S6-RA,CS32F030XXX7-RA,CS32F031G8U6-RA,CS32F030-RA,CS32F035K6U6,CS32F03X-RA,CS32F030F6P6-RA,CS32F030-RA 系列,CS32F0 系列,CS32F030C8T7-RA,CS32F036 系列,CS32F031K8V6-RA,CS32F03X-RA 系列,CS32F031G6U6,CS32F030 系列,CS32F036,CS32F03XXXX7-RA,CS32F03X,CS32F031K8U6-RA,CS32F030XXX6-RA,CS32F030C8T6,CS32F035,CS32F030,CS32F036K6U7,CS32F031,CS32F030K6T6,CS32F031-RA,CS32F031XXX6-RA,CS32F031G8U7-RA,CS32F031-RA 系列,CS32F0356,CS32F036F6P7,CS32F031K8U6H,CS32F031C8T6,CS32F035 系列,CS32F030C8T6-RA,CS32F031 系列,CS32F03XXXX6-RA

用户指南  -  芯海  - V1.0  - 2023-06-12 PDF 中文 下载 查看更多版本

【应用】功耗低至5.6μA的32位MCU CS32F030C8T6用于激光测距仪,宽压供电电压2~5.5V

激光测距仪主要由MCU控制器、激光发射部分、激光接收部分、屏幕显示部分、按键驱动部分以及电源模块等组成。MCU的部分本文推荐使用芯海科技的32位MCU CS32F030C8T6,功耗可低至5.6μA,可以很好地满足电池供电系统对MCU的要求。

应用方案    发布时间 : 2021-12-25

芯海科技亮相AutoSEMI 2024:“模拟信号链+MCU”赋能汽车电子创新

2024年5月23日,业界瞩目的“The 2nd AutoSEMI 2024智能汽车数字芯片大会”在上海盛大举行。芯海科技汽车电子产品线总经理董鹏受邀作为特邀嘉宾,发表了《模拟信号线+MCU 赋能汽车电子创新》的主题演讲,详细阐述了公司车规级系列产品进展及未来规划。

原厂动态    发布时间 : 2024-05-26

【IC】芯海科技CS8M320经济型信号链MCU,集成12位全差分ADC,宽工作电压1.8~5.5V

芯海科技全新推出CS8M320系列的经济型信号链MCU 。该MCU集成了12位全差分ADC、低温漂基准、电容测量模块CVC等信号链模块,精准满足常规的电压、电流、温度、电容信号测量需要 。

产品    发布时间 : 2023-12-28

展开更多

电子商城

查看更多

品牌:芯海

品类:32位MCU

价格:¥4.1177

现货: 8,684

品牌:亿都

品类:LCD MODULE

价格:

现货: 0

品牌:芯海

品类:32位MCU

价格:¥3.0024

现货: 63,900

品牌:芯海

品类:32位MCU

价格:¥2.6934

现货: 17,201

品牌:芯海

品类:MCU

价格:¥2.1177

现货: 6,676

品牌:芯海

品类:8位MCU

价格:¥1.2000

现货: 5,802

品牌:芯海

品类:8位RISC MCU

价格:¥2.0000

现货: 5,050

品牌:芯海

品类:32位MCU

价格:¥3.1765

现货: 4,900

品牌:芯海

品类:32位MCU

价格:¥5.0667

现货: 4,039

品牌:芯海

品类:8位 RISC OTP MCU

价格:¥1.0589

现货: 3,320

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:16-BIT MCU

价格:¥5.5190

现货:910,635

品牌:RENESAS

品类:MCU

价格:¥5.1500

现货:200,000

品牌:恒烁

品类:MCU

价格:¥1.0800

现货:154,600

品牌:Advanced Digital Chips

品类:MCU

价格:¥6.6000

现货:100,000

品牌:RENESAS

品类:MCU

价格:¥5.8041

现货:86,925

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:Advanced Digital Chips

品类:MCU

价格:¥9.0000

现货:64,841

品牌:ST

品类:MCU

价格:¥15.5600

现货:58,800

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥257.6400

现货:58,799

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

MCU烧录/Flash烧录/CPLD烧录

可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。

最小起订量: 1pcs 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面