找回密码
 立即注册
查看: 34|回复: 8

学习感悟分享

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-08-20 08:58:45
已绑定手机

1

主题

7

回帖

35

积分

新手上路

积分
35
发表于 5 天前 | 显示全部楼层 |阅读模式
在第一集教程中,主要围绕 AI8051U 试验箱的基础认知与初步上手展开。​
  • 试验箱硬件介绍:​

  • 接口方面:详细介绍了 USB - TypeA 接口,可用于与电脑通信及下载程序;USB - TypeC 接口,功能与 TypeA 一致,为用户提供了更多连接选择,且具备更高的数据传输速率和更广泛的兼容性;USB Link 1D 接口,专门适配 STC 官方烧录工具,方便将编写好的程序烧录至单片机中;还有 USB 转双串口,这是 STC 自研芯片实现的功能,能把一个 USB 接口转换为两个串口接口,满足更多串口通信需求,最高波特率可达 10M 左右,基本支持市面上常用的通讯协议 ,为调试与数据传输带来极大便利。​

  • 功能模块方面:展示了板载的丰富资源,如具有录放音设备,配合 AI8051U 的录音程序可实现高质量录音,适用于语音识别、录音分析等应用;设有 TF 卡插座,支持外扩 TF 卡,便于搭建文件操作系统,实现大容量的文件存取;拥有 8 路流水灯和 8 位数码管,可用于直观展示数据或程序运行状态;具备 TFT 彩屏接口,能够实现高帧率屏幕显示,支持 8080 八位并口的显示屏驱动,可实现快速界面刷新和图形菜单显示,展现出在嵌入式图形化应用中的潜力;还板载了 RTC 芯片、红外接收头、一路 2*4 的矩阵键盘、一路 16 位的 ADC 键盘以及两个 T0、T1 键盘和 INT0、INT1 键盘等,按键功能丰富,可用于各种实验场景;此外,还支持掉电监测,并板载了 EEPROM 芯片和 QSPI flash 芯片 。​

  • 软件与工具推荐:​

  • 开发软件:推荐使用 keil 进行开发,为与教程保持一致,需进行一系列软件安装与配置工作。如获取 c251v560 软件(可找销售获取),从官网www.stcai.com下载 AI8051U 手册以及 ISP 软件包(AIapp - ISP - V6.94),并将 ISP 软件的快捷方式发送到桌面(该软件为绿色软件)。在 keil 中添加 AI8051U 芯片型号,找到 keil 目录进行相关操作,同时添加中断修改中断。另外,还需下载 keil 中断拓展插件,以满足开发需求。​

  • 头文件添加:下载代码包和手册(AI8051U 实验箱相关),准备配置 <AI8051U.h> 头文件。值得注意的是,若将头文件下载到原先的 C51 中生成的是 8 位的 AI8051U 头文件,而下载到 C251 中生成的则是 32 位的 AI8051U 头文件,应根据实际开发需求选择合适的路径。​

  • capture_20250819193114104.bmp


回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-08-20 08:58:45
已绑定手机

1

主题

7

回帖

35

积分

新手上路

