找回密码
 立即注册
查看: 379|回复: 3

擎天柱学习:《8051U深度入门到32位51大型实战教学视频》,打卡

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:84
  • 最近打卡:2025-05-06 10:35:46

10

主题

85

回帖

980

积分

版主

积分
980
发表于 2024-12-25 13:25:57 | 显示全部楼层 |阅读模式
第三集 点亮第一个LED
截图202412251319122310.jpg
  1. #include "ai8051u.h"               
  2. void main(void)
  3. {
  4.         P2M0 = 0;               
  5.         P2M1 = 0;
  6.         
  7.         while(1)
  8.         {
  9.                 P20 = 0;        
  10.                 P21 = 0;
  11.                 P22 = 0;
  12.                 P23 = 0;
  13.                 P24 = 0;
  14.                 P25 = 0;
  15.                 P26 = 0;
  16.                 P27 = 0;
  17.         }
  18. }
复制代码

截图202412251335585428.jpg



   







擎天柱点亮第一个LED.zip

46.07 KB, 下载次数: 8

回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:84
  • 最近打卡:2025-05-06 10:35:46

10

主题

85

回帖

980

积分

版主

积分
980
发表于 2024-12-25 14:30:00 | 显示全部楼层
第四集 不停电下载
截图202412251354153650.jpg

  1. #include "ai8051u.h"                        
  2. #include "stc32_stc8_usb.h"               
  3. char *USER_DEVICEDESC = NULL;
  4. char *USER_PRODUCTDESC = NULL;
  5. char *USER_STCISPCMD = "@STCISP#";
  6. void main(void)
  7. {
  8.     P_SW2 |= 0x80;               
  9.         
  10.     P0M1 = 0x00;   P0M0 = 0x00;
  11.     P1M1 = 0x00;   P1M0 = 0x00;
  12.     P2M1 = 0x00;   P2M0 = 0x00;
  13.     P3M1 = 0x00;   P3M0 = 0x00;
  14.     P4M1 = 0x00;   P4M0 = 0x00;
  15.     P5M1 = 0x00;   P5M0 = 0x00;
  16.     P6M1 = 0x00;   P6M0 = 0x00;
  17.     P7M1 = 0x00;   P7M0 = 0x00;
  18.         
  19.     usb_init();                                    
  20.     IE2 |= 0x80;                                    
  21.     EA = 1;                                                                                       
  22.         
  23.         while (DeviceState != DEVSTATE_CONFIGURED);     
  24.         
  25.         while(1)
  26.         {
  27.                
  28.         if (bUsbOutReady)
  29.         {
  30.             USB_SendData(UsbOutBuffer,OutNumber);   
  31.             
  32.             usb_OUT_done();
  33.         }
  34.                                                 
  35.         P20 = 0;        
  36.         P21 = 0;
  37.         P22 = 0;
  38.         P23 = 0;
  39.         P24 = 0;
  40.         P25 = 0;
  41.         P26 = 0;
  42.         P27 = 0;                                       
  43.         }
  44. }
复制代码













USB不停电下载.zip

93.85 KB, 下载次数: 11

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:84
  • 最近打卡:2025-05-06 10:35:46

10

主题

85

回帖

980

积分

版主

