找回密码
 立即注册
查看: 1056|回复: 17

《8051U深度入门到32位51大型实战教学视频》之学习心得

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

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2024-11-29 11:38:35 | 显示全部楼层 |阅读模式
第一集  序
Ai8051U,USB 型 1T 8051,支持32位和8位指令集, RMB2.3
管脚兼容天王级别的:  89C52RC,  12C5A60S2
要兼容 8位8051指令集,  可以用 Keil C51/IAR/SDCC 编译器
===就相当于更强大的 8H8K64U
要兼容 32位8051指令集,可以用 Keil C251 编译器,双核兼容设计
===就相当于更强大的 32G12K128, 32G8K64
34K SRAM(2K edata, 32K xdata), 64K Flash
TFPU@120MHz, 硬件浮点/硬件三角函数 运算器
DMA支持PWM, DMA支持外设直接到外设, P2P
120MHz-PWM支持硬件移相,16位PWM; 真12位ADC
USB, 4组串口,12位ADC, 轨到轨比较器
QSPI, SPI, I2S, I2C,  TFT-i8080/M6800 接口
PDIP40,LQFP44,LQFP48

QQ:2269694595     微信:18106296594
回复

使用道具 举报 送花

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

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2024-11-29 11:48:05 | 显示全部楼层
第二集  硬件及工具介绍
截图202411291145158746.jpg
截图202411291145411763.jpg
截图202411291146268525.jpg
跟着下载步骤说明,成功下载第一个程序
QQ:2269694595     微信:18106296594
回复 支持 反对

使用道具 举报 送花

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

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2024-11-29 11:55:33 | 显示全部楼层
第三集  点亮第一个LED
截图202411291149582409.jpg
截图202411291150138500.jpg
截图202411291150287674.jpg
3.点亮一个LED灯.zip (40.66 KB, 下载次数: 57)


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

使用道具 举报 送花

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

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2024-11-29 13:52:29 | 显示全部楼层
第四集  USB不停电下载-----手敲代码,测试成功
截图202411291350372385.jpg
截图202411291350471803.jpg
截图202411291350585728.jpg
4.USB不停电下载.zip (2.09 MB, 下载次数: 60)
QQ:2269694595     微信:18106296594
回复 支持 反对

使用道具 举报 送花

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

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2024-11-29 16:15:18 | 显示全部楼层
第5集  C语言基础,已手敲代码,测试通过
截图202411291613526009.jpg
截图202411291614081300.jpg
5.C语言基础.zip (92.22 KB, 下载次数: 64)
QQ:2269694595     微信:18106296594
回复 支持 反对

使用道具 举报 送花

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

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2024-12-3 14:14:14 | 显示全部楼层
第六集 IO输入输出,手敲代码,测试成功
截图202412031411182891.jpg

截图202412031412565989.jpg
截图202412031413457385.jpg
6.IO输入输出.zip (94.49 KB, 下载次数: 49)


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

使用道具 举报 送花

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

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2024-12-3 16:41:28 | 显示全部楼层
第七集 定时器中断 手敲代码,测试成功
截图202412031638193782.jpg
截图202412031638308874.jpg
截图202412031638394398.jpg
截图202412031638506658.jpg
截图202412031639014196.jpg
截图202412031639121971.jpg

AI8051U教学视频第7集定时器学习程序.zip (97.15 KB, 下载次数: 62)


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

使用道具 举报 送花

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

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2024-12-9 11:15:19 | 显示全部楼层
第八集 定时器周期性调度任务学习程序 手敲代码,测试成功
截图202412091112585351.jpg

截图202412091113087103.jpg
截图202412091113252453.jpg
截图202412091113397120.jpg
截图202412091113489919.jpg
截图202412091114074975.jpg
截图202412091114227851.jpg
截图202412091114348620.jpg
8.AI8051U教学视频第8集定时器周期性调度任务学习程序.zip (155.63 KB, 下载次数: 39)


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

使用道具 举报 送花

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

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2024-12-24 14:53:08 | 显示全部楼层
第九集 数码管 手敲代码,测试成功
任务一:数码管静态的显示一个数字
截图202412241449542852.jpg
截图202412241450075805.jpg
任务二:显示“12345678”
截图202412241450325179.jpg
截图202412241450528588.jpg
任务三:显示时分秒
截图202412241451094479.jpg

截图202412241452406435.jpg
截图202412241452502410.jpg
9.AI8051U教学视频第9集数码管学习程序.zip (164.82 KB, 下载次数: 38)

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

使用道具 举报 送花

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

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2024-12-27 11:36:28 | 显示全部楼层
第十集 虚拟LED数码管,已手敲代码,编译通过
任务1: P2口流水灯,P10闪烁
截图202412271134247524.jpg

#include "io.h"

u8 State1 = 0;                                //LED1初始状态
u8 State2 = 0;                                //LED2初始状态        
u8 State3 = 0;                                //LED3初始状态
u16 Key_Vol = 0;                        //按键按下持续时间

void LED0_Blink(void)
{
        State1 = !State1;
        P00 = State1;        
}

void LED1_Blink(void)
{
        State2 = !State2;
        P01 = State2;
}

void LED2_Blink(void)
{
        State3 = !State3;
        P02 = State3;
}

void KEY_Task(void)
{
        if( P32 == 0 )
        {
                Key_Vol++;
                if(Key_Vol==5)
                {
                //按键按下的任务
                        printf("按键单击\r\n");
                }
        }
        else
        {
                Key_Vol = 0;
        }
}

