YangHY 发表于 2025-12-26 10:30:59

那么,一秒就要加1,怎么实现?

明显就是要计时啦

/*往下是任务三的代码
void TIMECOUNT_Task(void)
{
        miao ++;
        if( miao>59 )
        {
                miao = 0;
                fen++;
                if( fen>59 )
                {
                        fen = 0;
                        shi ++;
                        if( shi>23 )
                                shi = 0;
                }
        }
}


YangHY 发表于 2025-12-26 10:37:45

记得去周期性调度函数,增加个新任务:

static TASK_COMPONENTS Task_Comps[]=
{
//状态计数周期函数
       
   {0,    1 ,1   ,   Seg_Task},      /* task 1 Period: 1ms */
   {0,1000,1000,   TIMECOUNT_Task},/* task 1 Period: 1000ms */
// {0,1000,1000,   PLED_40},         /* task 1 Period: 1000ms */   
// {0,1000,1000,   SEG_PC},          /* task 1 Period: 1000ms */   

};

YangHY 发表于 2025-12-26 10:40:09

记得1s=1000ms

YangHY 发表于 2025-12-26 10:42:39

数码管是到处都用的,很稳定,价格低:

一点要学会才行的

YangHY 发表于 2025-12-26 10:44:23

接下来开启PC机屏幕“虚拟显示”:

YangHY 发表于 2025-12-27 08:14:16

看示例2, 9本身是1001

就是P0口和P4口有效

且P0是55---0101 0101    P4是AA-----10101010


YangHY 发表于 2025-12-27 08:18:25

上面的示例3有错

原来是

示例3:发送4CH 45H 44H 28H 05H OFH 11H 22H 33H 44H修改PO口的状态为11H,P1口为22H,P2口为33H,P3为44H,P4□为55H,P50为66H

正确的是:


示例3:发送4CH 45H 44H 28H 05H OFH 11H 22H 33H 44H修改PO口的状态为11H,P1口为22H,P2口为33H,P3口为44H,P4口为55H

YangHY 发表于 2025-12-27 08:30:53

我们来具体使用一下虚拟数码管:

void PLED_40(void)
{
        u8 cod;
        cod = 0x0f;                //表示开启P0-P3
        cod = 0X01;                //P0端口       
        cod = 0X01;                //P1端口
        cod = T_NUM;                //P2端口
//cod = ~T_NUM;                //P2端口
        cod = 0X01;                //P3端口
        LED40_SendData( cod,5 ); //这个函数在USB库里
//说明在STC32_STC8_USB.H里,详见:
//void LED40_SendData(BYTE *dat, BYTE size):
//2个参数,第一个是数组名字,第二个是成员数量
       
        P2 = T_NUM;
//P2 = ~T_NUM;       
        state_now++;
        if( state_now>7 )
                state_now = 0;

上面是试验箱的流水灯+USD-CDC调试接口虚拟显示
}

YangHY 发表于 2025-12-27 08:33:00

打开我们的调试仿真接口:

YangHY 发表于 2025-12-27 08:35:59

先要设置:

把调试接口绑定到CDC的COM8口

页: 25 26 27 28 29 30 31 32 33 34 [35] 36 37 38 39 40 41 42 43 44
查看完整版本: 第一课 序言《AI8051U的特点》