小熊熊 发表于 2025-1-2 20:28:43

学习第一集学习感悟

通过视频学习到了单片机的一些种类 和单片机在生活中的一些应用

小熊熊 发表于 2025-3-2 22:26:26

学习第二集知道了开发板的硬件组成按键LEDAI8051U   数码管等

小熊熊 发表于 2025-3-2 22:27:39

小熊熊 发表于 2025-3-2 22:26
学习第二集知道了开发板的硬件组成按键LEDAI8051U   数码管等
第三集知道了如何点亮一颗LED以及工作条件头文件[图片] 主函数IO输出

小熊熊 发表于 2025-3-2 22:30:00

小熊熊 发表于 2025-3-2 22:27
第三集知道了如何点亮一颗LED以及工作条件头文件[图片] 主函数IO输出

学习了第四集 知道了不断电下载USB 函数了解了 中断等等

小熊熊 发表于 2025-3-2 22:30:51

小熊熊 发表于 2025-3-2 22:30
学习了第四集 知道了不断电下载USB 函数了解了 中断等等
学习了第五集 知道了 打印函数逻
void main(void) //    主函数
{
    P_SW2 |= 0x80;
   
    P0M1 = 0x00;   P0M0 = 0x00;
    P1M1 = 0x00;   P1M0 = 0x00;
    P2M1 = 0x00;   P2M0 = 0x00;
    P3M1 = 0x00;   P3M0 = 0x00;
    P4M1 = 0x00;   P4M0 = 0x00;
    P5M1 = 0x00;   P5M0 = 0x00;
    P6M1 = 0x00;   P6M0 = 0x00;
    P7M1 = 0x00;   P7M0 = 0x00;
   
    usb_init();                                     //USB CDC 接口配置
   
    EA = 1;
   
    while (DeviceState != DEVSTATE_CONFIGURED);   //等待USB完成配置

    while (1)
    {
      if (bUsbOutReady)
      {
//            USB_SendData(UsbOutBuffer,OutNumber);//发送数据缓冲区,长度(接收数据原样返回, 用于测试)
                       
辑与 或非   一些逻辑运算符

小熊熊 发表于 2025-3-2 22:33:05

学习了第六集 了解了IO                
                        printf("一起来打王者荣耀\r\n");
            usb_OUT_done();
                }
               
                if(P32==0)
                {
                Delay10ms();
               
                        state = !state;
                        P20=state;
                        printf("state;%d\r\n",(int)state);
                       
                        while(P32==0);
                }
      }
    }

        按键输入 延时函数   

小熊熊 发表于 2025-3-4 12:06:04

学习了第七集了解定时的工作原理 只是 编译一直报错 不知道是哪里的问题    #include "ai8051u.h"//        调用头文件
#include "stc32_stc8_usb.h"
#include "intrins.h"
#defineU8 unsigned char
#define U16 unsigned int
U8 state=0;
U8Run_stste=0;
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void Delay10ms(void)        //@24.000MHz
{
        unsigned char data i, j;

        i = 234;
        j = 115;
        do
        {
                while (--j);
        } while (--i);
}
void Timer1_Init(void)                //3秒@24.000MHz
{
        TM1PS = 0x5B;                        //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
        AUXR &= 0xBF;                        //定时器时钟12T模式
        TMOD &= 0x0F;                        //设置定时器模式
        TL1 = 0x3F;                                //设置定时初始值
        TH1 = 0x01;                                //设置定时初始值
        TF1 = 0;                                //清除TF1标志
        TR1 = 1;                                //定时器1开始计时
        ET1 = 1;                                //使能定时器1中断
}
void main(void) //    主函数
{
        WTST=0;
        EAXFR=1;
        CKCON=0;       
    P0M1 = 0x00;   P0M0 = 0x00;
    P1M1 = 0x00;   P1M0 = 0x00;
    P2M1 = 0x00;   P2M0 = 0x00;
    P3M1 = 0x00;   P3M0 = 0x00;
    P4M1 = 0x00;   P4M0 = 0x00;
    P5M1 = 0x00;   P5M0 = 0x00;
    P6M1 = 0x00;   P6M0 = 0x00;
    P7M1 = 0x00;   P7M0 = 0x00;
   
    usb_init();        // USB CDC 接口配置
       
        IE2 |= 0x80;
        Timer1_Init();
   EA = 1;
       
    while (DeviceState != DEVSTATE_CONFIGURED);   // 等待USB完成配置
    while (1)
    {
      if (bUsbOutReady)
      {
//            USB_SendData(UsbOutBuffer,OutNumber);//发送数据缓冲区,长度(接收数据原样返回, 用于测试)
                       
                        printf("一起来打王者荣耀\r\n");
            usb_OUT_done();
                }
               
                if(P32==0)
                {
                  Delay10ms();
                        while(P32==0);
      }
    }
}

       void Timer1_Isr(void) interrupt 3
   {
           state = !state;
             P20=state;
   }

