找回密码
 立即注册
楼主: 芯芯向荣up

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

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2025-06-17 08:32:02
已绑定手机

13

主题

223

回帖

2874

积分

超级版主

积分
2874
发表于 2024-12-6 13:30:40 | 显示全部楼层
第八集任务3:按键1按下,LED通过数组移动

截图202412061329311916.jpg
附学习链接:


https://www.stcaimcu.com/forum.p ... 11902&extra=&page=1
《8051U深度入门到32位51大型实战教学视频》发表学习心得 七集 以上,赠送 超级强大的 Ai8051U实验箱,并保证会持续到15集课程以后可做:USB声卡,各种USB教学设备,音频播放器,示波器,FFT频谱分析仪, AI手写计算器100万套 Ai8051U-实验箱,等您在本坛学习打卡区,发表学习感悟后,【免费 + 包邮 送】

按键1按下,LED通过数组移动.mp4

4.96 MB, 下载次数: 38

www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2025-06-17 08:32:02
已绑定手机

13

主题

223

回帖

2874

积分

超级版主

积分
2874
发表于 2024-12-6 17:15:22 | 显示全部楼层
第八课 结构体数组的周期性任务调度

截图202412061714469432.jpg
截图202412061715037593.jpg

附学习链接:


https://www.stcaimcu.com/forum.p ... 11902&extra=&page=1
《8051U深度入门到32位51大型实战教学视频》发表学习心得 七集 以上,赠送 超级强大的 Ai8051U实验箱,并保证会持续到15集课程以后可做:USB声卡,各种USB教学设备,音频播放器,示波器,FFT频谱分析仪, AI手写计算器100万套 Ai8051U-实验箱,等您在本坛学习打卡区,发表学习感悟后,【免费 + 包邮 送】

结构体数组的周期性任务调动.mp4

2.14 MB, 下载次数: 33

AI8051U教学视频第8集定时器周期性调度任务手敲代码.zip

17.3 MB, 下载次数: 41

www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2025-06-17 08:32:02
已绑定手机

13

主题

223

回帖

2874

积分

超级版主

积分
2874
发表于 2024-12-10 15:56:05 | 显示全部楼层
第九集数码管第一个任务:数码管静态的显示一个数字

截图202412101555445296.jpg
截图202412101556011434.jpg
www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2025-06-17 08:32:02
已绑定手机

13

主题

223

回帖

2874

积分

超级版主

积分
2874
发表于 2024-12-10 16:21:19 | 显示全部楼层
第九集数码管任务2:数码管显示“12345678”

截图202412101620487088.jpg
截图202412101621164610.jpg
www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2025-06-17 08:32:02
已绑定手机

13

主题

223

回帖

2874

积分

超级版主

积分
2874
发表于 2024-12-10 17:11:21 | 显示全部楼层
第九集数码管第三个任务,数码管显示“00-00-00”分别代表时分秒,每过1秒钟加1

截图202412101710332283.jpg
虚拟显示
截图202412141028364190.jpg


任务三显示时分秒.mp4

3.13 MB, 下载次数: 27

AI8051U教学视频第9集数码管手敲代码程序包.zip

3.28 MB, 下载次数: 46

www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2025-06-17 08:32:02
已绑定手机

13

主题

223

回帖

2874

积分

超级版主

积分
2874
发表于 2024-12-24 10:45:42 | 显示全部楼层
第十集:虚拟LED和数码管

点亮P20端口
截图202412241045339184.jpg

任务一::P2口流水灯,P10闪烁
截图202412241103338789.jpg
任务2:左边数码管显示p32按下次数,右边数码管显示p33按下次数

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





任务1:P2口流水灯,P10闪烁.mp4

3.43 MB, 下载次数: 29

任务3:按下数字按键在数码管显示对应的数字按键.mp4

4.48 MB, 下载次数: 39

AI8051U教学视频第10虚拟LED和shu码管手敲代码.zip

9.75 MB, 下载次数: 30

www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2025-06-17 08:32:02
已绑定手机

13

主题

223

回帖

2874

积分

超级版主

积分
2874
发表于 2024-12-26 14:54:51 | 显示全部楼层
第十一集 矩阵按键

任务1:数码管显示当前按键
截图202412261454355046.jpg



