初识Ai8051U 学习打卡 |已收到实验箱
<p>第一集 Ai8051U强在哪里</p><p><img src="data/attachment/forum/202412/04/092618xmaay3a3gagg3tv5.png" alt="eae0ad2f0bb3e38dd83afc274741a25.png" title="eae0ad2f0bb3e38dd83afc274741a25.png" /></p>
<p>8051U的强大之处主要体现在其丰富的功能和性能方面,以下是对其各项功能的详细解释:</p>
<ol>
<li><strong>屏幕显示和视频播放</strong>:
<ul>
<li>8051U支持多种显示屏幕接口,如4引脚IIC OLED接口、7引脚SPI接口、8引脚TFT彩屏接口等,可以连接不同类型的显示屏进行图像和视频显示。</li>
<li>通过编程,8051U可以实现动态的屏幕显示和视频播放功能,这在嵌入式系统中非常实用。</li>
</ul>
</li>
<li><strong>IIS录放音</strong>:
<ul>
<li>8051U具备IIS(Inter-IC Sound)音频接口,支持音频的录制和播放。</li>
<li>已被测试并验证,可以方便地集成到音频相关的嵌入式应用中。</li>
</ul>
</li>
<li><strong>PWM DMA</strong>:
<ul>
<li>PWM(脉宽调制)是一种重要的控制技术,广泛应用于电机控制、LED亮度调节等领域。</li>
<li>8051U内置PWM模块,可以通过编程生成可编程的PWM波形,实现精确的控制。</li>
<li>DMA(Direct Memory Access)技术可以进一步提高数据传输的效率,减少CPU的干预,使8051U在处理复杂任务时更加高效。</li>
</ul>
</li>
<li><strong>频谱分析仪(上位机)</strong>:
<ul>
<li>虽然8051U本身不直接作为频谱分析仪的硬件部分,但可以通过与上位机软件配合,实现频谱分析的功能。</li>
<li>这需要软件定义仪器的支持,以及相应的辅助测量硬件(如驻波桥、跟踪源等)。</li>
</ul>
</li>
<li><strong>手写计算器</strong>:
<ul>
<li>8051U具有强大的计算能力,并且可以通过运行卷积神经网络(如LeNet)来实现手写数字的识别。</li>
<li>这使得8051U可以作为一个手写计算器,通过识别用户的手写输入来进行计算。</li>
</ul>
</li>
<li><strong>其他高级功能</strong>:
<ul>
<li>QSPI(Quad-SPI)接口:支持高速的四线串行闪存接口,适用于高速数据读取和写入。</li>
<li>PWM移相:通过PWM模块的移相功能,可以实现更复杂的控制策略,如相位控制等。</li>
<li>硬件乘除:8051U内置硬件乘法器和除法器,可以大大提高数学运算的速度。</li>
<li>单精度浮点运算:支持单精度浮点数的运算,这在需要高精度计算的应用中非常重要。</li>
</ul>
</li>
</ol>
<p>此外,AI8051U实验箱还提供了丰富的开发资源和例程代码,使得用户可以更加便捷地进行开发和调试工作。综上所述,8051U以其强大的功能和性能在嵌入式系统中占据了重要的地位,适用于各种需要高性能和复杂控制的应用场景。</p>
第二集 硬件及工具介绍
!(data/attachment/forum/202412/04/093250xdrxgzxxy8xujrgh.png "81d501f3b9e9b4dc0cf067fa8c4095e.png")
一、核心功能
USB声卡功能 AI8051U实验箱支持USB声卡功能,通过USB接口连接电脑或其他设备,可以实现音频的录制和播放。 实验箱内置CODEC芯片(如TLV320AIC23B),支持I2S接口输出立体声,提供高质量的音频体验。 用户可以通过编程控制音量大小、音频格式等参数,实现个性化的音频处理。 TF卡/SD卡音频播放器 实验箱支持TF卡/SD卡作为存储介质,用户可以将音频文件存储在卡中,并通过实验箱进行播放。 支持多种音频格式,如MP3、WAV等,满足用户不同的音频需求。 用户可以通过编程控制播放列表、播放顺序等,实现个性化的播放体验。 32位8051处理器 AI8051U实验箱搭载32位8051处理器,提供强大的计算能力和丰富的指令集。 支持1T 8051指令集和32位8051指令集,兼容多种编译器,如Keil C51、IAR、SDCC等。 处理器运行频率高,性能稳定,适用于各种复杂的嵌入式应用场景。
二、扩展功能
TFT彩屏显示 实验箱支持TFT彩屏显示功能,可以连接多种尺寸的TFT彩屏(如2.4寸、3.2寸、3.5寸等)。 支持多种分辨率和颜色深度,提供清晰的图像显示效果。 用户可以通过编程实现动态图像显示、文字显示等功能。 QSPI-FLASH存储 实验箱支持QSPI-FLASH存储功能,提供高速的数据读写能力。 QSPI接口支持四线串行通信,数据传输速率高,适用于需要快速读取和写入数据的场景。 PWM和DMA支持 实验箱内置PWM模块,支持多种PWM波形输出和频率调节。 支持DMA技术,可以实现数据的直接内存访问,减少CPU的干预,提高数据处理的效率。 录音功能 实验箱支持录音功能,通过内置的ADC(模数转换器)可以录制声音信号,并将其转换为数字信号进行存储和处理。 支持多种录音格式和采样率,满足用户不同的录音需求。 其他接口和功能 实验箱还提供多种其他接口和功能,如USB接口、串口、I2C接口、SPI接口等。 支持多种外设连接和通信方式,方便用户进行各种扩展和应用开发。
三、开发资源和支持
开源例程和代码 AI8051U实验箱提供丰富的开源例程和代码资源,用户可以轻松上手并进行二次开发。 例程包括USB声卡功能、TF卡/SD卡音频播放器功能、TFT彩屏显示功能等,涵盖了实验箱的主要功能和应用场景。 详细的文档和资料 实验箱附带详细的文档和资料,包括电路原理图、PCB布局图、使用说明书等。 这些资料可以帮助用户更好地理解实验箱的工作原理和开发流程。 社区支持和交流 AI8051U实验箱拥有活跃的社区支持和交流平台,用户可以在这里分享经验、解决问题并获取最新的技术动态。
很用心的Ai8051U教学视频学习笔记,期待您更加精彩的点评。恭喜您提前获赠Ai8051U实验箱,今日会给您顺丰免费包邮寄出。期待您在论坛上给大持续分享测试心得,一起前进!:shengli:
第三集 点亮第一个LED
1.详细介绍项目的搭建
!(data/attachment/forum/202412/04/094003idx11np19nr6inaa.png "b9ba6bd296a56ba1a3c5ed03c02126d.png")
2.详细介绍怎么编写自己的第一个程序
!(data/attachment/forum/202412/04/104102yfo5i448f95p4z48.png "image.png")
3.通俗易懂的介绍为什么能点亮LED
!(data/attachment/forum/202412/04/104217b44a3ie3en9vnxnn.png "image.png")
第4集USB不停电下载
1.详细介绍USB不停电下载功能
!(data/attachment/forum/202412/04/104355r94a50r1p33515b3.png "image.png")
!(data/attachment/forum/202412/04/104609cwi6qb7bnxwwxbz2.png "image.png")
!(data/attachment/forum/202412/04/104548rd5sg0gsai7q0g8i.png "image.png")
第5集C语言基础
1.很难得的课程,把基础和功能结合在一起讲
!(data/attachment/forum/202412/04/105219ztz37t7iu0y47rrl.png "image.png")
2.C语言的printf在原来的8051中很少用到,基于强大的AI8051U详细介绍这个功能很有必要
!(data/attachment/forum/202412/04/105331yvzlc6koi9en69ci.png "image.png")
3.C语言常用运算符和程序相结合的详细讲解
!(data/attachment/forum/202412/04/105702fcl6lmawjwc1l4el.png "image.png")
!(data/attachment/forum/202412/04/105756l7jk7f7mdz7d7ffk.png "image.png")
4.程序员必备的计算工具
!(data/attachment/forum/202412/04/105842j3omkekwh7khbxse.png "image.png")
第6集 I/O 输入输出
1.详细的介绍GPIO,对没有基础的初学者很友好
!(data/attachment/forum/202412/04/110236ul6xt65y68yto8i8.png "image.png")
## 2.通过寄存器讲解GPIO
!(data/attachment/forum/202412/04/110827g1jja7517payzybw.png "image.png")
## * 题外话
对于初学者来说,学习51单片机的寄存器是一个重要的环节。以下是对51寄存器的一些基本理解,旨在帮助初学者更好地掌握这一知识点:
### 一、寄存器的定义与功能
寄存器是中央处理器(CPU)内用来暂存指令、数据和地址的模块。在51单片机中,寄存器位于某段RAM区内,用于存储和读取数据。寄存器的存储容量有限,但读写速度非常快,是CPU进行数据处理的关键部件。
### 二、51单片机的寄存器分类
1. **通用寄存器**:也称为工作寄存器,常用于存放操作数及中间结果。51单片机有32个通用寄存器,分为4组,每组8个,每个寄存器都是8位。这些寄存器以R0\~R7作为寄存器单元编号,其中第0组寄存器被默认为通用寄存器组,其他组需要通过设置程序状态字(PSW)中的RS1、RS0两位来选择。
2. **特殊功能寄存器(SFR)**:这些寄存器具有特定的功能,用于控制单片机的各种操作。例如,累加器(A/ACC)、B寄存器、程序状态字(PSW)、数据指针(DPTR)、堆栈指针(SP)和程序计数器(PC)等都是特殊功能寄存器。它们的地址通常是固定的,并且可以通过特定的指令进行访问和操作。
3. **位寻址区**:51单片机的RAM中有一部分区域支持位寻址,即可以直接对RAM中的某一位进行操作。这部分区域通常用于设置标志位或控制位,以实现特定的功能。
### 三、寄存器的地址与寻址方式
1. **地址**:每个寄存器都有一个唯一的地址,用于标识其在RAM中的位置。通过地址,CPU可以准确地访问和操作寄存器中的数据。
2. **寻址方式**:51单片机支持多种寻址方式,包括立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址等。这些寻址方式使得CPU能够灵活地访问和操作寄存器中的数据。
### 四、寄存器的应用
1. **数据存储**:寄存器可以用于存储临时数据或中间结果,以便CPU进行后续处理。
2. **控制功能**:特殊功能寄存器可以控制单片机的各种操作,如定时/计数、中断处理、串行通信等。
3. **标志位设置**:位寻址区中的寄存器可以用于设置标志位或控制位,以实现特定的功能或状态控制。
### 五、学习建议
1. **查阅官方数据手册**:官方数据手册中包含了51单片机的详细寄存器信息,包括地址、功能、寻址方式等。初学者应该认真阅读并理解这些数据手册,以便更好地掌握寄存器的使用。
2. **多做实验**:通过编写和调试程序,可以加深对寄存器功能的理解和应用。初学者可以尝试编写一些简单的程序,如LED闪烁、按键控制等,以熟悉寄存器的操作。
3. **参考教程和资料**:网络上有许多关于51单片机的教程和资料,初学者可以参考这些资料来学习寄存器的使用方法和技巧。同时,也可以加入相关的技术论坛或社群,与其他学习者交流和分享经验。
总之,学习51单片机的寄存器需要耐心和细心。通过不断的学习和实践,初学者可以逐渐掌握寄存器的使用方法和技巧,为后续的单片机编程打下坚实的基础。
第7集 定时器中断
1.通俗易懂介绍定时器中断
!(data/attachment/forum/202412/04/111106hvh6imc3avm8mhcf.png "image.png")
2.介绍ISP软件里的定时器计算器,可以帮助初学者快速上手定时器
!(data/attachment/forum/202412/04/111244iwgnfng0ww1uahnj.png "image.png")
3.通过寄存器讲解定时器的模式
!(data/attachment/forum/202412/04/111347jnbqtuzzq96t959t.png "image.png")
4.虽然工具很方便,还是要掌握计算原理
!(data/attachment/forum/202412/04/111527ioab3m4ommv39m3p.png "image.png")
5.延伸到函数的讲解,很不错
!(data/attachment/forum/202412/04/111625tkgcc5ikqsz65ics.png "image.png")
## 题外话
从定时器延伸到函数讲解,其必要性主要体现在以下几个方面:
### 一、定时器与函数的关系
1. **定时器中断与函数**:
* 在单片机编程中,定时器经常用于生成定时中断。当中断发生时,CPU会暂停当前的任务,转而执行中断服务函数(也称为中断处理程序)。
* 这个中断服务函数就是一个特定的函数,用于处理定时器中断引发的特定任务,如更新显示、检查按键状态等。
2. **定时器配置与函数**:
* 在配置定时器时,需要设置定时器的工作模式、初值等参数。这些配置通常通过调用相关的函数来完成。
* 例如,在51单片机中,配置定时器0的工作模式、设置初值以及启动定时器等操作,都可以通过编写和调用相应的函数来实现。
### 二、函数讲解的必要性
1. **提高代码的可读性和可维护性**:
* 通过将特定的功能封装成函数,可以使代码更加模块化、结构化。这有助于其他开发者理解和维护代码。
* 当需要修改或扩展功能时,只需关注相关的函数,而无需深入了解整个程序的细节。
2. **实现代码的复用**:
* 函数可以被多次调用,从而实现代码的复用。这不仅可以减少重复代码,还可以提高编程效率。
* 例如,在单片机编程中,经常需要用到延时函数。通过编写一个通用的延时函数,并在需要时调用它,可以避免在每个需要延时的地方都编写相同的代码。
3. **便于调试和测试**:
* 函数作为独立的代码块,可以单独进行调试和测试。这有助于快速定位和解决程序中的问题。
* 通过为函数编写测试用例,可以确保函数在不同情况下的正确性。
### 三、定时器与函数结合的应用实例
以51单片机为例,以下是一个简单的应用实例,展示了定时器与函数的结合使用:
1. **配置定时器**:
* 编写一个函数,用于配置定时器的工作模式、设置初值以及启动定时器。
* 例如,配置定时器0为模式1(16位定时器),并设置初值以实现1毫秒的定时。
2. **编写中断服务函数**:
* 编写一个中断服务函数,用于处理定时器中断。在这个函数中,可以执行特定的任务,如更新显示、检查按键状态等。
* 例如,在每次定时器中断发生时,切换一个LED灯的状态。
3. **在主程序中调用配置函数并启动中断**:
* 在主程序中,调用配置定时器的函数,并启动定时器中断。
* 然后,程序将进入一个无限循环,等待中断的发生。当中断发生时,CPU将跳转到中断服务函数执行相应的任务。
综上所述,从定时器延伸到函数讲解的必要性在于,函数作为编程中的基本构建块,对于提高代码的可读性、可维护性、复用性以及便于调试和测试都具有重要意义。而定时器作为单片机编程中常用的外设之一,与函数的结合使用更是实现了精确的时间控制和特定的功能处理。
第八集 定时器周期性调度任务
## 1.**定时器的周期性调度任务,之前想用51实现RTOS时,写过类似的程序,个人认为对于理解RTOS的任务调度很有帮助,做时间切片**
!(data/attachment/forum/202412/05/201220t45tyghdh8oyyo5o.png "image.png")
2.文件的创建(项目结构也同样重要)
!(data/attachment/forum/202412/05/202124hl7tprpwvrvewqhn.png "image.png")
3.由浅入深(结构体数组的使用)
## !(data/attachment/forum/202412/05/202354nxm7xst42r4rzppy.png "image.png")题外话
### 结构体
1. **定义**:
* 结构体(struct)是C语言和C++等编程语言中的一种重要数据类型。它由一组称为成员(或域、元素)的不同数据组成,每个成员可以具有不同的类型。结构体通常用于表示类型不同但又相关的若干数据。
2. **特点**:
* 结构体类型不是由系统定义好的,而是需要程序设计者自己定义。
* 结构体的成员可以包含其他结构体、指针、数组等复杂数据类型。
* 结构体在内存中的布局是连续的,可以通过指针或数组等方式进行访问和操作。
3. **应用场景**:
* 在操作系统内核中,结构体常用于表示进程、线程、任务等系统资源的状态和信息。
* 在网络通信协议中,结构体常用于表示数据包的结构和内容。
* 在图形界面和多媒体应用中,结构体常用于表示图像、声音等复杂数据的信息和属性。
### AI8051任务调度的实现方式
1. **基于定时器的任务调度**:
* AI8051可以通过定时器中断来实现任务调度。通过设置定时器的溢出时间,可以周期性地触发中断服务程序,从而执行相应的任务。这种方式适用于需要周期性执行的任务。
2. **基于优先级的任务调度**:
* AI8051支持基于优先级的任务调度。通过为每个任务分配不同的优先级,可以确保在资源有限的情况下,高优先级任务能够得到及时执行。这种方式适用于需要处理紧急任务的应用场景。
3. **基于事件的任务调度**:
* AI8051还可以基于外部事件来实现任务调度。例如,当某个传感器检测到特定事件时,可以触发中断服务程序并执行相应的任务。这种方式适用于需要响应外部事件的应用场景。
综上所述,AI8051作为8051系列单片机的一个增强型或变种,在任务调度方面表现出了强大的性能。其高速处理能力、丰富的外设接口以及增强的任务调度能力使得AI8051在实时控制系统、嵌入式系统以及智能家居等领域得到了广泛应用。
<h1>第九集 数码管</h1>
<h2>1.数码管原理与类型介绍</h2>
<p><img src="data/attachment/forum/202412/30/200457kffk661ox8wr3xfj.png" alt="image.png" title="image.png" /></p>
<h2>2.595控制数码管原理</h2>
<p><img src="data/attachment/forum/202412/30/200626mscdyzykbrgzvmds.png" alt="image.png" title="image.png" /></p>
<h2>3.结合代码讲解595驱动过程</h2>
<p><img src="data/attachment/forum/202412/30/200601g04nze6enoh4ye6e.png" alt="image.png" title="image.png" /></p>
<h2>* ISP仿真调试接口介绍(感谢宏晶开发人员制作这么多工具)</h2>
<p><img src="data/attachment/forum/202412/30/200929r10t6kshbhluza72.png" alt="image.png" title="image.png" /></p>
页:
[1]
2