找回密码
 立即注册
查看: 360|回复: 5

STC8H8K64 不同组的IO口组成一个组驱动数码管怎么操作

[复制链接]
已绑定手机

1

主题

3

回帖

17

积分

新手上路

积分
17
发表于 2026-1-23 09:16:04 | 显示全部楼层 |阅读模式
STC8H8K, 不同的IO口组成一组IO控制动态的扫描8位8段LED驱动:段 P1.0  P1.2  P1.3  P1.4  P3.4 P3.5  P3.6  P3.7 ;位 P0.0  P0.1  P0.2   P0.3    P2.0  P2.1  P2.2   P2.3
怎么操作?
恳请高手给个完整的程序例子。

不胜感谢
回复

使用道具 举报 送花

已绑定手机

7

主题

445

回帖

6692

积分

论坛元老

积分
6692
发表于 2026-1-23 09:22:47 | 显示全部楼层
C语言的位运算了解一下
回复

使用道具 举报 送花

已绑定手机

1

主题

3

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2026-1-23 09:35:46 | 显示全部楼层
我也用位操作去设过,但组成一组操作,操作不了。有没有类似的程序发个过来,不胜感谢。
回复

使用道具 举报 送花

已绑定手机

96

主题

7378

回帖

1万

积分

超级版主

积分
14037
发表于 2026-1-23 10:00:28 | 显示全部楼层
段位亮灭是拼音

  1. #define                liang        1        //共阳
  2. #define                mie                0        //共阳
  3. //#define                liang        0        //共阴
  4. //#define                mie                1        //共阴
  5. void wei(unsigned char a)
  6. {
  7.         P10=mie;
  8.         P12=mie;
  9.         P13=mie;
  10.         P14=mie;
  11.         P34=mie;
  12.         P35=mie;
  13.         P36=mie;
  14.         P37=mie;
  15.         switch(a)
  16.         {
  17.                 case 0:
  18.                         P10=liang;
  19.                 break;
  20.                 case 1:
  21.                         P12=liang;
  22.                 break;
  23.                 case 2:
  24.                         P13=liang;
  25.                 break;
  26.                 case 3:
  27.                         P14=liang;
  28.                 break;
  29.                 case 4:
  30.                         P34=liang;
  31.                 break;
  32.                 case 5:
  33.                         P35=liang;
  34.                 break;
  35.                 case 6:
  36.                         P36=liang;
  37.                 break;
  38.                 case 7:
  39.                         P37=liang;
  40.                 break;
  41.                 default:
  42.                 break;
  43.         }
  44. }
  45. void duan(unsigned char b)
  46. {
  47.         P00=(bit)b&0x01;
  48.         P01=(bit)b&0x02;
  49.         P02=(bit)b&0x04;
  50.         P03=(bit)b&0x08;
  51.         P20=(bit)b&0x10;
  52.         P21=(bit)b&0x20;
  53.         P22=(bit)b&0x40;
  54.         P23=(bit)b&0x80;
  55. }
复制代码


回复

使用道具 举报 送花

已绑定手机

24

主题

701

回帖

2731

积分

金牌会员

积分
2731
发表于 2026-1-23 10:34:03 | 显示全部楼层
#define SEG_A        0x01
#define SEG_B        0x02
#define SEG_C        0x04
#define SEG_D        0x08
#define SEG_E        0x10
#define SEG_F        0x20
#define SEG_G        0x40
#define SEG_H        0x80



u8 g_aucDispBuf[8];

void LedDispStr(u8* pStr)
{
        memcpy(g_aucDispBuf, pStr, strlen(pStr);
}

void DispLed(void)
{
        if (g_aucDispBuf[x] & SEG_A)
        {
                P10 = ON;
        }
        else
        {
                P10 = OFF;
        }
       
        if (g_aucDispBuf[x] & SEG_H)
        {
                P37 = ON;
        }
        else
        {
                P37 = OFF;
        }
        ......
}
回复

使用道具 举报 送花

已绑定手机

1

主题

3

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2026-1-24 09:07:12 | 显示全部楼层
楼上两位高手,谢谢!真是十分感谢!!!
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-7 12:47 , Processed in 0.070031 second(s), 62 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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