积分
35
发表于 5 天前 | 显示全部楼层
第二章:硬件及工具介绍
在第二章的教程里,主要围绕 AI8051U 试验箱的硬件组成、相关开发工具以及初次上手实践展开。这部分内容为学习者后续深入开发工作筑牢了基础。
硬件构成剖析:
接口类型:
USB 接口:试验箱配备了 USB - TypeA 与 USB - TypeC 接口,它们均可实现与电脑的通信以及程序下载功能,为用户提供了多样的连接方式,满足不同场景需求。
USB 转双串口:采用 STC 自研的芯片,将一个 USB 接口转化为两个串口接口,最高波特率能达到 10M 左右,支持市面常见通讯协议,在串口通信场景中发挥着重要作用。
功能模块:
存储拓展:TF 卡插座设计,可外接 TF 卡,助力搭建文件操作系统,满足大容量数据存储需求。
显示模块:板载 8 路流水灯与 8 位数码管,可直观呈现数据或程序运行状态。同时预留 TFT 屏插座,支持屏幕显示,特别是在配合 AI8051U 支持 8080 八位并口显示屏驱动时,能实现高帧率屏幕显示与图形菜单展示,适用于嵌入式图形化应用开发。
音频模块:具备立体声输出与咪头输入功能,结合 IIS 功能可实现语音播放与录制,配合板载录放音设备,可进行高质量音频处理,在语音识别、语音交互等应用中有广阔前景。
其他模块:拥有 RTC 芯片,可提供实时时钟功能;红外接收头,可接收红外信号,配合板载红外发射可模拟遥控器;设有一路 2*4 的矩阵键盘、一路 16 位的 ADC 键盘以及 T0、T1、INT0、INT1 键盘,按键种类丰富,适用于各种实验场景。此外,还支持掉电监测,板载 EEPROM 芯片可存储关键参数,QSPI flash 芯片则用于高速数据存储与传输。
开发工具详述:
编程软件:推荐使用 Keil 进行开发,根据不同芯片类型有多种版本可供选择,其中 C251 版本专门用于 STC AI8051U 单片机编程。安装时需注意分目录安装,避免与其他版本冲突,安装完成后利用注册机进行激活,确保软件正常使用。
烧录软件:从 STC 官网下载最新的 ISP 软件(AIapp - ISP - V6.94),这是一款绿色软件,可将其快捷方式发送至桌面方便使用。该软件用于将编写好的程序烧录至单片机中,在烧录时需正确选择单片机型号为 “AI8051U - 34K64” 。
其他工具:需在 Keil 中添加 AI8051U 芯片型号,同时下载 keil 中断扩展插件并进行中断号扩展,以满足开发过程中的中断处理需求。此外,还需从官网下载代码包和手册,为开发提供参考资料。
初次实践操作:
工程搭建:依据数据手册 6.5 章节,在 C251 软件中新建工程,并建立名为 main 的.C 文件添加到工程中。
头文件配置:参考手册 6.4 章节,利用 ISP 软件添加 <AI8051U.h> 头文件。注意,若将头文件下载到原先的 C51 中生成的是 8 位的 AI8051U 头文件,而下载到 C251 中生成的则是 32 位的 AI8051U 头文件,应根据实际开发需求选择合适路径。
程序下载与运行:使用 USB 线将试验箱与电脑连接,打开 AIapp - ISP - V6.94R 下载软件,选择正确的单片机型号,打开需要下载的用户程序。对于硬件 USB 下载,需先按住试验箱上的 P3.2/INT0 按键(P32 接地),然后按一下 ON/OFF 电源按键断电,接着松开 ON/OFF 电源按键上电,最后松开 P3.2/INT0 按键,正常情况下软件能识别出 “STC USB Writer (HID1)” 设备,点击 “下载 / 编程” 按钮即可将程序烧录进试验箱。以点亮 LED 灯程序为例,输入给定代码并编译成功后,下载到试验箱中,即可观察到 LED 灯亮起,完成初次硬件与软件结合的实践操作。
capture_20250819193758324.bmp
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-08-20 08:58:45
已绑定手机

1

主题

7

回帖

35

积分

新手上路

