cpu51 发表于 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)

DebugLab 发表于 2024-3-11 23:29:16

cpu51 发表于 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=Hex_to_Ascii;
T_Buffer=Hex_to_Ascii;
T_Buffer=Hex_to_Ascii;
T_Buffer='.';
T_Buffer=Hex_to_Ascii;
T_Buffer=Hex_to_Ascii;
T_Buffer=Hex_to_Ascii;

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

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发送

冷月烟 发表于 2024-3-12 10:29:17

{:5_332:}牛

cpu51 发表于 2024-3-12 21:43:50

DebugLab 发表于 2024-3-11 23:29
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4613
T_Buffer=Hex_to_Ascii

谢谢老师,我再消化一下。{:handshake:}

soma 发表于 2024-3-16 18:55:30

8引脚芯片都能怎么牛啊

cpu51 发表于 2024-5-25 16:33:49

本帖最后由 cpu51 于 2024-5-25 16:44 编辑

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

DebugLab 发表于 2024-5-25 20:46:55

cpu51 发表于 2024-5-25 16:33
请问大神,这个是单色红,ABCD都是用上的吧?如何修改程序,32*64单元板。P3.75

...

这是HUB08,HUB08一般是16扫,ABCD都用,R1上半屏,R2下半屏

cpu51 发表于 2024-5-26 14:26:23

DebugLab 发表于 2024-5-25 20:46
这是HUB08,HUB08一般是16扫,ABCD都用,R1上半屏,R2下半屏

有例程可以提供学习吗?谢谢大神!

cpu51 发表于 2024-5-27 19:12:22

本帖最后由 cpu51 于 2024-5-27 20:10 编辑

DebugLab 发表于 2024-3-11 23:29
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4613
T_Buffer=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个接口,对吗?显示的结果如图。

DebugLab 发表于 2024-5-28 23:11:15

cpu51 发表于 2024-5-27 19:12


屏结构都不一样,要改很多地方
页: 1 [2] 3
查看完整版本: zui小 P10 LED 点阵屏控制卡 8脚STC单片机