积分
980
发表于 2024-12-31 10:15:02 | 显示全部楼层
第五集 使用【Ai8051U】擎天柱核心板—— C语言基础
代码如下:
  1. #include "ai8051u.h"                        
  2. #include "stc32_stc8_usb.h"               
  3. #define u8  unsigned char               
  4. #define u16 unsigned int               
  5.         
  6. u8 X = 200;
  7. u8 Y = 10;
  8. char *USER_DEVICEDESC = NULL;
  9. char *USER_PRODUCTDESC = NULL;
  10. char *USER_STCISPCMD = "@STCISP#";
  11. void main(void)
  12. {
  13.     P_SW2 |= 0x80;               
  14.         
  15.     P0M1 = 0x00;   P0M0 = 0x00;
  16.     P1M1 = 0x00;   P1M0 = 0x00;
  17.     P2M1 = 0x00;   P2M0 = 0x00;
  18.     P3M1 = 0x00;   P3M0 = 0x00;
  19.     P4M1 = 0x00;   P4M0 = 0x00;
  20.     P5M1 = 0x00;   P5M0 = 0x00;
  21.     P6M1 = 0x00;   P6M0 = 0x00;
  22.     P7M1 = 0x00;   P7M0 = 0x00;
  23.         
  24.         usb_init();                                    
  25.     IE2 |= 0x80;                                   
  26.     EA = 1;                                                                                       
  27.         
  28.         while (DeviceState != DEVSTATE_CONFIGURED);     
  29.         
  30.         while(1)
  31.         {
  32.                
  33.         if (bUsbOutReady)                                                        
  34.         {
  35.             //USB_SendData(UsbOutBuffer,OutNumber);   
  36.             
  37.                         if( X && Y )        
  38.                         {
  39.                                 printf("条件为真\r\n");
  40.                         }
  41.                         else
  42.                         {
  43.                                 printf("条件为假\r\n");
  44.                         }
  45.                                 
  46.                         printf("X / Y = %u \r\n",(u16)(X/Y));
  47.                         
  48.                         printf("X %% Y = %u \r\n",(u16)(X%Y));
  49.                         
  50.             usb_OUT_done();                                                        
  51.         }
  52.         }
  53. }
复制代码
截图202412311014129735.jpg


第五集-C语言基础.zip

94.94 KB, 下载次数: 10

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:84
  • 最近打卡:2025-05-06 10:35:46

10

主题

85

回帖

980

积分

版主

积分
980
发表于 2024-12-31 10:51:15 | 显示全部楼层
第六集、使用【Ai8051U】擎天柱核心板——IO口输入输出