#include "io.h"
u8 State1=0;
u8 State2=0;
u8 State3=0;

u16 Key_Vol=0;

u8 SEG_NUM[]=
{
    0x3F,       /*'0', 0*/
    0x06,       /*'1', 1*/
    0x5B,       /*'2', 2*/
    0x4F,       /*'3', 3*/
    0x66,       /*'4', 4*/
    0x6D,       /*'5', 5*/
    0x7D,       /*'6', 6*/
    0x07,       /*'7', 7*/
    0x7F,       /*'8', 8*/
    0x6F,       /*'9', 9*/
    0x77,       /*'A', 10*/
    0x7C,       /*'B', 11*/
    0x39,       /*'C', 12*/
    0x5E,       /*'D', 13*/
    0x79,       /*'E', 14*/
    0x71,       /*'F', 15*/
    0x40,       /*'-', 16*/
    0x00,       /*' ', 17*/
    0x80,       /*'.', 18*/
};
u8 T_NUM[8]=
{
  0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80
};

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;
        }
}

/*  #define ROW1 P06
    #define ROW2 P07
    #define COL1 P00
    #define COL2 P01
    #define COL3 P02
    #define COL4 P03
*/
u8 key_num = 0xff;
//任务1:数码管显示当前的按键号
void Task_1(void)
{

        COL1 = 0;
        COL2 = 0;
        COL3 = 0;
        COL4 = 0;
        ROW1 = 1;
        ROW2 = 1;
        if((ROW1 == 0)||(ROW2== 0))  //或
        {
                if((ROW1 == 0)&&(ROW2== 0))  //与
                {
                       
                }
                else if(((ROW1 == 1)&&(ROW2== 0))||((ROW1 == 0)&&(ROW2== 1)))
                {
                        if (ROW1 ==0)
                                key_num = 0;
                else if (ROW2 ==0)
                                key_num = 4;
                       
                       
                                COL1 = 1;
                                COL2 = 1;
                                COL3 = 1;
                                COL4 = 1;
                                ROW1 = 0;
                                ROW2 = 0;
                        if(COL1 ==  0)
                        {
                //                key_num = key_num;
                        }
                        else if(COL2 ==  0)
                        {
                                key_num = key_num + 1;
                        }
                        else if(COL3 ==  0)
                        {
                                key_num = key_num + 2;
                        }
                                                else if(COL4 == 0)
                        {
                                key_num = key_num + 3;
                        }
                }
        COL1 = 0;
        COL2 = 0;
        COL3 = 0;
        COL4 = 0;
        ROW1 = 1;
        ROW2 = 1;       
               
        }
        else
        {
                key_num = 0xff ;
        }
       
}
       
void Init_595(void)
{
                HC595_SER  = 0;
                HC595_RCK  = 0;
                HC595_SCK  = 0;
}


void Send_595( u8 dat )
{
    u8 i;
        for(i=0;i<8;i++)
        {
                dat<<=1;         //DAT=(DAT<<1);  //CY
                HC595_SER = CY;                    //先把数据写到引脚上
                HC595_SCK = 1;                        //输出上升沿的时钟信号
                HC595_SCK = 0;
        }
}

void Display_seg(u8 HC595_1,u8 HC595_2)
{
        Send_595(HC595_1);
        Send_595(HC595_2);
       
        HC595_RCK  = 1;                          //数据输出
        HC595_RCK  = 0;
}

void SEG_Task(void)
{
        if(key_num==255)
                Display_seg(SEG_NUM[17],~T_NUM[0]);
        else
          Display_seg(SEG_NUM[key_num],~T_NUM[0]);
}

任务1:数码管显示当前按键数.mp4

5.74 MB, 下载次数: 42

www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2025-06-17 08:32:02
已绑定手机

13

主题

223

回帖

2874

积分

超级版主

积分
2874
发表于 2024-12-26 16:00:54 | 显示全部楼层
第十一集:矩阵按键
任务2:密码锁

截图202412261558087446.jpg


#include "io.h"
u8 State1=0;
u8 State2=0;
u8 State3=0;

u16 Key_Vol=0;

