打印
[综合信息]

EVB板点亮LCD屏

[复制链接]
2024|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Cjy_JDxy|  楼主 | 2019-10-27 20:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Cjy_JDxy 于 2019-10-27 21:09 编辑

今天捣鼓了一下EVB板,点亮了屏。
删掉common组里的文件:

烧写算法选这个:

代码:
/******************************************************************************
* Include files
******************************************************************************/
#include "lcd.h"
#include "lpm.h"
#include "gpio.h"

/******************************************************************************
* Local pre-processor symbols/macros ('#define')                           
******************************************************************************/

/******************************************************************************
* Global variable definitions (declared in header file with 'extern')
******************************************************************************/

/******************************************************************************
* Local type definitions ('typedef')                                         
******************************************************************************/

/******************************************************************************
* Local function prototypes ('static')
******************************************************************************/

/******************************************************************************
* Local variable definitions ('static')                                      *
******************************************************************************/

/******************************************************************************
* Local pre-processor symbols/macros ('#define')                             
******************************************************************************/

/*****************************************************************************
* Function implementation - global ('extern') and local ('static')
******************************************************************************/
void App_PortCfg(void);
void App_LcdCfg(void);
/**
******************************************************************************
** \brief  主函数
**
** @param  无
** \retval 无
**
******************************************************************************/
int32_t main(void)
{
    Sysctrl_ClkSourceEnable(SysctrlClkRCL,TRUE);            ///< 使能RCL时钟
    Sysctrl_SetRCLTrim(SysctrlRclFreq32768);                ///< 配置内部低速时钟频率为32.768kHz

    Sysctrl_SetPeripheralGate(SysctrlPeripheralLcd,TRUE);   ///< 开启LCD时钟
    Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio,TRUE);  ///< 开启GPIO时钟

    App_PortCfg();               ///< LCD端口配置
    App_LcdCfg();                ///< LCD模块配置

    Lcd_ClearDisp();             ///< 清屏
    Lcd_WriteRam(0,0x0f0f0f0f);  ///< 赋值寄存器LCDRAM0
    Lcd_WriteRam(1,0x0f0f0f0f);  ///< 赋值寄存器LCDRAM1

    while(1)
    {
        ;
    }
}

/**
******************************************************************************
** \brief  初始化外部GPIO引脚
**
** \return 无
******************************************************************************/
void App_PortCfg(void)
{
    Gpio_SetAnalogMode(EVB_LCD_COM0_PORT, EVB_LCD_COM0_PIN);  //COM0
    Gpio_SetAnalogMode(EVB_LCD_COM1_PORT, EVB_LCD_COM1_PIN);  //COM1
    Gpio_SetAnalogMode(EVB_LCD_COM2_PORT, EVB_LCD_COM2_PIN);  //COM2
    Gpio_SetAnalogMode(EVB_LCD_COM3_PORT, EVB_LCD_COM3_PIN);  //COM3   

    Gpio_SetAnalogMode(EVB_LCD_SEG0_PORT, EVB_LCD_SEG0_PIN);  //SEG0
    Gpio_SetAnalogMode(EVB_LCD_SEG1_PORT, EVB_LCD_SEG1_PIN);  //SEG1
    Gpio_SetAnalogMode(EVB_LCD_SEG2_PORT, EVB_LCD_SEG2_PIN);  //SEG2
    Gpio_SetAnalogMode(EVB_LCD_SEG3_PORT, EVB_LCD_SEG3_PIN);  //SEG3
    Gpio_SetAnalogMode(EVB_LCD_SEG4_PORT, EVB_LCD_SEG4_PIN);  //SEG4
    Gpio_SetAnalogMode(EVB_LCD_SEG5_PORT, EVB_LCD_SEG5_PIN);  //SEG5
    Gpio_SetAnalogMode(EVB_LCD_SEG6_PORT, EVB_LCD_SEG6_PIN);  //SEG6
    Gpio_SetAnalogMode(EVB_LCD_SEG7_PORT, EVB_LCD_SEG7_PIN);  //SEG7

    Gpio_SetAnalogMode(EVB_LCD_VLCDH_PORT, EVB_LCD_VLCDH_PIN);  //VLCDH
    Gpio_SetAnalogMode(EVB_LCD_VLCD3_PORT, EVB_LCD_VLCD3_PIN);  //VLCD3
    Gpio_SetAnalogMode(EVB_LCD_VLCD2_PORT, EVB_LCD_VLCD2_PIN);  //VLCD2
    Gpio_SetAnalogMode(EVB_LCD_VLCD1_PORT, EVB_LCD_VLCD1_PIN);  //VLCD1

}