积分
35
发表于 5 天前 | 显示全部楼层
第三章:点亮一颗 LED 灯
视频中,点亮一颗 LED 灯的操作被拆解为 “硬件对应关系确认 — 代码编写 — 程序烧录 — 效果验证” 四个连贯步骤,全程结合试验箱实物演示,突出实操细节:​
  • 硬件引脚对应(视频重点演示):​

  • 视频中明确指出,试验箱上的 LED 灯组中,左侧第一颗 LED(标注为 “LED1”)的正极通过橙色限流电阻连接至P2.0 引脚,负极直接焊接在 GND 排针旁的接地焊点。​

  • 演示时用万用表蜂鸣档实测:红表笔接 P2.0 引脚,黑表笔接 LED1 负极,蜂鸣器发声,验证两者电气连接;同时强调 “务必确认引脚编号,避免误接 P2.1 导致其他 LED 点亮”。​

  • 代码编写(视频逐行讲解):​

  • 头文件引入:视频中特别说明,需从官网下载的代码包中复制<AI8051U.H>头文件到工程目录,并在代码首行添加:​





#include <AI8051U.H>  // 视频中用黄色高亮标注此行,提示不可遗漏​






  • IO 口模式配置:视频通过示波器演示默认高阻输入模式下 P2.0 引脚的电平波动,随后讲解配置代码:​





void init_led(void) {​

    P2M0 = 0x00;  // 视频中强调:直接将P2口8位均设为00,即准双向模式​

    P2M1 = 0x00;  // 相比单独配置某一位,此方法更适合新手​

}​






  • 主函数控制:视频中用动画演示电流流向,说明 “低电平点亮” 原理,并给出最简代码:​





void main() {​

    init_led();​

    while(1) {​

        P2_0 = 0;  // 视频中在此处停顿,提示“0代表低电平,对应LED点亮”​

    }​

}​






  • 编译与下载(视频实操演示):​

  • 编译步骤:视频中打开 Keil C251,点击 “Project—New μVision Project”,选择保存路径后,在 “Select Device for Target” 中搜索 “AI8051U” 并选中。添加 main.c 文件后,点击编译按钮,提示 “0 Error (s), 0 Warning (s)” 即为成功。​

  • 烧录操作(视频特写镜头):​

  • USB-TypeC 线连接试验箱与电脑(视频中特别推荐使用包装盒内附赠的 1.5 米短线)。​

  • 打开 AIapp-ISP 软件,点击 “检测 MCU” 按钮,软件界面左侧出现 “STC AI8051U (USB)” 设备(视频中用红框标注)。​

  • 点击 “打开文件”,选择编译生成的 “LED1.hex”,然后按住试验箱上的 “下载键(标有 ISP)”,同时按一下电源开关,待软件显示 “正在下载...” 后松开按键,进度条走完提示 “编程成功”。​

  • 效果与故障排查(视频常见问题演示):​

  • 成功效果:视频中 LED1 亮起,用手机拍摄慢动作展示 “瞬间点亮无闪烁”。​

  • 常见问题:​

  • 若 LED 不亮,视频中演示了两种排查方法:① 用镊子短接 P2.0 与 GND,LED 点亮则说明代码问题;② 检查 ISP 软件中 “最低波特率” 是否设为 “2400”(视频中默认此值,修改后可能导致下载失败)。​

  • 特别提示:若出现 “LED1 闪烁”,多为误将P2_0 = 0写成P2_0 = ~P2_0,需检查主函数逻辑。​

视频最后总结:点亮第一颗 LED 的核心是 “确认引脚 — 配置模式 — 输出低电平”,这三个步骤在后续流水灯、按键控制中会反复用到,建议新手实际操作 3 次以上以加深记忆。​


capture_20250819194749280.bmp
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-08-20 08:58:45
已绑定手机

1

主题

7

回帖

35

积分

新手上路

