找回密码
 立即注册
查看: 261|回复: 7

学习第一集学习感悟

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-03-15 08:01:51
已绑定手机

7

主题

27

回帖

153

积分

注册会员

积分
153
发表于 2025-1-2 20:28:43 | 显示全部楼层 |阅读模式
通过视频学习到了单片机的一些种类 和单片机在生活中的一些应用
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-03-15 08:01:51
已绑定手机

7

主题

27

回帖

153

积分

注册会员

积分
153
发表于 2025-3-2 22:26:26 | 显示全部楼层
学习第二集知道了开发板的硬件组成  按键  LED  AI8051U   数码管等
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-03-15 08:01:51
已绑定手机

7

主题

27

回帖

153

积分

注册会员

积分
153
发表于 2025-3-2 22:27:39 | 显示全部楼层
小*** 发表于 2025-3-2 22:26
学习第二集知道了开发板的硬件组成  按键  LED  AI8051U   数码管等

第三集知道了如何点亮一颗LED  以及工作条件  头文件[图片] 主函数  IO输出
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-03-15 08:01:51
已绑定手机

7

主题

27

回帖

153

积分

注册会员

积分
153
发表于 2025-3-2 22:30:00 | 显示全部楼层
小*** 发表于 2025-3-2 22:27
第三集知道了如何点亮一颗LED  以及工作条件  头文件[图片] 主函数  IO输出

学习了第四集 知道了  不断电下载  USB 函数  了解了 中断  等等
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-03-15 08:01:51
已绑定手机

7

主题

27

回帖

153

积分

注册会员

积分
153
发表于 2025-3-2 22:30:51 | 显示全部楼层
小*** 发表于 2025-3-2 22:30
学习了第四集 知道了  不断电下载  USB 函数  了解了 中断  等等

学习了第五集 知道了 打印函数  逻
  1. void main(void) //    主函数
  2. {
  3.     P_SW2 |= 0x80;
  4.    
  5.     P0M1 = 0x00;   P0M0 = 0x00;
  6.     P1M1 = 0x00;   P1M0 = 0x00;
  7.     P2M1 = 0x00;   P2M0 = 0x00;
  8.     P3M1 = 0x00;   P3M0 = 0x00;
  9.     P4M1 = 0x00;   P4M0 = 0x00;
  10.     P5M1 = 0x00;   P5M0 = 0x00;
  11.     P6M1 = 0x00;   P6M0 = 0x00;
  12.     P7M1 = 0x00;   P7M0 = 0x00;
  13.    
  14.     usb_init();                                     //USB CDC 接口配置
  15.    
  16.     EA = 1;
  17.    
  18.     while (DeviceState != DEVSTATE_CONFIGURED);     //等待USB完成配置
  19.     while (1)
  20.     {
  21.         if (bUsbOutReady)
  22.         {
  23. //            USB_SendData(UsbOutBuffer,OutNumber);//发送数据缓冲区,长度(接收数据原样返回, 用于测试)
  24.                        
复制代码

辑与 或非   一些逻辑运算符
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-03-15 08:01:51
已绑定手机

7

主题

27

回帖

153

积分

注册会员

积分
153
发表于 2025-3-2 22:33:05 | 显示全部楼层
学习了第六集 了解了  IO
  1.                
  2.                         printf("一起来打王者荣耀\r\n");
  3.             usb_OUT_done();
  4.                 }
  5.                
  6.                 if(P32==0)
  7.                 {
  8.                 Delay10ms();
  9.                
  10.                         state = !state;
  11.                         P20=state;
  12.                         printf("state;%d\r\n",(int)state);
  13.                        
  14.                         while(P32==0);
  15.                 }
  16.         }
  17.     }
  18.        
复制代码
按键输入 延时函数   
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-03-15 08:01:51
已绑定手机

7

主题

27

回帖

153

积分

注册会员