/**
******************************************************************************
** \brief  配置LCD
**
** \return 无
******************************************************************************/
void App_LcdCfg(void)
{
    stc_lcd_cfg_t LcdInitStruct;
    stc_lcd_segcom_t LcdSegCom;

    LcdSegCom.u32Seg0_31 = 0xffffff00;                              ///< 配置LCD_POEN0寄存器 开启SEG0~SEG7
    LcdSegCom.stc_seg32_51_com0_8_t.seg32_51_com0_8 = 0xffffffff;   ///< 初始化LCD_POEN1寄存器 全部关闭输出端口
    LcdSegCom.stc_seg32_51_com0_8_t.segcom_bit.Com0_3 = 0;          ///< 使能COM0~COM3
    LcdSegCom.stc_seg32_51_com0_8_t.segcom_bit.Mux = 0;             ///< Mux=0,Seg32_35=0,BSEL=1表示:选择外部电容工作模式,内部电阻断路
    LcdSegCom.stc_seg32_51_com0_8_t.segcom_bit.Seg32_35 = 0;
    Lcd_SetSegCom(&LcdSegCom);                                      ///< LCD COMSEG端口配置

    LcdInitStruct.LcdBiasSrc = LcdExtCap;                          ///< 电容分压模式,需要外部电路配合
    LcdInitStruct.LcdDuty = LcdDuty4;                              ///< 1/4duty
    LcdInitStruct.LcdBias = LcdBias3;                              ///< 1/3 BIAS
    LcdInitStruct.LcdCpClk = LcdClk2k;                             ///< 电压泵时钟频率选择2kHz
    LcdInitStruct.LcdScanClk = LcdClk128hz;                        ///< LCD扫描频率选择128Hz
    LcdInitStruct.LcdMode = LcdMode0;                              ///< 选择模式0
    LcdInitStruct.LcdClkSrc = LcdRCL;                              ///< LCD时钟选择RCL
    LcdInitStruct.LcdEn   = LcdEnable;                             ///< 使能LCD模块
    Lcd_Init(&LcdInitStruct);
}


/******************************************************************************
* EOF (not truncated)
******************************************************************************/

效果图:


使用特权

评论回复
沙发
martinhu| | 2019-10-28 09:55 | 只看该作者
这个板子应该是L072 的板子吧,楼主应用L07x的flash download文件比较好,用136的文件不一定完全匹配

使用特权

评论回复
板凳
Cjy_JDxy|  楼主 | 2019-10-28 10:09 | 只看该作者
martinhu 发表于 2019-10-28 09:55
这个板子应该是L072 的板子吧,楼主应用L07x的flash download文件比较好,用136的文件不一定完全匹配 ...

找不到那个flash download文件

使用特权

评论回复
地板
martinhu| | 2019-10-28 16:45 | 只看该作者
Cjy_JDxy 发表于 2019-10-28 10:09
找不到那个flash download文件

【STEP1】打开【我的电脑】 ; 【STEP2】在地址栏输入地址 ftp://HdscCustomer:HdscGuest2019!@ftp.hdsc.com.cn/ 即可直接访问进入FTP后,可以拷贝对应的SDK,里面有驱动库样例,这那里面可以找到对应的FLM文件,然后把这个文件拷贝到KEIL安装目录下的ARM内的flash文件夹内。

使用特权

评论回复
5
Cjy_JDxy|  楼主 | 2019-10-28 19:48 | 只看该作者
martinhu 发表于 2019-10-28 16:45
【STEP1】打开【我的电脑】 ; 【STEP2】在地址栏输入地址 ftp://HdscCustomer:HdscGuest2019!@ftp.hdsc.c ...

谢谢

使用特权

评论回复
6
Cjy_JDxy|  楼主 | 2019-10-29 22:09 | 只看该作者

我把FlashHC32L07X_128K.FLM拷到C:\Keil_v5\ARM\Flash文件夹内,可是烧写算法里没有对应的算法。



使用特权

评论回复
7
martinhu| | 2019-10-30 20:43 | 只看该作者
Cjy_JDxy 发表于 2019-10-29 22:09
我把FlashHC32L07X_128K.FLM拷到C:\Keil_v5\ARM\Flash文件夹内,可是烧写算法里没有对应的算法。

原来那个可能有问题,你用这个试试

FlashHC32L07X_128K.zip

5.32 KB

使用特权

评论回复
8
Cjy_JDxy|  楼主 | 2019-10-30 21:06 | 只看该作者
martinhu 发表于 2019-10-30 20:43
原来那个可能有问题,你用这个试试

谢谢!

使用特权

评论回复
9
tfqi| | 2019-11-12 15:47 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
10
wiba| | 2019-11-12 15:58 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
11
zljiu| | 2019-11-12 16:17 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
12
waveforms| | 2019-11-17 18:39 | 只看该作者
点亮之后显示数字应该很简单了吧

使用特权

评论回复
13
比神乐| | 2024-9-20 15:36 | 只看该作者
当然啦

使用特权

评论回复
14
shenxiaolin| | 2024-9-29 10:45 | 只看该作者
不错的DEMO

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

19

粉丝