forstc 发表于 2025-9-20 16:26:25

冲哥,买了官网的擎天柱板子

移植了USB不停电下载 ,但是要每次断电才行




sdwg0546 发表于 2025-9-20 16:34:40

sdwg0546 发表于 2025-9-20 15:42
if(timer0_1mscnt==500){
                        timer0_1mscnt=0;
                        P2=~(0x01

问题已经找到了,在中断中能准确到500MS,而在查询方法,主循环的运行过程中,有很大的可能超过500MS,条件不成立,而大于等于500就可以正常,

sdwg0546 发表于 2025-9-21 07:54:55

H:\360MoveData\Users\Administrator\Desktop\4f7.jpg 擎天柱核心板完美兼容普中89c52

sdwg0546 发表于 2025-9-21 07:57:37

sdwg0546 发表于 2025-9-21 07:54
擎天柱核心板完美兼容普中89c52

擎天柱核心板完美兼容普中89c52

sdwg0546 发表于 2025-9-21 11:00:37

今天的课程有深度,如果没有一点基础,还真是听不懂。这节课收获太大了

sdwg0546 发表于 2025-9-21 11:10:24

以前学的是用函数指针数组,还注册回调函数,今天学会了用结构体,结构体,更实用,谢谢冲哥

sdwg0546 发表于 2025-9-21 11:16:44

forstc 发表于 2025-9-20 16:26
冲哥,买了官网的擎天柱板子

移植了USB不停电下载 ,但是要每次断电才行


把串口关了

forstc 发表于 2025-9-22 10:36:45

sdwg0546 发表于 2025-9-21 11:16
把串口关了

{:qiang:}



感谢!
不要勾选这里的:编程完自动打开

sdwg0546 发表于 2025-9-24 09:41:27

#include "SEG.h"

#define SEG_595_DATA P34
#define SEG_595_RCKP35
#define SEG_595_SCKP32

static u8 code SEG_Segment[]=
{
    0x3f,        /*"0", /* 0 */
    0x06,        /*"1", /* 1 */
    0x5b,        /*"2", /* 2 */
    0x4f,        /*"3", /* 3 */
    0x66,        /*"4", /* 4 */
    0x6d,        /*"5", /* 5 */
    0x7d,        /*"6", /* 6 */
    0x07,        /*"7", /* 7 */
    0x7f,        /*"8", /* 8 */
    0x6f,        /*"9", /* 9 */
    0x77,        /*"A", /* 10 */
    0x7c,        /*"B", /* 11 */
    0x39,        /*"C", /* 12 */
    0x5e,        /*"D", /* 13 */
    0x79,        /*"E", /* 14 */
    0x71,        /*"F", /* 15 */
    0x40,        /*"-", /* 16 */
    0x00,        /*空 ", /* 17 */
    0x80,        /*".", /* 18 */
};       

static u8 code SEG_Digit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//共阴极数码管

static u8 SEG_Display_Buff[]={0,1,2,3,4,5,6,7};

void SEG_595_Data(u8 dat)
{
        u8 i;
        for(i=0;i<8;i++)
        {
               
                dat<<=1;
                SEG_595_DATA=CY;
                SEG_595_SCK=0;
                SEG_595_SCK=1;
               
        }
}

void SEG_Display(u8 segment,u8 digit)
{
       
        SEG_595_Data(segment);
        SEG_595_Data(digit);
        SEG_595_RCK=0;
        SEG_595_RCK=1;
       
}

void Task_SEG()
{
        static u8 i;
        SEG_Display(SEG_Display_Buff,SEG_Digit);
        if(i>7) i=0;
}各位大佬,帮我看下,那里出问题了

sdwg0546 发表于 2025-9-24 11:43:10

sdwg0546 发表于 2025-9-24 09:41
#include "SEG.h"

#define SEG_595_DATA P34


问题已经找到,是传参的接收的问题SEG_Segment[]应该是SEG_595_Data(SEG_Segment);
页: 192 193 194 195 196 197 198 199 200 201 [202] 203 204 205 206 207 208
查看完整版本: 《8051U深度入门到32位51大型实战视频》,【免费 + 包邮 送】实验箱@Ai8051U,100万套