wjrer 发表于 2025-1-23 12:24:33

新手报到

dyx811 发表于 2025-1-23 19:05:03

哇,一下更新了两集。冲哥威武!

白水大虾2016 发表于 2025-1-23 23:33:43

今天还是定时器周期性任务

batcd 发表于 2025-1-24 02:50:05

又更新了,继续学习

汪烁星 发表于 2025-1-24 11:25:48

{:4_167:}

白水大虾2016 发表于 2025-1-24 11:56:35

今日重复点亮一颗LED

乐高 发表于 2025-1-24 20:58:49



刚收到的信息,怎么回事呢?我的芯片就是这个时间段收到的,感觉USB下载没问题啊,怎么查看芯片的固件版本呢?

zmlopq 发表于 2025-1-25 08:51:34

又更新了,继续学习

mingliang 发表于 2025-1-25 08:52:45

继续学习zhong{:4_174:}

q342698102 发表于 2025-1-25 10:56:46

老师,这段定时器没有动起来{:4_167:}

#include "AI8051U.h"
#include "stc32_stc8_usb.h"                        //调用头文件
#include "intrins.h"

#define u8 unsigned char                //8位无符号变量(0-255)
#define u6 unsigned int                //16位无符号变量(0-65535)
       
u8 led1=0;
u8 led2=0;
u8 led3=0;
u8 i;

//u8 state={1,2,3,4,5,6,7,8,9,10};            //运行状态

u16 count_ms={0,0,0};

char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";

void Timer0_Init(void)                //1毫秒@24.000MHz
{
        AUXR &= 0x7F;                        //定时器时钟12T模式
        TMOD &= 0xF0;                        //设置定时器模式
        TL0 = 0x30;                                //设置定时初始值
        TH0 = 0xF8;                                //设置定时初始值
        TF0 = 0;                                //清除TF0标志
        TR0 = 1;                                //定时器0开始计时
        ET0 = 1;                                //使能定时器0中
}

//Main 主函数***********************

void main(void)       
{       
       
        WTST = 0;                //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    EAXFR = 1;                 //扩展寄存器(XFR)访问使能
    CKCON = 0;                 //提高访问XRAM速度
       
        P0M0 = 0X00;        P0M1 = 0X00;       
        P1M0 = 0X00;        P1M1 = 0X00;
        P2M0 = 0X00;        P2M1 = 0X00;
        P3M0 = 0X00;        P3M1 = 0X00;
        P4M0 = 0X00;        P4M1 = 0X00;
        P5M0 = 0X00;        P5M1 = 0X00;
        P6M0 = 0X00;        P6M1 = 0X00;
        P7M0 = 0X00;        P7M1 = 0X00;       
        P40 = 0;
       
        usb_init();                                                        //初始化USB CDC 接口配置
        Timer0_Init();                                                //调用定时器函数(定时器初始化)
        IE2 |= 0x80;                                                 //使能USB中断
        EA = 1;                                                                //打开总中断


        while(1)                                                        //一直执行
        {
          P20 = 0;
                if (bUsbOutReady)
      {
            usb_OUT_done();
      }
               

        }
}


void Timer0_Isr(void) interrupt 1                //定时器0中断,3秒执行一次
{       
        for(i=0;i<3;i++)
          {
             count_ms++;                  
          }
                if (count_ms >= 300);
                  {
                  count_ms = 0;
                  led1 = !led1;
                  P21 = led1;
                  }
}
页: 57 58 59 60 61 62 63 64 65 66 [67] 68 69 70 71 72 73 74 75 76
查看完整版本: 《8051U深度入门到32位51大型实战视频》,【免费 + 包邮 送】实验箱@Ai8051U,100万套