找回密码
 立即注册
查看: 114|回复: 1

8H4K64TLCD段码屏程序

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-04-22 11:17:03

16

主题

25

回帖

186

积分

注册会员

积分
186
发表于 2025-2-21 10:01:38 | 显示全部楼层 |阅读模式
段码例程里面有这段程序,有点看不懂,有大神能解释一下吗
        switch( n )
        {
                case 1:
                case 2:
                case 3:
                        LCD_buff[0]  &= ~(1<<seg_pos[n-1]);//0是0,向左移动一位0000 0010向左0000 0100求反1111 1011然后求与就是将里面全变0
                        LCD_buff[5]  &= ~(3<<seg_pos[n-1]);
                        LCD_buff[10] &= ~(3<<seg_pos[n-1]);
                        LCD_buff[15] &= ~(3<<seg_pos[n-1]);
               
                        if(dat & 0x01)                LCD_buff[15] |= (1<<seg_pos[n-1]);        //T_SEG_ABC[n];                //A
                        if(dat & 0x02)                LCD_buff[15] |= (2<<seg_pos[n-1]);        //T_SEG_ABC[n];                //B
                        if(dat & 0x04)                LCD_buff[5]  |= (2<<seg_pos[n-1]);        //T_SEG_ABC[n];                //C
                        if(dat & 0x08)                LCD_buff[0]  |= (1<<seg_pos[n-1]);        //T_SEG_DEFG[n];        //D
                        if(dat & 0x10)                LCD_buff[5]  |= (1<<seg_pos[n-1]);        //T_SEG_DEFG[n];        //E
                        if(dat & 0x20)                LCD_buff[10] |= (1<<seg_pos[n-1]);        //T_SEG_DEFG[n];        //F
                        if(dat & 0x40)                LCD_buff[10] |= (2<<seg_pos[n-1]);        //T_SEG_DEFG[n];        //G               
                        break;
               
                case 4:

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2025-2-24 11:12:31 | 显示全部楼层
一个8字由7段,刷新显示前,先将这7段对应的显存点清0,就是程序的上半部分。之后就是将这7段显示的点填入1,就是程序下半部分。如果设计LCD屏是考虑好驱动连接,就不会这么麻烦。如果是买来的别人的成品屏,则显示点阵往往跟显存没法规律对应,就要如上面程序中逐点处理。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:21 , Processed in 0.146693 second(s), 51 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表