u8 P2_STATE = 0x01;
u8 P10_STATE = 0;

//任务1:P2口流水灯,P10闪烁
void TASK_1(void)
{
//-----------        p2端口流水灯-----------
        LED40_SetPort(2,~P2_STATE);                                        //点亮P20端口
        
        P2_STATE = (P2_STATE<<1);
        if(P2_STATE == 0)
           P2_STATE = 1;
//-----------   P10闪烁  --------------
        if(P10_STATE == 0)  
                LED40_SetBit(1,0);
        else
                LED40_ClrBit(1,0);
        
        P10_STATE = !P10_STATE;        
}

任务2:左边数码管显示P32按下次数,右边数码管显示P33按下次数
截图202412271406245960.jpg

#include "io.h"

u8 State1 = 0;                                //LED1初始状态
u8 State2 = 0;                                //LED2初始状态        
u8 State3 = 0;                                //LED3初始状态

u16 Key_Vol;                        //按键按下持续时间
u16 Key_Vol_2;                        //按键按下持续时间

void LED0_Blink(void)
{
        State1 = !State1;
        P00 = State1;        
}

void LED1_Blink(void)
{
        State2 = !State2;
        P01 = State2;
}

void LED2_Blink(void)
{
        State3 = !State3;
        P02 = State3;
}

u16 KEY1_COUNT = 0;                                //P32按钮计数
u16 KEY2_COUNT = 0;

void KEY_Task(void)
{
//----------P32按钮计数----------
        if( P32 == 0 )
        {
                Key_Vol++;
                if(Key_Vol==5)
                {
                        KEY1_COUNT++;
                }
        }
        else
        {
                Key_Vol = 0;
        }
//----------P33按钮计数----------
                if( P33 == 0 )
        {
                Key_Vol_2++;
                if(Key_Vol_2==5)
                {
                        KEY2_COUNT++;
                }
        }
        else
        {
                Key_Vol_2 = 0;
        }
}

u8 P2_STATE = 0x01;
u8 P10_STATE = 0;

//任务1:P2口流水灯,P10闪烁
void TASK_1(void)
{
//-----------        p2端口流水灯-----------
        LED40_SetPort(2,~P2_STATE);                                        //点亮P20端口
        
        P2_STATE = (P2_STATE<<1);
        if(P2_STATE == 0)
           P2_STATE = 1;
//-----------   P10闪烁  --------------
        if(P10_STATE == 0)  
                LED40_SetBit(1,0);
        else
                LED40_ClrBit(1,0);
        
        P10_STATE = !P10_STATE;        
}
u32 KEY_Count = 0;

//任务2:左边数码管显示P32按下次数,右边数码管显示P33按下次数
void TASK_2(void)
{
        KEY_Count = KEY1_COUNT *10000+KEY2_COUNT;
        
        SEG7_ShowLong( KEY_Count,10 );
}

任务3:按下数字按键在数码管显示对应的按键数字
截图202412271424591090.jpg
截图202412271426187346.jpg

#include "io.h"

u8 State1 = 0;                                //LED1初始状态
u8 State2 = 0;                                //LED2初始状态        
u8 State3 = 0;                                //LED3初始状态

u16 Key_Vol;                        //按键按下持续时间
u16 Key_Vol_2;                        //按键按下持续时间

void LED0_Blink(void)
{
        State1 = !State1;
        P00 = State1;        
}

void LED1_Blink(void)
{
        State2 = !State2;
        P01 = State2;
}

void LED2_Blink(void)
{
        State3 = !State3;
        P02 = State3;
}

u16 KEY1_COUNT = 0;                                //P32按钮计数
u16 KEY2_COUNT = 0;

void KEY_Task(void)
{
//----------P32按钮计数----------
        if( P32 == 0 )
        {
                Key_Vol++;
                if(Key_Vol==5)
                {
                        KEY1_COUNT++;
                }
        }
        else
        {
                Key_Vol = 0;
        }
//----------P33按钮计数----------
                if( P33 == 0 )
        {
                Key_Vol_2++;
                if(Key_Vol_2==5)
                {
                        KEY2_COUNT++;
                }
        }
        else
        {
                Key_Vol_2 = 0;
        }
}

u8 P2_STATE = 0x01;
u8 P10_STATE = 0;
//任务1:P2口流水灯,P10闪烁
void TASK_1(void)
{
//-----------        p2端口流水灯-----------
        LED40_SetPort(2,~P2_STATE);                                        //点亮P20端口
        
        P2_STATE = (P2_STATE<<1);
        if(P2_STATE == 0)
           P2_STATE = 1;
//-----------   P10闪烁  --------------
        if(P10_STATE == 0)  
                LED40_SetBit(1,0);
        else
                LED40_ClrBit(1,0);
        
        P10_STATE = !P10_STATE;        
}

u32 KEY_Count = 0;
//任务2:左边数码管显示P32按下次数,右边数码管显示P33按下次数
void TASK_2(void)
{
        KEY_Count = KEY1_COUNT *10000+KEY2_COUNT;
        
        SEG7_ShowLong( KEY_Count,10 );
}

u32 REC_NUM = 0;
//任务3:按下数字按键在数码管显示对应的按键数字
void TASK_3(void)
{
                SEG7_ShowLong( REC_NUM,10 );
}
10.AI8051U教学视频第10集虚拟LED和数码管学习程序.zip (1.89 MB, 下载次数: 58)






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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-4 10:34 , Processed in 0.143926 second(s), 99 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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