任务一:按下P32按钮灯亮,松开P32按钮灯灭
  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.         
  7. u8 state = 0;                                       
  8. char *USER_DEVICEDESC = NULL;
  9. char *USER_PRODUCTDESC = NULL;
  10. char *USER_STCISPCMD = "@STCISP#";
  11. void Delay20ms(void)        ;
  12. {
  13.         unsigned long edata i;
  14.         _nop_();
  15.         _nop_();
  16.         i = 119998UL;
  17.         while (i) i--;
  18. }
  19. void main(void)
  20. {
  21.     WTST = 0;                                                                                 
  22.     EAXFR = 1;                                                                                 
  23.     CKCON = 0;                                                                                 
  24.         
  25.     P0M1 = 0x00;   P0M0 = 0x00;
  26.     P1M1 = 0x00;   P1M0 = 0x00;
  27.     P2M1 = 0x00;   P2M0 = 0x00;
  28.     P3M1 = 0x00;   P3M0 = 0x00;
  29.     P4M1 = 0x00;   P4M0 = 0x00;
  30.     P5M1 = 0x00;   P5M0 = 0x00;
  31.     P6M1 = 0x00;   P6M0 = 0x00;
  32.     P7M1 = 0x00;   P7M0 = 0x00;
  33.         
  34.         usb_init();                                    
  35.     IE2 |= 0x80;                                    
  36.     EA = 1;                                                                                       
  37.         
  38.         while (DeviceState != DEVSTATE_CONFIGURED);   
  39.         
  40.         while(1)
  41.         {
  42.                
  43.         if (bUsbOutReady)                                                        
  44.         {
  45.             //USB_SendData(UsbOutBuffer,OutNumber);   
  46.             
  47.             usb_OUT_done();                                                        
  48.         }
  49.                
  50.                 //任务1:按下P32按钮灯亮,松开P32按钮灯灭;
  51.                 if( P32 == 0 )                                                               
  52.                 {
  53.                         P20 = 0;
  54.                 }
  55.                 else
  56.                 {
  57.                         P20 = 1;
  58.                 }
复制代码


任务二:任务2:按下P32按钮灯灭,松开P32按钮灯亮
  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.         
  7. u8 state = 0;                                       
  8. char *USER_DEVICEDESC = NULL;
  9. char *USER_PRODUCTDESC = NULL;
  10. char *USER_STCISPCMD = "@STCISP#";
  11. void Delay20ms(void)        //@24.000MHz  Delay20ms();
  12. {
  13.         unsigned long edata i;
  14.         _nop_();
  15.         _nop_();
  16.         i = 119998UL;
  17.         while (i) i--;
  18. }
  19. void main(void)
  20. {
  21.     WTST = 0;                                                                                 
  22.     EAXFR = 1;                                                                                 
  23.     CKCON = 0;                                                                                 
  24.         
  25.     P0M1 = 0x00;   P0M0 = 0x00;
  26.     P1M1 = 0x00;   P1M0 = 0x00;
  27.     P2M1 = 0x00;   P2M0 = 0x00;
  28.     P3M1 = 0x00;   P3M0 = 0x00;
  29.     P4M1 = 0x00;   P4M0 = 0x00;
  30.     P5M1 = 0x00;   P5M0 = 0x00;
  31.     P6M1 = 0x00;   P6M0 = 0x00;
  32.     P7M1 = 0x00;   P7M0 = 0x00;
  33.         
  34.         usb_init();                                    
  35.     IE2 |= 0x80;                                    
  36.     EA = 1;                                                                                       
  37.         
  38.         while (DeviceState != DEVSTATE_CONFIGURED);     
  39.         
  40.         while(1)
  41.         {
  42.                
  43.         if (bUsbOutReady)                                                        
  44.         {
  45.             //USB_SendData(UsbOutBuffer,OutNumber);   
  46.             
  47.             usb_OUT_done();                                                        
  48.         }
  49.                 //任务2:按下P32按钮灯灭,松开P32按钮灯亮;
  50.                 if( P32 == 1 )                                                                //判断P32按钮是否按下
  51.                 {
  52.                         P20 = 0;
  53.                 }
  54.                 else
  55.                 {
  56.                         P20 = 1;
  57.                 }
复制代码

任务三:按一下灯亮,按一下灯灭
  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.         
  7. u8 state = 0;                                       
  8. char *USER_DEVICEDESC = NULL;
  9. char *USER_PRODUCTDESC = NULL;
  10. char *USER_STCISPCMD = "@STCISP#";
  11. void Delay20ms(void)        //@24.000MHz  Delay20ms();
  12. {
  13.         unsigned long edata i;
  14.         _nop_();
  15.         _nop_();
  16.         i = 119998UL;
  17.         while (i) i--;
  18. }
  19. void main(void)
  20. {
  21.     WTST = 0;                                                                                 
  22.     EAXFR = 1;                                                                                 
  23.     CKCON = 0;                                                                                 
  24.         
  25.     P0M1 = 0x00;   P0M0 = 0x00;
  26.     P1M1 = 0x00;   P1M0 = 0x00;
  27.     P2M1 = 0x00;   P2M0 = 0x00;
  28.     P3M1 = 0x00;   P3M0 = 0x00;
  29.     P4M1 = 0x00;   P4M0 = 0x00;
  30.     P5M1 = 0x00;   P5M0 = 0x00;
  31.     P6M1 = 0x00;   P6M0 = 0x00;
  32.     P7M1 = 0x00;   P7M0 = 0x00;
  33.         
  34.         usb_init();                                    
  35.     IE2 |= 0x80;                                    
  36.     EA = 1;                                                                                       
  37.         
  38.         while (DeviceState != DEVSTATE_CONFIGURED);     
  39.         
  40.         while(1)
  41.         {
  42.                
  43.         if (bUsbOutReady)                                                        
  44.         {
  45.             //USB_SendData(UsbOutBuffer,OutNumber);   
  46.             
  47.             usb_OUT_done();                                                        
  48.         }
  49.                 //任务3:按一下灯亮,按一下灯灭
  50.                 if( P32 == 0 )                                                                //判断P32按钮是否按下
  51.                 {
  52.                         Delay20ms();                                                        //延时20ms消抖
  53.                         if( P32 == 0 )
  54.                         {
  55.                                 state = !state;                                                //变量取反 0 1 0 1 0 1
  56.                                 P20 = state;
  57.                                 printf("state:%d\r\n",(int)state);
  58.                                 
  59.                                 while( P32 == 0 );                                        //等待P32松开
  60.                                 
  61.                         }
  62.                 }
  63.         
  64.                
  65.         }
  66. }
复制代码


第六集 IO口输入输出.zip

95.57 KB, 下载次数: 11

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-6 21:51 , Processed in 1.416717 second(s), 70 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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