积分
35
发表于 5 天前 | 显示全部楼层
第四章:USB 不断电下载
视频中,USB 不断电下载作为 AI8051U 试验箱的核心便捷功能被重点讲解,通过对比传统断电下载的弊端,突出其 “无需反复插拔电源、提升开发效率” 的优势,操作步骤拆解清晰且附带实物演示:
  • 功能原理与硬件基础(视频动画演示)

    • 视频用动画展示传统下载模式的电流路径:每次下载需断开主电源,通过下载按键触发 MCU 进入 BootLoader 模式。而 USB 不断电下载的核心是试验箱内置的 “USB 电源管理模块”,该模块通过二极管隔离主电源与 USB 供电,实现 “电脑 USB 单独为 MCU 供电并维持下载状态”。

    • 硬件标识:试验箱背面丝印标注 “USB_PWR” 的绿色 LED 灯,视频中强调 “此灯常亮说明 USB 供电正常,是不断电下载的前提”。
  • 前期配置(视频逐步操作)

    • ISP 软件设置:打开 AIapp-ISP 软件,在 “下载选项” 栏勾选 “启用 USB 不断电下载”(视频中用黄色箭头标注该选项),并将 “复位方式” 设为 “软件复位”(默认值为 “硬件复位”,需手动修改)。

    • 硬件连接检查:视频中用特写镜头展示:① USB-TypeC 线必须插在试验箱标有 “DEBUG” 的接口(非普通 USB 接口);② 主电源开关可保持开启状态,但需确保试验箱未外接其他大功率模块(如电机驱动板,可能导致供电冲突)。
  • 下载操作流程(视频对比演示)

    • 与传统下载对比:视频左侧分屏展示传统方式(需按电源键 + 下载键),右侧展示不断电下载步骤:


      • 点击 ISP 软件 “检测 MCU”,软件自动发送复位指令,试验箱上的 “RUN” 指示灯闪烁 3 次(表示进入下载模式)。


      • 选择编译好的.hex 文件,点击 “下载” 按钮,进度条开始滚动(视频中提示 “此时主电源无需关闭,LED 灯、数码管等外设会短暂熄灭,属正常现象”)。


      • 下载完成后,软件提示 “复位 MCU”,试验箱自动重启,“RUN” 灯常亮,外设恢复工作。
  • 优势与适用场景(视频总结)

    • 效率提升:视频中通过计时器对比,传统下载单次操作平均耗时 15 秒,而不断电下载仅需 3 秒,尤其在调试流水灯、传感器读数等高频修改场景,可节省 70% 以上时间。

    • 特殊场景适配:对于需要维持外设状态的开发(如 RTC 时钟校准、EEPROM 数据保存),不断电下载可避免因断电导致的数据丢失(视频中演示 “校准后的时钟在下载后仍保持准确”)。
  • 常见问题与解决(视频故障复现)

    • 下载失败提示 “找不到 MCU”:视频中演示排查步骤:① 检查 “USB_PWR” 灯是否亮起,不亮则更换 USB 线;② 重新插拔 USB 接口,确保接触良好(试验箱 USB 口易积灰,视频建议用棉签清洁)。

    • 外设异常:若下载后 LED 灯闪烁异常,视频指出可能是 “软件复位未生效”,需在代码中添加复位函数:
void software_reset(void) {
    ISP_CONTR = 0x60;  // 触发软件复位,视频中强调此寄存器值为STC芯片专用
}


    • 兼容性限制:视频特别说明 “当程序中使用了外部中断 0(INT0)且优先级设为最高时,可能屏蔽下载指令”,建议调试阶段暂时关闭高优先级中断。
视频最后强调:USB 不断电下载是 AI8051U 试验箱的核心功能之一,熟练掌握后可显著提升开发流畅度,尤其适合新手高频次调试代码的场景,建议结合第二章的 LED 灯程序反复练习,直至形成肌肉记忆。

capture_20250819195254955.bmp
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-08-20 08:58:45
已绑定手机

1

主题

7

回帖

35

积分

新手上路

