Lkck8210 发表于 2024-5-20 13:36:30

microEC 发表于 2024-5-20 13:00
感谢,CSAE语句有选择,我想会造成执行时间有长短,但是有一个思路,应该尝试指针 ...

#include <STC32G.H>

volatile unsigned char aiData[] = {0x1,0x3,0x7,0xF,0x1F,0x3F,0x7F,0xFF};
volatile unsigned char iIndex;
volatile unsigned char iIndexa;
volatile unsigned char edata iByte;
volatile unsigned char iBit;
sbit iByte0 = iByte^0;
sbit iByte1 = iByte^1;
sbit iByte2 = iByte^2;
sbit iByte3 = iByte^3;
sbit iByte4 = iByte^4;
sbit iByte5 = iByte^5;
sbit iByte6 = iByte^6;
sbit iByte7 = iByte^7;

void main()
{
        WTST = 0;
        EAXFR = 1;
        CKCON = 0;

        P0M1 = 0xF0;
        P0M0 = 0x00;

        EA = 0;

        iIndex = 0;

        while (1)
        {
                if (iIndex > 7)
                {
                        iIndex = 0;
                        P03 = 0;
                }
                P01 = 0;
                iIndexa = 7 - iIndex;
                iByte = aiData;
                P03=iByte0;
                P03=iByte1;
                P03=iByte2;
                P03=iByte3;
                P03=iByte4;
                P03=iByte5;
                P03=iByte6;
                P03=iByte7;
                P01 = 1;
                iIndex++;

        }

}

orange 发表于 2024-6-4 09:36:33

stc单片机里面有个PSR寄存器控制引脚电平转换速度,可以试试,我只看到过,没有测试
页: 1 [2]
查看完整版本: 求助!这个功能怎么写完成的速度快