u8 SEG_NUM[]=
{
    0x3F,       /*'0', 0*/
    0x06,       /*'1', 1*/
    0x5B,       /*'2', 2*/
    0x4F,       /*'3', 3*/
    0x66,       /*'4', 4*/
    0x6D,       /*'5', 5*/
    0x7D,       /*'6', 6*/
    0x07,       /*'7', 7*/
    0x7F,       /*'8', 8*/
    0x6F,       /*'9', 9*/
    0x77,       /*'A', 10*/
    0x7C,       /*'B', 11*/
    0x39,       /*'C', 12*/
    0x5E,       /*'D', 13*/
    0x79,       /*'E', 14*/
    0x71,       /*'F', 15*/
    0x40,       /*'-', 16*/
    0x00,       /*' ', 17*/
    0x80,       /*'.', 18*/
};
u8 T_NUM[8]=
{
  0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80
};

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;
        }
}

/*  #define ROW1 P06
    #define ROW2 P07
    #define COL1 P00
    #define COL2 P01
    #define COL3 P02
    #define COL4 P03
*/
u8 key_num = 0xff;
//任务1:数码管显示当前的按键号
void Task_1(void)
{

        COL1 = 0;
        COL2 = 0;
        COL3 = 0;
        COL4 = 0;
        ROW1 = 1;
        ROW2 = 1;
        if((ROW1 == 0)||(ROW2== 0))  //或
        {
                if((ROW1 == 0)&&(ROW2== 0))  //与
                {
                       
                }
                else if(((ROW1 == 1)&&(ROW2== 0))||((ROW1 == 0)&&(ROW2== 1)))
                {
                        if (ROW1 ==0)
                                key_num = 0;
                else if (ROW2 ==0)
                                key_num = 4;
                       
                       
                                COL1 = 1;
                                COL2 = 1;
                                COL3 = 1;
                                COL4 = 1;
                                ROW1 = 0;
                                ROW2 = 0;
                        if(COL1 ==  0)
                        {
                //                key_num = key_num;
                        }
                        else if(COL2 ==  0)
                        {
                                key_num = key_num + 1;
                        }
                        else if(COL3 ==  0)
                        {
                                key_num = key_num + 2;
                        }
                                                else if(COL4 == 0)
                        {
                                key_num = key_num + 3;
                        }
                }
        COL1 = 0;
        COL2 = 0;
        COL3 = 0;
        COL4 = 0;
        ROW1 = 1;
        ROW2 = 1;       
               
        }
        else
        {
                key_num = 0xff ;
        }
       
}
       
void Init_595(void)
{
                HC595_SER  = 0;
                HC595_RCK  = 0;
                HC595_SCK  = 0;
}


void Send_595( u8 dat )
{
    u8 i;
        for(i=0;i<8;i++)
        {
                dat<<=1;         //DAT=(DAT<<1);  //CY
                HC595_SER = CY;                    //先把数据写到引脚上
                HC595_SCK = 1;                        //输出上升沿的时钟信号
                HC595_SCK = 0;
        }
}

void Display_seg(u8 HC595_1,u8 HC595_2)
{
        Send_595(HC595_1);
        Send_595(HC595_2);
       
        HC595_RCK  = 1;                          //数据输出
        HC595_RCK  = 0;
}

//void SEG_Task(void)
//{
//        if(key_num==255)
//                Display_seg(SEG_NUM[17],~T_NUM[0]);
//        else
//          Display_seg(SEG_NUM[key_num],~T_NUM[0]);
//}
u8 Seg_no =0;
u8 password[8]={16,16,16,16,16,16,16,16};
void SEG_Task(void)
{

u8 num = 0;
        if(Seg_no == 0)
        {
       
               
        Display_seg(SEG_NUM[password[0]],~T_NUM[0]);
        }
        else if(Seg_no == 1)
        {

               
        Display_seg(SEG_NUM[password[1]],~T_NUM[1]);
        }
        else if(Seg_no == 2)
        {
               
        Display_seg(SEG_NUM[password[2]],~T_NUM[2]);
        }
        else if(Seg_no == 3)
        {
       
               
        Display_seg(SEG_NUM[password[3]],~T_NUM[3]);
        }
        else if(Seg_no == 4)
        {
       
               
               
        Display_seg(SEG_NUM[password[4]],~T_NUM[4]);
        }
        else if(Seg_no == 5)
        {
               
        Display_seg(SEG_NUM[password[5]],~T_NUM[5]);
        }
        else if(Seg_no == 6)
        {

        Display_seg(SEG_NUM[password[6]],~T_NUM[6]);
        }
        else if(Seg_no == 7)
        {
       
        Display_seg(SEG_NUM[password[7]],~T_NUM[7]);
        }
                else
                {
                }
        Seg_no ++;
        if(Seg_no>7)
                Seg_no = 0;
}


