8051启蒙者 发表于 2024-12-28 09:40:59

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

第三集:擎天柱点亮LED灯
源代码如下:
#include "ai8051u.h"                //调用头文件
void main(void)
{
      P2M0 = 0;                //P2端口(P20-P27)为准双向口
      P2M1 = 0;
      
      while(1)
      {
                P20 = 0;      //P20端口输出0V
                P21 = 0;      //P21端口输出0V
      }
}




8051启蒙者 发表于 2024-12-31 13:52:47

第四集 不停电下载

[*]#include "ai8051u.h"                        
[*]#include "stc32_stc8_usb.h"               
[*]
[*]char *USER_DEVICEDESC = NULL;
[*]char *USER_PRODUCTDESC = NULL;
[*]char *USER_STCISPCMD = "@STCISP#";
[*]
[*]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();
[*]
[*]    IE2 |= 0x80;
[*]    EA = 1;
[*]
[*]      while (DeviceState != DEVSTATE_CONFIGURED);
[*]
[*]      while(1)
[*]      {
[*]
[*]      if (bUsbOutReady)
[*]      {
[*]            USB_SendData(UsbOutBuffer,OutNumber);
[*]
[*]            usb_OUT_done();
[*]      }
[*]
[*]      P20 = 0;
[*]      P21 = 0;
[*]      P22 = 0;
[*]      P23 = 0;
[*]      P24 = 0;
[*]      P25 = 0;
[*]      P26 = 0;
[*]      P27 = 0;
[*]
[*]      }
[*]}




8051启蒙者 发表于 2025-1-16 10:53:19

第五集 C语言基础
#include "AI8051U.h"               
#include "AI_usb.h"
#define u8unsigned char
#define u16 unsigned int
u8 X = 66;
u8 Y = 6;
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
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();
      IE2 |= 0x80;                                    
    EA = 1;
         while (DeviceState != DEVSTATE_CONFIGURED);
      while(1)
      {
               if (bUsbOutReady)
      {
            USB_SendData(UsbOutBuffer,OutNumber);   //发送数据缓冲区,长度(接收数据原样返回, 用于测试)   
             if(X>Y)
                         {
                         printf("条件为真\r\n");
                         }
                         else
                         {
                        printf("条件为假\r\n");
                         }                  
            usb_OUT_done();
      }
      }
}

页: [1]
查看完整版本: 擎天柱学习:《8051U深度入门到32位51大型实战教学视频》打卡