找回密码
 立即注册
楼主: 电子DIY小家

《8051U深度入门到32位51大型实战视频》,【免费 + 包邮 送】实验箱@Ai8051U,100万套

   火... [复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:131
  • 最近打卡:2026-03-10 10:47:01
已绑定手机

0

主题

39

回帖

352

积分

中级会员

积分
352
发表于 2025-3-27 07:40:45 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-03-31 17:35:10
已绑定手机

6

主题

27

回帖

122

积分

注册会员

积分
122
发表于 2025-3-27 12:39:38 | 显示全部楼层
FLASH擦写

利用ISP/IAP技术将Flash当做EEPROM可写10万次以上。
注意:EEPROM的写操作只能将字节中的1写为0,当需要将字节中的0写为1,则必须执行扇区擦除操作。EEPROM的读/写操作是以1字节为单位进行,而EEPROM擦除操作是以1扇区(512字节)为单位进行,在执行擦除操作时,如果目标扇区中有需要保留的数据,则必须预先将这些数据读取到RAM中暂存。
截图202503271233558227.jpg 写或读寄存器 截图202503271234286412.jpg IAP_ADDRE 最高位地址IAP_ADDRH高位地址IAP_ADDRL低位地址
截图202503271236177195.jpg 命令寄存器1为读2为写3为清空 截图202503271237203403.jpg 先写0x5a后写0xa5才开始触发 截图202503271238215699.jpg IAPEN开启CMD_FAIL判断位

截图202503271237157998.jpg
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-03-27 15:38:20
已绑定手机

0

主题

4

回帖

24

积分

新手上路

积分
24
发表于 2025-3-27 15:42:02 | 显示全部楼层
第四节USB不停电下载,方便烧录,下载函数,复制代码,了解代码
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2026-04-08 19:22:43
已绑定手机

1

主题

139

回帖

393

积分

中级会员

积分
393
发表于 2025-3-27 20:18:21 | 显示全部楼层
建议还是先学8位的51
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:204
  • 最近打卡:2026-03-29 14:21:59
已绑定手机

7

主题

39

回帖

446

积分

中级会员

积分
446
发表于 2025-3-27 20:49:06 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:128
  • 最近打卡:2026-04-07 10:29:09
已绑定手机

5

主题

30

回帖

554

积分

高级会员

积分
554
发表于 2025-3-27 22:25:35 | 显示全部楼层
看完14集IO中断,还需要再学习回顾一下
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:204
  • 最近打卡:2026-03-29 14:21:59
已绑定手机

7

主题

39

回帖

446

积分

中级会员

积分
446
发表于 2025-3-27 22:57:40 | 显示全部楼层
那个时候可以领实验箱呢
截图202503272257041493.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:507
  • 最近打卡:2026-04-09 00:04:00

0

主题

10

回帖

950

积分

高级会员

积分
950
发表于 2025-3-27 23:38:11 | 显示全部楼层
打卡学习
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:58
  • 最近打卡:2025-06-07 21:42:48
已绑定手机

1

主题

29

回帖

107

积分

注册会员

积分
107
发表于 2025-3-27 23:46:06 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:19
  • 最近打卡:2025-08-11 01:46:15
已绑定手机

0

主题

25

回帖

276

积分

中级会员

积分
276
发表于 2025-3-28 01:19:06 | 显示全部楼层
打卡交作业,第七课   定时器中断   P32 控制功德状态 ,打印状态    ,P33 加功德(1 或者 2)打印功德数,并控制LED1 亮一秒 或两秒
//按键P3.2控制功德状态               
                if(P32 == 0)
                {
                        Delay20ms();
                        if(P32 == 0)
                        {
                                State = !State;     //功德状态 0:单倍功德  1:双倍功德
                                if(State == 1)
                                {
                                        printf("双倍功德时间\r\n");
                                }
                                else
                                {
                                        printf("单倍功德时间\r\n");
                                }
                                while(P32 == 0);
                        }
                       
                }
                //按键P3.3据功德状态 完成加功德
                if(P33 == 0)
                {
                        Delay20ms();
                        if(P33 == 0)
                        {
                                if(State == 1)     //双倍功德状态  功德数+2
                                {
                                        Num1 += 2;
                                        printf("功德+2 当前功德:%d\r\n",Num1);
                                        P00 = 0;
                                        Timer0_Init();  //启动定时器0
                                }
                                else              //单倍功德状态  功德数+1
                                {
                                        Num2 += 1;
                                        printf("功德+1 当前功德:%d\r\n",Num2);
                                        P00 = 0;
                                        Timer0_Init();   //启动定时器0
                                }
                                while(P33 == 0);
                        }
               
                }
               
       
        }

}


void Timer0_Isr(void) interrupt 1
{
        if(State == 1)
        {
                Num3++;
                if(Num3 == 2)   //灯亮两秒 关灯 关定时器0
                {
                        Num3 = 0;
                        P00 = 1;
                        TR0 = 0;
                }

        }
        else
        {
                P00 = 1;  //灯亮一秒 关灯 关定时器0
                TR0 = 0;
        }
}

void Timer0_Init(void)                //1秒@24.000MHz
{
        TM0PS = 0x1E;                        //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
        AUXR &= 0x7F;                        //定时器时钟12T模式
        TMOD &= 0xF0;                        //设置定时器模式
        TL0 = 0xFC;                                //设置定时初始值
        TH0 = 0x03;                                //设置定时初始值
        TF0 = 0;                                //清除TF0标志
        TR0 = 1;                                //定时器0开始计时
        ET0 = 1;                                //使能定时器0中断
}
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-4-9 11:21 , Processed in 0.117386 second(s), 104 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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