炫意html5
最早CSS3和HTML5移动技术网站之一

嵌入式系统入门 教程

无卤阅读(49)

简述 我们可以将嵌入式系统广义地定义为基于微控制器、软件驱动、可靠、实时的控制系统,旨在执行特定任务。它可以被认为是一个嵌入了软件的计算机硬件系统。嵌入式系统可以是一个独立的系统,也可以是一个大型系统的一部分。在本教程中,我们将解释设计和使...

嵌入式系统入门 – 术语

无卤阅读(55)

程序计数器 程序计数器是一个 16 位或 32 位寄存器,其中包含要执行的下一条指令的地址。每次获取指令时,PC 都会自动递增到下一个连续的内存位置。分支、跳转和中断操作将下一个顺序位置以外的地址加载到程序计数器中。 激活上电复位将导致寄存...

嵌入式系统入门 – I/O 编程

yiyan阅读(54)

简述 在 8051 中,I/O 操作是使用四个端口和 40 个引脚完成的。以下引脚图显示了 40 个引脚的详细信息。I/O 操作端口预留 32 个引脚,每个端口有 8 个引脚。其他8个管脚被指定为V CC,GND,XTAL1,XTAL2,R...

嵌入式系统入门 – 8051 微控制器

小杜阅读(49)

8051简史 第一个微处理器 4004 是英特尔公司发明的。 8085 和 8086微处理器也是由英特尔发明的。1981 年,Intel 推出了一种 8 位微控制器,称为8051. 它被称为单片机因为它有 128 字节的 RAM、4K 字节...

嵌入式系统入门 – 工具和外设

牛青阅读(53)

编译器和汇编器 编译器 编译器是一种计算机程序(或一组程序),它将以一种编程语言(源语言)编写的源代码转换为另一种计算机语言(通常为二进制格式)。转换的最常见原因是创建可执行程序。“编译器”这个名称主要用于将源代码从高级编程语言翻译成低级语...

嵌入式系统入门 – 架构类型

牛青阅读(57)

简述 控制器使用 8 位数据总线。因此它们最多可以支持 64K 的外部数据存储器和 64k 的外部程序存储器。总的来说,8051 微控制器可以寻址 128k 的外部存储器。 当数据和代码位于不同的内存块时,该架构被称为 Harvard ar...

嵌入式系统入门 – 处理器

田田阅读(59)

简述 嵌入式系统的核心。它是接受输入并在处理数据后产生输出的基本单元。对于嵌入式系统设计人员来说,必须同时具备微处理器和微控制器的知识。 系统中的处理器 处理器有两个基本单元 – 程序流控制单元 (CU) 执行单位(欧盟) CU...

嵌入式系统入门 – 汇编语言

bigao阅读(100)

简述 开发汇编语言是为了提供 mnemonics或机器级代码指令的符号。汇编语言程序由助记符组成,因此应将它们翻译成机器代码。负责这种转换的程序称为assembler. 汇编语言通常被称为低级语言,因为它直接与 CPU 的内部结构一起工作。...

嵌入式系统入门 – 中断

嘿哈阅读(52)

简述 中断是由硬件或软件向处理器发出的信号,指示需要立即注意的事件。每当中断发生时,控制器完成当前指令的执行并开始执行一个中断服务例程 (ISR) 或 中断处理程序. ISR 告诉处理器或控制器在中断发生时要做什么。中断可以是硬件中断或软件...

嵌入式系统入门 – 定时器/计数器

bigao阅读(51)

简述 timer是一种特殊类型的时钟,用于测量时间间隔。从零向上计数以测量经过的时间的计时器通常称为stopwatch. 它是从指定的时间间隔开始倒计时并用于产生时间延迟的设备,例如,沙漏就是计时器。 counter是一种存储(有时显示)与...

嵌入式系统入门 – SFR 寄存器

无卤阅读(54)

简述 特殊功能寄存器(或特殊用途寄存器,或简称为特殊寄存器)是微处理器内的寄存器,用于控制或监视微处理器的各种功能。由于特殊寄存器与处理器的某些特殊功能或状态密切相关,因此它们可能无法由普通指令(如添加、移动等)直接写入。相反,某些处理器架...

嵌入式系统入门 – 寻址模式

中天阅读(52)

简述 一个 寻址模式指的是您如何寻址给定的内存位置。有五种不同的方式或五种寻址模式来执行该指令,如下所示 – 立即寻址模式 直接寻址方式 寄存器直接寻址方式 寄存器间接寻址方式 索引寻址方式 立即寻址模式 让我们从一个例子开始。...