积分
35
发表于 5 天前 | 显示全部楼层
第五章:C 语言基础
在 AI8051U 试验箱的学习进程中,C 语言基础是极为关键的一环。这部分内容将为学习者后续深入开发试验箱功能,实现复杂应用程序奠定基石。视频通过理论讲解、代码演示与实际案例相结合的方式,系统地阐述了 C 语言在该试验箱开发场景下的核心要点。
  • C 语言基本结构与程序执行流程

    • 结构剖析:视频开篇强调,一个完整的 C 语言程序由函数和变量构成。其中,main()函数是程序执行的入口,不可或缺。例如,一个简单的点亮 LED 灯程序框架如下:
    • #include <AI8051U.H>  // 引入试验箱相关头文件,提供硬件寄存器定义等void main(void) {
          // 初始化代码,如配置IO口模式
          while(1) {
              // 主循环,实现具体功能,如控制LED灯亮灭
          }
      }
    • 执行流程演示:通过流程图与实际代码单步调试,视频展示了程序从加载到内存,到进入main()函数,按顺序执行语句,遇到循环、条件判断等结构时的走向。如在点亮 LED 灯程序中,先执行初始化 IO 口模式的代码,之后进入while(1)无限循环,持续控制 LED 灯状态,让学习者清晰理解程序运行逻辑。​
      • 数据类型与变量:​

      • 基本数据类型介绍:C 语言提供多种基本数据类型,在 AI8051U 试验箱开发中,常用的有char(字符型,占 1 字节,可用于存储单个字符或小整数)、int(整型,通常占 2 字节或 4 字节,依编译器和硬件平台而定,用于存储整数)。视频以定义变量控制 LED 灯数量为例,int ledCount = 8;,这里ledCount即为int型变量,用于记录 LED 灯个数。​

      • 变量声明与初始化:变量使用前必须先声明其类型,可同时进行初始化。例如,char status = '0';声明了一个char型变量status并初始化为字符'0'。在试验箱开发中,合理的变量初始化能确保程序初始状态正确,如初始化用于记录传感器读数的变量为 0,避免未初始化导致的不确定值影响程序运行。​

      • 运算符与表达式:​

      • 算术运算符:加法(+)、减法(-)、乘法(*)、除法(/)和取余(%)等算术运算符在试验箱开发中常用于数据计算。比如,在计算 PWM(脉冲宽度调制)占空比时,可能会用到除法运算。若要设置 PWM 占空比为 50%,假设总周期为 100,有效高电平时间为int highTime = 100 * 50 / 100;。​

      • 赋值运算符:=用于将右侧表达式的值赋给左侧变量。此外,还有复合赋值运算符,如+=、-=等。在试验箱中,当需要对某一寄存器的值进行累加操作时,可使用+=运算符,如P2 += 1;表示将 P2 口寄存器的值加 1。​

      • 关系与逻辑运算符:关系运算符(如>、<、==等)用于比较两个值的大小或是否相等,逻辑运算符(&&与、||或、!非)用于组合多个关系表达式。在编写按键检测程序时,if((P3 & 0x01) == 0x01),通过与运算符&检测 P3.0 引脚是否为高电平,若为高电平则执行后续代码块。​

      • 控制语句:​

      • 条件语句:if - else语句用于根据条件执行不同代码块。在温度监测程序中,if(temperature > 30),若检测到的温度大于 30 摄氏度,则执行开启风扇的代码;否则执行关闭风扇的代码。视频中还介绍了嵌套if - else以及switch - case语句的应用场景,如在多按键控制不同功能的程序中,使用switch - case可清晰地根据按键值执行相应操作。​

      • 循环语句:for、while和do - while循环语句在试验箱开发中用于重复执行某段代码。以流水灯效果为例,可使用for循环控制不同 LED 灯依次点亮,for(int i = 0; i < 8; i++),循环 8 次,每次点亮不同位置的 LED 灯。while循环常用于等待某一条件满足,如while((P3 & 0x02) != 0x02),等待 P3.1 引脚变为高电平。do - while循环则先执行一次循环体,再判断条件,适用于某些需要先执行一次操作再进行条件判断的场景。​

      • 函数:​

      • 函数定义与声明:函数是模块化编程的关键,可将特定功能封装在函数内,提高代码的可读性与可维护性。函数定义包括返回值类型、函数名、参数列表和函数体。例如,定义一个延时函数:void delay(unsigned int time) {    while(time--) {
                // 空循环,消耗时间实现延时
            }
        }函数声明需在调用函数前进行,告知编译器函数的返回值类型、函数名和参数类型,如void delay(unsigned int time);。​
        • 函数调用与参数传递:在主函数或其他函数中可调用已定义的函数,传递参数时分为值传递和引用传递(在 C51 中,部分编译器支持通过指针实现类似引用传递效果)。在点亮 LED 灯程序中,调用延时函数实现闪烁效果,delay(1000);,这里 1000 即为传递给delay函数的参数,控制延时时间。​

        • 数组与指针(基础部分):​

        • 数组:数组用于存储多个相同类型的数据。在试验箱中,可使用数组存储多个传感器的读数,如int sensorReadings[5];定义了一个可存储 5 个整型传感器读数的数组。通过数组下标可访问和修改数组元素,sensorReadings[0] = getSensorValue(0);将第一个传感器的值存入数组。​

        • 指针(初步认识):指针是 C 语言的强大特性,虽较为复杂,但在试验箱开发中用于高效访问硬件资源等场景。视频简单介绍了指针变量的定义,如int *ptr;定义了一个指向int型数据的指针变量。在后续章节将深入讲解指针在操作寄存器地址、内存管理等方面的应用。​

        视频最后强调,C 语言基础是在 AI8051U 试验箱上进行开发的根基,建议学习者通过实际编写代码,结合点亮 LED 灯、按键控制、传感器数据读取等简单案例,反复练习,加深对 C 语言基础概念的理解与运用能力,为后续学习更复杂的功能模块开发做好准备。​





