找回密码
 立即注册
楼主: DebugLab

zui小 P10 LED 点阵屏控制卡 8脚STC单片机

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-04-25 07:43:18

8

主题

25

回帖

210

积分

中级会员

积分
210
发表于 2024-3-11 18:14:58 | 显示全部楼层
这几个什么目的?没看懂,大神指点一下呗

void Line_Driver(unsigned char line)  //上8,下8  接口A,B
{
        ADDR_A=line%2;         //取余运算符
        ADDR_B=line/2;         //除以2
}

void Send_One_Byte(unsigned char temp)     //传送一个字节
{
        unsigned char i,temp1;
        for(i=0;i<8;i++)
        {
                temp1<<=1;
                if(temp&0x01)
                        temp1|=0x01;
                temp>>=1;
        }
        SBUF=~temp1;
        while(!TI);                   //串口发送
        TI=0;
}

void Send_Display(unsigned char line)

点评

https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4613 T_Buffer[11]=Hex_to_Ascii[p%1000000/100000]; T_Buffer[12]=Hex_to_Ascii[p%100000/10000]; T_Buffer[13]=Hex_to_Ascii[p%10000/1000]; T_Buffer[14]  详情 回复 发表于 2024-3-11 23:29
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4849

回帖

8382

积分

超级版主

DebugLab

积分
8382
发表于 2024-3-11 23:29:16 | 显示全部楼层
cpu*** 发表于 2024-3-11 18:14
这几个什么目的?没看懂,大神指点一下呗

void Line_Driver(unsigned char line)  //上8,下8  接口A,B

https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4613
T_Buffer[11]=Hex_to_Ascii[p%1000000/100000];
T_Buffer[12]=Hex_to_Ascii[p%100000/10000];
T_Buffer[13]=Hex_to_Ascii[p%10000/1000];

T_Buffer[14]='.';
T_Buffer[15]=Hex_to_Ascii[p%1000/100];
T_Buffer[16]=Hex_to_Ascii[p%100/10];
T_Buffer[17]=Hex_to_Ascii[p%10];


这是取十进制的每一位能明白吧

ADDR_A=line%2;
ADDR_B=line/2;



同理,这是取二进制的每一位
line,0x00、0x01、0x10、0x11,对应0、1、2、3行,2根线AB对应bit0、bit1,4扫,每行最大占空比25%

for(i=0;i<8;i++)
{
        temp1<<=1;
        if(temp&0x01)
                temp1|=0x01;
        temp>>=1;
}


这是字节按位倒序,否则每8位是反的,字模低位先发,串口高位先发,和这个一样


uint8_t byte_change(uint8_t data)
{
        data = ((data & 0xAA) >> 1) | ((data & 0x55) << 1);
        data = ((data & 0xCC) >> 2) | ((data & 0x33) << 2);
        data = (data >> 4) | (data << 4);
       
        return data;
}


SBUF=~temp1;

while(!TI);
TI=0;


按位取反,0亮1灭,串口方式0发送
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:115
  • 最近打卡:2025-04-22 20:38:33

0

主题

71

回帖

147

积分

注册会员

积分
147
发表于 2024-3-12 10:29:17 | 显示全部楼层
{:5_332:}牛
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-04-25 07:43:18

8

主题

25

回帖

210

积分

中级会员

积分
210
发表于 2024-3-12 21:43:50 | 显示全部楼层
Debu*** 发表于 2024-3-11 23:29
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4613
T_Buffer[11]=Hex_to_Ascii[p%1000000/100 ...

谢谢老师,我再消化一下。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-02 07:55:56
已绑定手机

19

主题

3191

回帖

4872

积分

论坛元老

积分
4872
发表于 2024-3-16 18:55:30 来自手机 | 显示全部楼层
8引脚芯片都能怎么牛啊
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-04-25 07:43:18

8

主题

25

回帖

210

积分

中级会员

积分
210
发表于 2024-5-25 16:33:49 | 显示全部楼层
本帖最后由 cpu51 于 2024-5-25 16:44 编辑

请问大神,这个是单色红,ABCD都是用上的吧?如何修改程序,32*64单元板。P3.75

截图202405251632138989.jpg

点评

这是HUB08,HUB08一般是16扫,ABCD都用,R1上半屏,R2下半屏  详情 回复 发表于 2024-5-25 20:46
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4849

回帖

8382

积分

超级版主

DebugLab

积分
8382
发表于 2024-5-25 20:46:55 | 显示全部楼层
cpu*** 发表于 2024-5-25 16:33
请问大神,这个是单色红,ABCD都是用上的吧?如何修改程序,32*64单元板。P3.75

...

这是HUB08,HUB08一般是16扫,ABCD都用,R1上半屏,R2下半屏
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-04-25 07:43:18

8

主题

25

回帖

210

积分

中级会员

积分
210
发表于 2024-5-26 14:26:23 | 显示全部楼层
Debu*** 发表于 2024-5-25 20:46
这是HUB08,HUB08一般是16扫,ABCD都用,R1上半屏,R2下半屏

有例程可以提供学习吗?谢谢大神!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-04-25 07:43:18

8

主题

25

回帖

210

积分

中级会员

积分
210
发表于 2024-5-27 19:12:22 | 显示全部楼层
本帖最后由 cpu51 于 2024-5-27 20:10 编辑
Debu*** 发表于 2024-3-11 23:29
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4613
T_Buffer[11]=Hex_to_Ascii[p%1000000/100 ...
void Line_Driver(unsigned char line)  // 接口A,B
{
//        ADDR_A=line%2;         //取余运算符
//        ADDR_B=line/2;         //除以2
       
        ADDR_A=line&0x01;         
        ADDR_B=line&0x02;        
        ADDR_C=line&0x04;
        ADDR_D=line&0x08;
       
}
我这样写,对应ABCD4个接口,对吗?显示的结果如图。
IMG20240527200644.jpg

点评

屏结构都不一样,要改很多地方  详情 回复 发表于 2024-5-28 23:11
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4849

回帖

8382

积分

超级版主

DebugLab

积分
8382
发表于 2024-5-28 23:11:15 | 显示全部楼层

屏结构都不一样,要改很多地方
DebugLab
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 20:46 , Processed in 0.128450 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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