Rebuild target 'Target 1'
compiling main.c...
linking...
*** WARNING L27: INCOMPATIBLE INTERRUPT FRAME SIZE
    MODULE:.\新建文件夹\范例程序\查询模式STC-CDC范例程序\stc32g_cdc_query_demo\stc_usb_cdc_32.LIB (usb)
    FRAME:   4 BYTES SAVED ON INTERRUPT
Program Size: data=8.3 edata+hdata=424 xdata=192 const=73 code=7688
creating hex file from ".\Objects\LED1"...
".\Objects\LED1" - 0 Error(s), 1 Warning(s).
Build Time Elapsed:00:00:00

小熊熊 发表于 2025-3-4 15:55:26

#include "ai8051u.h"//        调用头文件
#include "stc32_stc8_usb.h"
#include "intrins.h"
#defineU8 unsigned char
#define U16 unsigned int
U8 state=0;
U8Run_stste=0;
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void Delay10ms(void)        //@24.000MHz
{
        unsigned char data i, j;

        i = 234;
        j = 115;
        do
        {
                while (--j);
        } while (--i);
}
void Timer1_Init(void)                //3秒@24.000MHz
{
        TM1PS = 0x5B;                        //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
        AUXR &= 0xBF;                        //定时器时钟12T模式
        TMOD &= 0x0F;                        //设置定时器模式
        TL1 = 0x3F;                                //设置定时初始值
        TH1 = 0x01;                                //设置定时初始值
        TF1 = 0;                                //清除TF1标志
        TR1 = 1;                                //定时器1开始计时
        ET1 = 1;                                //使能定时器1中断
}
void main(void) //    主函数
{
        int count = 1;
        WTST=0;
        EAXFR=1;
        CKCON=0;       
    P0M1 = 0x00;   P0M0 = 0x00;
    P1M1 = 0x00;   P1M0 = 0x00;
    P2M1 = 0x00;   P2M0 = 0x00;
    P3M1 = 0x00;   P3M0 = 0x00;
    P4M1 = 0x00;   P4M0 = 0x00;
    P5M1 = 0x00;   P5M0 = 0x00;
    P6M1 = 0x00;   P6M0 = 0x00;
    P7M1 = 0x00;   P7M0 = 0x00;
   
    usb_init();        // USB CDC 接口配置
       
        IE2 |= 0x80;
        Timer1_Init();
    EA = 1;
    while (DeviceState != DEVSTATE_CONFIGURED);   // 等待USB完成配置
    while (1)
    {
      if (bUsbOutReady)
      {
//            USB_SendData(UsbOutBuffer,OutNumber);//发送数据缓冲区,长度(接收数据原样返回, 用于测试)
                       
                        printf("一起来打王者荣耀\r\n");
            usb_OUT_done();
                }
               
                if(P32==0)
                {
                  Delay10ms();
                        if(P32==0)
                        {
                  printf("按键按下次数\xfd;%d次\r\n",(int)count);
                        count++;
                        while(P32==0);
      }
         }
       }
}
       void Timer1_Isr(void) interrupt 3
   {
           state = !state;
             P20=state;
   }

小熊熊 发表于 2025-3-4 12:06
学习了第七集了解定时的工作原理 只是 编译一直报错 不知道是哪里的问题   
Rebuild target 'Target 1'
co ...

经过论坛大哥的帮助 已经可以使用了 只是 一直还有警告但是功能可以实现了
页: [1]
查看完整版本: 学习第一集学习感悟