嵌入式系统入门 – 指令

田田阅读(50)

简述 除非执行控制转移指令,否则程序流程以顺序方式进行,从一条指令到下一条指令。汇编语言中的各种控制转移指令包括条件或无条件跳转和调用指令。 循环和跳转指令 在 8051 中循环 将一系列指令重复一定次数称为 循环. 一条指令DJNZ re...

嵌入式系统入门 – 寄存器组/堆栈

小杜阅读(70)

简述 8051 微控制器共有 128 字节的 RAM。我们将讨论这 128 字节 RAM 的分配,并检查它们作为堆栈和寄存器的用途。 8051 中的 RAM 内存空间分配 8051 内部的 128 字节 RAM 被分配了地址 00 到 7F...

嵌入式系统入门 – 寄存器

老王阅读(57)

简述 CPU 中使用寄存器来临时存储信息,这些信息可以是要处理的数据,也可以是指向要获取的数据的地址。在8051中,有一种数据类型是8位,从MSB(最高有效位)D7到LSB(最低有效位)D0。对于 8 位数据类型,任何大于 8 位的数据类型...

LVGL基础教程 – LVGL 简介

中天阅读(677)

LVGL(Light and Versatile Graphics Library,轻巧而多功能的图形库)是一个免费的开放源代码图形库,它提供创建具有易于使用的图形元素,精美的视觉效果和低内存占用的嵌入式GUI所需的一切。 LVGL主要特性...

LVGL基础教程 – LVGL 系统框架

牛青阅读(453)

lvgl系统框架 应用程序创建 GUI 并处理特定任务的应用程序。 LVGL 本身是一个图形库。我们的应用程序通过调用 LVGL 库来创建 GUI 。它包含一个 HAL (硬件抽象层)接口,用于注册显示和输入设备驱动程序。 驱动程序除特定的...

LVGL基础教程 – LVGL 建立一个lvgl项目

田田阅读(473)

要在我们的项目中使用 lvgl ,我们起码需要获取到官方的这两个库: lvgl(lvgl)核心图形库的官方 GitHub 仓库地址:https://github.com/lvgl/lvgl。 lvgl(lv_drivers)输入输出设备驱动...

LVGL基础教程 – LVGL 显示接口

无卤阅读(572)

要设置显示,必须初始化 lv_disp_buf_t 和 lv_disp_drv_t 变量。 lv_disp_buf_t 保存显示缓冲区信息的结构体 lv_disp_drv_t HAL要注册的显示驱动程序、与显示交互并处理与图形相关的结构体、...

LVGL基础教程 – LVGL 输入设备接口

啊Q阅读(598)

LVGL输入设备的类型 要设置输入设备,必须初始化 lv_indev_drv_t 变量: lv_indev_drv_t indev_drv; lv_indev_drv_init(&indev_drv); /*Basic initia...

LVGL基础教程 – LVGL 心跳

yiyan阅读(429)

LVGL心跳,LVGL 需要系统滴答声才能知道动画和其他任务的经过时间。 为此我们需要定期调用 lv_tick_inc(tick_period) 函数,并以毫秒为单位告知调用周期。例如, lv_tick_inc(1) 用于每毫秒调用一次。 ...

LVGL基础教程 – LVGL 任务处理器

田田阅读(308)

任务处理器(Task Handler)要处理 LVGL 的任务,我们需要定期通过以下方式之一调用 lv_task_handler() : mian 函数中设置 while(1) 调用 定期定时中断(低优先级然后是 lv_tick_inc()...

LVGL基础教程 – LVGL 睡眠管理

喔28阅读(278)

LVGL睡眠管理,没有用户输入时,MCU 可以进入睡眠状态。在这种情况下,mian 函数中的 while(1) 应该看起来像这样: while(1) { /*Normal operation (no sleep) in < 1 sec...

LVGL基础教程 – LVGL 操作系统和中断

嘿哈阅读(276)

LVGL默认情况下 不是线程安全的 。 但是,在以下情况中,调用 LVGL 相关函数是有效的: 在事件 (Events) 中。在 “事件” 中了解更多信息。 在 (lv_tasks) 中。在 “任务” 中了解更多信息。 任务和线程 如果需要...

LVGL基础教程 – LVGL 日志记录

小杜阅读(207)

LVGL 内置有日志模块,用于记录用户库中正在发生的事情。 LVGL日志级别 要启用日志记录,需要在 lv_conf.h 中将 LV_USE_LOG 设置为 1 ,并将 LV_LOG_LEVEL 设置为以下值之一: LV_LOG_LEVEL...

Java基础教程Android基础教程