打印
[MM32生态]

EV Board (MM32L0136C7P)测评】+SLCD外设探秘之映射

[复制链接]
542|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 gaoyang9992006 于 2022-12-1 18:59 编辑

#申请原创# @21小跑堂

根据开发板与LCD的连接关系,似乎没有明显的规律,对于取码操作就很头大了。今日有幸得见一款软件用于配置LCD段码屏的

于是乎得到了启发,制作一个自动映射LCD与MCU端口配置到显示数据寄存器的工具,这样就可以方便实用LCD外设了,无论与屏幕怎么连接,只要我们在工具中给出简单的连接关系对照表,即可取任意图形对应的显示数据寄存器值。
比如本项目中使用的开发板管脚与LCD映射表如下所示

而每个8段数码管均由4个COM与2个SEG组合而成,如下所示,蓝色为我们要填入的LCD段码屏的针脚编号,红色为查询映射表自动计算出来的MCU内部针脚LCD控制管脚编号,绿色区域为填入的选型占位,比如下图选择了COM0与SEG3对应框填入了1,即表示只显示与其对应的点。也就是小数点位。
例如第一个数码管全部点亮对应的8个寄存器值为

为了方便实用该工具,我已将8段数码管的0到F,以及小数点共计17个图形的占位框做好。如下所示:

然后我们轻松查表即可获取想要的显示内容对应的寄存器值,将寄存器值装入数组即可方便调用。
以下是用该方法获取的段码显示表,同步显示0到F字符效果。

int main(void)
{
        int i=0,x1,x2,x3,x4;
        BOARD_Init();
    app_slcd_init();

        x1=0;
        x2=1;
        x3=2;
        x4=3;

    while (1)
    {
                        for(i=0;i<17;i++)
                        {
                                // COM0
                                BOARD_SLCD_PORT->DR0 =TAB[x1][i][0]|TAB[x2][i][0]|TAB[x3][i][0]|TAB[x4][i][0];
                                BOARD_SLCD_PORT->DR1 =TAB[x1][i][1]|TAB[x2][i][1]|TAB[x3][i][1]|TAB[x4][i][1];
                                // COM1                        
                                BOARD_SLCD_PORT->DR2 =TAB[x1][i][2]|TAB[x2][i][2]|TAB[x3][i][2]|TAB[x4][i][2];
                                BOARD_SLCD_PORT->DR3 =TAB[x1][i][3]|TAB[x2][i][3]|TAB[x3][i][3]|TAB[x4][i][3];               
                                // COM2                        
                                BOARD_SLCD_PORT->DR4 =TAB[x1][i][4]|TAB[x2][i][4]|TAB[x3][i][4]|TAB[x4][i][4];
                                BOARD_SLCD_PORT->DR5 =TAB[x1][i][5]|TAB[x2][i][5]|TAB[x3][i][5]|TAB[x4][i][5];
                                // COM3                        
                                BOARD_SLCD_PORT->DR6 =TAB[x1][i][6]|TAB[x2][i][6]|TAB[x3][i][6]|TAB[x4][i][6];               
                                BOARD_SLCD_PORT->DR7 =TAB[x1][i][7]|TAB[x2][i][7]|TAB[x3][i][7]|TAB[x4][i][7];        

                                app_delay(200u);
                                
                        }

    }
}
这个方法非常不错,无论怎么修改LCD屏与MCU针脚的对应都能快速查找到对应的显示寄存器值。希望可以起到抛砖引玉的作用,谁还有更好的方法没?



使用特权

评论回复
沙发
幸福小强| | 2022-12-1 19:04 | 只看该作者
这个方法不错,中间的映射关系如何写,不会,求教。。。

使用特权

评论回复
板凳
caigang13| | 2022-12-1 19:56 | 只看该作者
这个是MCU自带段码屏驱动?

使用特权

评论回复
地板
gaoyang9992006|  楼主 | 2022-12-2 22:16 | 只看该作者
caigang13 发表于 2022-12-1 19:56
这个是MCU自带段码屏驱动?

是的,这是开发板上多芯片与那个LCD段码屏的连接使用,这个方法可以支持任意支持LCD段码屏的单片机开发,只需要按照原理图的连接填到对照表,下面的彩色部分工具会自动计算出结果

使用特权

评论回复
5
adolphcocker| | 2022-12-5 23:12 | 只看该作者
这个能自定义显示数据吗?              

使用特权

评论回复
6
gaoyang9992006|  楼主 | 2022-12-6 08:55 | 只看该作者
adolphcocker 发表于 2022-12-5 23:12
这个能自定义显示数据吗?

能自定义,研究这个过程我还发现了一种加密数据的方法。

使用特权

评论回复
7
geraldbetty| | 2022-12-6 16:16 | 只看该作者
SLCD占用的引脚不少呢。              

使用特权

评论回复
8
burgessmaggie| | 2022-12-6 18:38 | 只看该作者
SLCD确实简单              

使用特权

评论回复
9
onlycook| | 2022-12-7 15:46 | 只看该作者
论坛了有很多新的测评贴啊,各路大神的开发板都开始玩起来了

使用特权

评论回复
10
gaoyang9992006|  楼主 | 2022-12-7 22:33 | 只看该作者
geraldbetty 发表于 2022-12-6 16:16
SLCD占用的引脚不少呢。

占用了29个IO,确实占用很多。

使用特权

评论回复
11
gaoyang9992006|  楼主 | 2022-12-7 22:33 | 只看该作者
onlycook 发表于 2022-12-7 15:46
论坛了有很多新的测评贴啊,各路大神的开发板都开始玩起来了

玩起来了,确实挺好玩的。

使用特权

评论回复
12
tpgf| | 2023-1-1 13:47 | 只看该作者
请教一下就是SLCD和LCD的区别是什么呢

使用特权

评论回复
13
qcliu| | 2023-1-1 14:17 | 只看该作者
这个这样使用太浪费IO口了啊 数量太多

使用特权

评论回复
14
drer| | 2023-1-1 14:30 | 只看该作者
SLCD是通过通讯进行控制还是通过并口进行控制呢

使用特权

评论回复
15
gaoyang9992006|  楼主 | 2023-1-1 14:32 | 只看该作者
drer 发表于 2023-1-1 14:30
SLCD是通过通讯进行控制还是通过并口进行控制呢

这是单片机内部集成的一个片上外设(LCD驱动器)

使用特权

评论回复
16
coshi| | 2023-1-1 14:38 | 只看该作者
中间的映射文件是不是系统已经生成的啊

使用特权

评论回复
17
kxsi| | 2023-1-1 14:48 | 只看该作者
如何更改这种显示屏的亮度呢 这种现成的屏幕可以通过发送指令控制亮度吗

使用特权

评论回复
18
wiba| | 2023-1-1 15:04 | 只看该作者
在自定义显示数据的时候如何进行数据加密呢

使用特权

评论回复
19
gaoyang9992006|  楼主 | 2023-1-1 21:42 | 只看该作者
kxsi 发表于 2023-1-1 14:48
如何更改这种显示屏的亮度呢 这种现成的屏幕可以通过发送指令控制亮度吗

可以啊,有个参数控制亮度(对比度)

使用特权

评论回复
20
Jacquetry| | 2023-1-5 17:18 | 只看该作者
引脚占用有点多啊

使用特权

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

本版积分规则

认证:西安公路研究院南京院
简介:主要工作从事监控网络与通信网络设计,以及从事基于嵌入式的通信与控制设备研发。擅长单片机嵌入式系统物联网设备开发,音频功放电路开发。

1897

主题

15635

帖子

198

粉丝