capture_20250819200202156.bmp
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-08-20 08:58:45
已绑定手机

1

主题

7

回帖

35

积分

新手上路

积分
35
发表于 5 天前 | 显示全部楼层
第六章:IO 输入输出
视频围绕 AI8051U 试验箱的 IO 输入输出功能,通过实物演示和代码实操展开讲解:​
  • IO 口工作模式:​

  • 共 4 种模式,结合寄存器配置说明:​

  • 高阻输入(默认):P2M0 &= ~(1 << 0); P2M1 |= (1 << 0);,适用于读微弱信号。​

  • 准双向口(弱上拉):P2M0 &= ~(1 << 0); P2M1 &= ~(1 << 0);,常用输出模式,如点亮 LED。​

  • 推挽输出:P2M0 |= (1 << 0); P2M1 &= ~(1 << 0);,驱动能力强,适合大功率外设。​

  • 开漏输出:配置同高阻输入,需外接上拉,用于 I2C 等总线。​

  • 模式选择:小功率用准双向口,大功率用推挽,读输入用高阻,总线用开漏。​

  • IO 输出操作:​

  • 单个 IO 口:P2_0 = 1;(熄灭 LED),准双向口高电平约 3.3V,推挽更稳定。​

  • 多个 IO 口:操作端口寄存器,如P2 = 0x00;(8 路 LED 全亮)、P2 = 0xAA;(奇数位亮),注意用&=、|=避免影响其他 IO。​

  • IO 输入操作:​

  • 按键检测:​

  • P3.0 配置为高阻输入,按键按下为低电平,代码判断:​





if(P3_0 == 0) { P2_0 = 0; } else { P2_0 = 1; }​






  • 软件延时 10ms 消抖,确认状态后操作。​

  • 传感器读取:以光敏电阻为例,int lightLevel = P1_0;读电平判断光线(需配合 ADC)。​

  • 综合应用:​

  • 按键控制流水灯:​





unsigned char direction = 1; bit running = 0;​