u8 Key_Vol3=0;
u8 Key_no=0;
void PW_write_Task(void)
{
        if( key_num<0xff)
        {
                Key_Vol3++;
                if(Key_Vol3 == 5)
                {
                        if(Key_no==0)
                        {
                               
                                  password[0]=16;
                                        password[1]=16;
                                        password[2]=16;
                                        password[3]=16;
                                        password[4]=16;
                                        password[5]=16;
                                        password[6]=16;
                                        password[7]=16;
                        }
                password[Key_no]=key_num;
                        Key_no++;
//                        password[7]=17;
                        if(Key_no==8)
                        {
                                if((password[0]==1)&&(password[1]==2)&&(password[2]==3)&&(password[3]==4)&&(password[4]==5)&&(password[5]==6)&&(password[6]==7)&&(password[7]==0))
                                {
                                        password[0]=17;
                                        password[1]=17;
                                        password[2]=17;
                                        password[3]=17;
                                        password[4]=17;
                                        password[5]=17;
                                        password[6]=17;
                                        password[7]=1;
                                }
                                else
                                {
                                        password[0]=16;
                                        password[1]=16;
                                        password[2]=16;
                                        password[3]=16;
                                        password[4]=16;
                                        password[5]=16;
                                        password[6]=16;
                                        password[7]=16;
                                }
                                Key_no=0;
                        }
                }
        }
        else
        {
                Key_Vol3 = 0;
        }
}


任务2:密码锁.mp4

8.17 MB, 下载次数: 31

AI8051U教学视频第11集矩阵按键手敲代码.zip

14.32 MB, 下载次数: 35

www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2025-06-17 08:32:02
已绑定手机

13

主题

223

回帖

2874

积分

超级版主

积分
2874
发表于 2025-1-13 10:59:59 | 显示全部楼层
第十二集:复位系统
按下P33超过0.5s复位

#include "config.h"
#include "task.h"
#include "io.h"


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



void main(void)
{

        Sys_int();     //系统初始化
        usb_init();
       
        IE2 |= 0x80;
  Timer0_Init        ();              //定时器初始化
        Init_595();
    EA = 1;
       
        P40 = 0;
       
        while (DeviceState != DEVSTATE_CONFIGURED);
       
        WDT_CONTR = 0X24;
       
        while(1)               
        {       
                if (bUsbOutReady)
                       
        {
            //USB_SendData(UsbOutBuffer,OutNumber);   //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
                                               
       

                                               
                                                usb_OUT_done();
                                       
                                }
                        Task_Pro_Handler_Callback();                    //执行功能函数
      if(P33!=0)
            WDT_CONTR = 0X34;

                                }
                        }
                       

void Timer0_Isr(void) interrupt 1         //3秒执行一次
{
Task_Marks_Handler_Callback();

}

截图202501131058066873.jpg

按下P33超过0.5S复位.mp4

3.64 MB, 下载次数: 34

www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:401
  • 最近打卡:2025-06-17 08:32:02
已绑定手机

13

主题

223

回帖

2874

积分

超级版主

积分
2874
发表于 2025-1-13 11:31:35 | 显示全部楼层
第十二集:系统复位
按下P33下载软件切换到下载模式


void  Key_Task(void)
{
        if( P33==0 )
        {
                Key_Vol++;
                if(Key_Vol == 5)
                {
                        //按键按下的任务
//                        printf("按键单击\r\n");
                        
                         USB_Reset_U();
        
                        IAP_CONTR=0X60;
                }
        }
        else
        {
                Key_Vol = 0;
        }
}

截图202501131131175830.jpg


按下P33下载软件跳转到下载模式.mp4

2.51 MB, 下载次数: 40

www.STCAI.com
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-19 02:52 , Processed in 0.186638 second(s), 88 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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