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

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-04-27 10:40:24

11

主题

425

回帖

1973

积分

版主

积分
1973
发表于 2025-1-3 09:46:48 | 显示全部楼层 |阅读模式
第三集:擎天柱点亮一个LED灯,测试通过:
截图202501030945576580.jpg

#include "ai8051u.h"                //调用头文件

//擎天柱的LED端口在P2,且没有三极管的电源控制,所以只要控制P2端口即可
void main(void)
{
        P2M0 = 0;                //P2端口(P20-P27)为准双向口
        P2M1 = 0;
        while(1)
        {
        P20 = 0;                //P20端口输出0V
        }
}


QQ:2269694595     微信:18106296594
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-04-27 10:40:24

11

主题

425

回帖

1973

积分

版主

积分
1973
发表于 2025-1-3 10:05:10 | 显示全部楼层
第四集 擎天柱USB不停电下载,测试通过:
截图202501031002364993.jpg
截图202501031003024361.jpg

#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;                                        //B7位写1,使能访问XFR
       
        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;                        //使能USB中断
        EA = 1;       
       
        while (DeviceState != DEVSTATE_CONFIGURED);     //等待USB完成配置
       
        while(1)
        {
                if (bUsbOutReady)
              {
                   USB_SendData(UsbOutBuffer,OutNumber);   //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
            
                   usb_OUT_done();
              }               
                P20= 0 ;                        //注意:擎天柱的LED端口在P2,P20端口输出0V               
        }
}



QQ:2269694595     微信:18106296594
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-04-27 10:40:24

11

主题

425

回帖

1973

积分

版主

积分
1973
发表于 2025-1-3 10:29:04 | 显示全部楼层
第五集 C语言基础,测试通过:
截图202501031023417869.jpg

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

#define u8  unsigned char                //8位无符号变量(0~255)
#define        u16 unsigned int                //16位无符号变量(0~65535)
       
u8 X = 200;
u8 Y = 10;

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

void main(void)
{
        P_SW2 |= 0x80;                                                        //B7位写1,使能访问XFR
       
        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;                             //使能USB中断
       EA = 1;       

       
        while (DeviceState != DEVSTATE_CONFIGURED);             //等待USB完成配置
       
        while(1)
        {
                if (bUsbOutReady)                                                  //如果接收到数据
            {
            //USB_SendData(UsbOutBuffer,OutNumber);               //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
                        if( X && Y )                //如果条件为真,输出什么
                        {
                                printf("条件为真\r\n");
                        }           
                        usb_OUT_done();                                                       
             }               
        }
}

QQ:2269694595     微信:18106296594
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-04-27 10:40:24

11

主题

425

回帖

1973

积分

版主

积分
1973
发表于 2025-1-3 10:56:24 | 显示全部楼层
第六集 IO输入输出,测试通过:
截图202501031046549057.jpg

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

#define u8  unsigned char                                         //8位无符号变量(0~255)
#define        u16 unsigned int                                 //16位无符号变量(0~65535)

u8 state = 0;                                                        //初始状态

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

void Delay20ms(void)        //@24.000MHz  
{
        unsigned long edata i;
        _nop_();
        _nop_();
        i = 119998UL;
        while (i) i--;
}

void main(void)
{
    WTST = 0;                  //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    EAXFR = 1;                 //扩展寄存器(XFR)访问使能
    CKCON = 0;                 //提高访问XRAM速度
                                                                                
    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;    //使能USB中断
        EA = 1;        
        
        while (DeviceState != DEVSTATE_CONFIGURED);     //等待USB完成配置
        
        while(1)
        {
                if (bUsbOutReady)                                                        //如果接收到数据
        {
            //USB_SendData(UsbOutBuffer,OutNumber);   //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
                        usb_OUT_done();                                                        
        }
                //任务3:按一下灯亮,按一下灯灭;
                if( P32 == 0 )                                //判断P32按钮是否按下
                {
                        Delay20ms();                       //延时20ms消抖
                        if ( P32 == 0 )
                             {
                                   state = !state;                //变量取反0 1 0 1 0 1
                                   P20 = state;
                                   printf("state:%d\r\n",(int)state);
                        
                                while( P32 == 0 );         //等待P32松开                        
                              }                                
                }
        }
}


QQ:2269694595     微信:18106296594
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-6 21:48 , Processed in 0.119943 second(s), 67 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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