void main() {​

    while(1) {​

        if(P3_0 == 0) { delay(10); if(P3_0 == 0) running = 1; }​

        if(P3_1 == 0) { delay(10); if(P3_1 == 0) running = 0; }​

        if(P3_2 == 0) { delay(10); if(P3_2 == 0) direction = !direction; }​

        if(running) { /* 控制流水灯方向 */ }​

    }​

}​






  • 外部中断:IO 口检测电平变化(如下降沿)触发中断,适用于快速响应场景。​

视频强调需熟练掌握模式配置和代码实现,结合外设多做练习。​


capture_20250819200741695.bmp
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-08-20 08:58:45
已绑定手机

1

主题

7

回帖

35

积分

新手上路

积分
35
发表于 5 天前 | 显示全部楼层
第七章:定时器中断
视频围绕 AI8051U 试验箱的定时器中断功能,从定时器基础、中断配置到实际应用展开讲解,全程结合代码演示和硬件实操。
  • 定时器工作原理

    • 视频中通过动画展示,定时器本质是计数器,通过内部时钟脉冲累加计数,当计数值达到预设值时产生溢出,可用于实现精确延时。AI8051U 有多个定时器(如 T0、T1),视频以定时器 0 为例进行讲解。

    • 定时器 0 有 4 种工作模式,视频重点介绍模式 1(16 位定时器),其计数范围为 0~65535,溢出后需重新装载初值以维持定时周期。
  • 定时器初始化配置

    • 模式设置:通过 TMOD 寄存器配置,设置定时器 0 为模式 1:TMOD &= 0xF0; TMOD |= 0x01;(视频中用红框标注寄存器位含义)。

    • 初值计算:根据晶振频率(11.0592MHz)计算定时时长对应的初值。例如定时 1ms,计算得初值为 0xFC66,代码中装载:TH0 = 0xFC; TL0 = 0x66;(视频中用计算器演示计算过程)。

    • 启动定时器:设置 TR0 位启动计数:TR0 = 1;。
  • 中断系统配置

    • 允许中断:需开启总中断和定时器 0 中断,代码为:EA = 1; ET0 = 1;(视频中强调中断允许位的层级关系)。

    • 中断服务函数:函数名固定为timer0_isr,无返回值和参数,需在函数中重新装载初值并执行定时任务,例如:
void timer0_isr(void) interrupt 1 {
    TH0 = 0xFC; TL0 = 0x66;  // 重装载初值
    // 定时任务代码(如LED灯翻转)
    P2_0 = ~P2_0;
}

  • 实际操作演示

    • 视频中编写程序实现 “定时器 0 中断控制 LED 灯 100ms 闪烁”,步骤为:初始化 IO 口→配置定时器 0→开启中断→主函数循环等待(while(1);)。

    • 下载程序后,LED 灯按设定频率闪烁,用示波器测量周期确认为 200ms(亮 100ms、灭 100ms),验证定时器中断功能正常。
  • 常见问题排查

    • 若 LED 不闪烁,视频演示检查:① 定时器初值是否正确;② 中断允许位是否开启;③ 中断服务函数名是否正确(尤其interrupt 1不可遗漏)。

    • 若闪烁频率异常,多为初值计算错误,需重新根据晶振频率核对。
    • 感谢stc官方免费+包邮 Ai8051U实验箱在此分享学习过程


capture_20250819200741695.bmp
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-08-22 08:50:05

16

主题

70

回帖

908

积分

版主

积分
908
发表于 4 天前 | 显示全部楼层
推荐优先看的 printf_usb("Hello World !\r\n")及usb不停电下载, 演示视频链接

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-08-20 08:58:45
已绑定手机

1

主题

7

回帖

35

积分

新手上路

积分
35
发表于 4 天前 来自手机 | 显示全部楼层
西西研究员 发表于 2025-8-20 09:12
推荐优先看的 printf_usb("Hello World !\r\n")及usb不停电下载, 演示视频链接

回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-24 02:30 , Processed in 0.121111 second(s), 93 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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