积分
153
发表于 2025-3-4 12:06:04 | 显示全部楼层
学习了第七集了解定时的工作原理 只是 编译一直报错 不知道是哪里的问题   
  1. #include "ai8051u.h"//        调用头文件
  2. #include "stc32_stc8_usb.h"
  3. #include "intrins.h"
  4. #define  U8 unsigned char
  5. #define U16 unsigned int
  6. U8 state=0;
  7. U8  Run_stste=0;
  8. char *USER_DEVICEDESC = NULL;
  9. char *USER_PRODUCTDESC = NULL;
  10. char *USER_STCISPCMD = "@STCISP#";
  11. void Delay10ms(void)        //@24.000MHz
  12. {
  13.         unsigned char data i, j;
  14.         i = 234;
  15.         j = 115;
  16.         do
  17.         {
  18.                 while (--j);
  19.         } while (--i);
  20. }
  21.   void Timer1_Init(void)                //3秒@24.000MHz
  22. {
  23.         TM1PS = 0x5B;                        //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
  24.         AUXR &= 0xBF;                        //定时器时钟12T模式
  25.         TMOD &= 0x0F;                        //设置定时器模式
  26.         TL1 = 0x3F;                                //设置定时初始值
  27.         TH1 = 0x01;                                //设置定时初始值
  28.         TF1 = 0;                                //清除TF1标志
  29.         TR1 = 1;                                //定时器1开始计时
  30.         ET1 = 1;                                //使能定时器1中断
  31. }
  32. void main(void) //    主函数
  33. {
  34.         WTST=0;
  35.         EAXFR=1;
  36.         CKCON=0;       
  37.     P0M1 = 0x00;   P0M0 = 0x00;
  38.     P1M1 = 0x00;   P1M0 = 0x00;
  39.     P2M1 = 0x00;   P2M0 = 0x00;
  40.     P3M1 = 0x00;   P3M0 = 0x00;
  41.     P4M1 = 0x00;   P4M0 = 0x00;
  42.     P5M1 = 0x00;   P5M0 = 0x00;
  43.     P6M1 = 0x00;   P6M0 = 0x00;
  44.     P7M1 = 0x00;   P7M0 = 0x00;
  45.    
  46.     usb_init();        // USB CDC 接口配置
  47.        
  48.         IE2 |= 0x80;
  49.         Timer1_Init();
  50.      EA = 1;
  51.        
  52.     while (DeviceState != DEVSTATE_CONFIGURED);     // 等待USB完成配置
  53.     while (1)
  54.     {
  55.         if (bUsbOutReady)
  56.         {
  57. //            USB_SendData(UsbOutBuffer,OutNumber);//发送数据缓冲区,长度(接收数据原样返回, 用于测试)
  58.                        
  59.                         printf("一起来打王者荣耀\r\n");
  60.             usb_OUT_done();
  61.                 }
  62.                
  63.                 if(P32==0)
  64.                 {
  65.                     Delay10ms();
  66.                         while(P32==0);
  67.         }
  68.     }
  69. }
  70.          void Timer1_Isr(void) interrupt 3
  71.    {
  72.            state = !state;
  73.                P20=state;
  74.    }
复制代码

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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-03-15 08:01:51
已绑定手机

7

主题

27

回帖

153

积分

注册会员

积分
153
发表于 2025-3-4 15:55:26 | 显示全部楼层
  1. #include "ai8051u.h"//        调用头文件
  2. #include "stc32_stc8_usb.h"
  3. #include "intrins.h"
  4. #define  U8 unsigned char
  5. #define U16 unsigned int
  6. U8 state=0;
  7. U8  Run_stste=0;
  8. char *USER_DEVICEDESC = NULL;
  9. char *USER_PRODUCTDESC = NULL;
  10. char *USER_STCISPCMD = "@STCISP#";
  11. void Delay10ms(void)        //@24.000MHz
  12. {
  13.         unsigned char data i, j;
  14.         i = 234;
  15.         j = 115;
  16.         do
  17.         {
  18.                 while (--j);
  19.         } while (--i);
  20. }
  21.   void Timer1_Init(void)                //3秒@24.000MHz
  22. {
  23.         TM1PS = 0x5B;                        //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
  24.         AUXR &= 0xBF;                        //定时器时钟12T模式
  25.         TMOD &= 0x0F;                        //设置定时器模式
  26.         TL1 = 0x3F;                                //设置定时初始值
  27.         TH1 = 0x01;                                //设置定时初始值
  28.         TF1 = 0;                                //清除TF1标志
  29.         TR1 = 1;                                //定时器1开始计时
  30.         ET1 = 1;                                //使能定时器1中断
  31. }
  32. void main(void) //    主函数
  33. {
  34.         int count = 1;
  35.         WTST=0;
  36.         EAXFR=1;
  37.         CKCON=0;       
  38.     P0M1 = 0x00;   P0M0 = 0x00;
  39.     P1M1 = 0x00;   P1M0 = 0x00;
  40.     P2M1 = 0x00;   P2M0 = 0x00;
  41.     P3M1 = 0x00;   P3M0 = 0x00;
  42.     P4M1 = 0x00;   P4M0 = 0x00;
  43.     P5M1 = 0x00;   P5M0 = 0x00;
  44.     P6M1 = 0x00;   P6M0 = 0x00;
  45.     P7M1 = 0x00;   P7M0 = 0x00;
  46.    
  47.     usb_init();        // USB CDC 接口配置
  48.        
  49.         IE2 |= 0x80;
  50.         Timer1_Init();
  51.     EA = 1;
  52.     while (DeviceState != DEVSTATE_CONFIGURED);     // 等待USB完成配置
  53.     while (1)
  54.     {
  55.         if (bUsbOutReady)
  56.         {
  57. //            USB_SendData(UsbOutBuffer,OutNumber);//发送数据缓冲区,长度(接收数据原样返回, 用于测试)
  58.                        
  59.                         printf("一起来打王者荣耀\r\n");
  60.             usb_OUT_done();
  61.                 }
  62.                
  63.                 if(P32==0)
  64.                 {
  65.                     Delay10ms();
  66.                         if(P32==0)
  67.                         {
  68.                     printf("按键按下次数\xfd;%d次\r\n",(int)count);
  69.                         count++;
  70.                         while(P32==0);
  71.         }
  72.          }
  73.          }
  74. }
  75.          void Timer1_Isr(void) interrupt 3
  76.    {
  77.            state = !state;
  78.                P20=state;
  79.    }
复制代码

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


经过论坛大哥的帮助 已经  可以使用了 只是 一直还有警告  但是功能可以实现了
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 12:48 , Processed in 0.267428 second(s), 90 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表