当前位置: 首页 > news >正文

嵌入式系统(二)单片机基础 | 单片机特点 内部结构 最小系统 电源 晶振 复位

上一篇文章我们介绍了嵌入式系统

嵌入式系统(Embedded System)是一种特定用途的计算机系统,它通常嵌入在更大的产品或系统中,用于控制、监测或执行特定的任务。这些系统通常由硬件和软件组成,旨在满足特定的需求,如嵌入在家电、汽车、医疗设备、工业自动化、消费电子产品、通信设备等各种应用领域。

简单说嵌入式:就是嵌入到对象体中的专用计算机系统 三要素 嵌入 专用 计算机

嵌入式系统往往是一个较为复杂的系统,由单片机和硬件平台和嵌入式计算机系统等组成,其中的核心是嵌入式处理器

我们主要讲解单片机

文章目录

  • 1 单片机基本介绍
    • 1.1 单片机组成
    • 1.2 单片机特点
    • 1.3 单片机分类
    • 1.4 单片机内部结构
  • 2. 8051单片机内部结构
    • 2.1 CPU 核心
    • 2.2 ROM Flash 程序存储空间
    • 2.3 RAM 数据存储空间
    • 2.4 SFR 特殊功能寄存器
  • 3 CC2530芯片介绍
    • 3.1 组成
  • 4 单片机最小系统
    • 4.1 电源
    • 4.2 晶振
      • 4.2.1 定义种类
      • 4.2.2 基本时序周期
    • 4.3 复位
  • 5 编程

1 单片机基本介绍

1.1 单片机组成

单片机系统是经典的嵌入式系统

单片微型计算机简称单片机,他不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一块芯片上,往往集合了如下一些部分

​ (1)CPU中央处理器

​ (2)RAM 随机存取存储器

​ (3)ROM 只读存储器

​ (4)定时/计数器/ IO接口

采用哈佛结构 Harvard结构

将程序 指令储存和数据储存分开的存储器 结构。拥有独立的指令总线和数据 总线,可以让取指与数据访问分开 进行,提高了执行效率。

而不是传统我们熟悉的冯诺依曼结构

1.2 单片机特点

1)高集成度,体积小,高可靠性

2)控制功能强

3)低电压,低功耗,便于生产便携式产品

4)易扩展

5)优异的性能价格比

1.3 单片机分类

1 按数据处理位数来分

由于4位单片机性能比较低,目前已逐步退出市场。

而16位 和32位单片机虽然性能比8位的强得多,但由于成本和应用 场合的限制,尤其是近年来ARM嵌入式技术的发展,导致它 的应用空间也不如8位单片机广泛。而16位和32位单片机主 要应用于视频采集、图形处理等方面。

2 按内核分类

单片机按内核分为

51系列 爱特梅尔公司

ARM系列 安谋国际科技股份有限公司

PIC系列 美国微芯科技公司

AVR系列 爱特 梅尔公司

MSP430系列 德州 仪器公司

3 按指令类型分类 单片机按指令类型可以分为

精简指令集和复杂指令集。

1.4 单片机内部结构

1)中央处理器

运算器和控制器是核心,合称中央处理器或中央处理单元。

运算器执行所有的算术和逻辑运算;

控制器负责把指令逐 条从存储器中取出,经译码后向计算机发出各种控制命令;

而寄存器为处理单元提供操作所需要的数据。

2)存储器

存储器主要包括只读存储器和随机存储器。

3)输入设备和输出设备

输入设备和输出设备主要包括并行I/O端口串行接口等通 信方式。

并行I/O端口即输入/输出引脚,这是单片机与外部电路和 器件主要联系的端口,它既可以接收外界输入的电平信号, 也可以向外发送指定的电平信号

串行通信是一条信息的各位数据逐位按顺序传送的通信方 式。其数据传送按位顺序进行,最少只需要一根传输线即可。串行通信主要采用通用异步收发传输器(UART)实现。 其中,RxD表示接收数据端口,TxD表示发送数据端口

4)时钟电路

主要为单片机提供运行所需要的节拍信号,每到 来一个节拍,单片机就执行一步操作,所以时钟电路提供 的信号频率越高,单片机的运行速度就越快,相应的功耗 也越大。

5)中断控制系统

中断的种类大体来说,主要包括硬体中断、软体中断两类。

硬体中断的形成,通常是外界的硬体装置利用由CPU拉出的 中断要求信号线来通知 CPU中断的请求。

软体中断,通 常是CPU自己引发的,比如说执行了不该执行的指令、计算 错误或者执行了某个用来产生软体中断的指令。

6)定时器/计数器

单片机将CPU、存储器、输入/输出设备、中断控制系统、 定时器/计数器和通信等多种功能部件集成到一块硅片上, 从而构成一个体积小但功能完善的微型计算机系统。

解下来我们重点介绍一款应用较多的单片机

2. 8051单片机内部结构

2.1 CPU 核心

以ALU为中心的运算器

还有以各种寄存器和译码器为核心的控制器

在这里插入图片描述

除了CPU以外,有名的是单片机的三大资源

FLASH(程序存储空间ROM)

RAM (数据存储空间)

SFR 特殊功能寄存器

2.2 ROM Flash 程序存储空间

FLASH 存储器是一种非易失性存储器,用于存储嵌入式系统的程序代码。它通常用于存储固件、操作系统、应用程序和其他必要的程序代码。与传统的RAM不同,FLASH 存储器的数据在断电后仍然保持,因此适用于存储长期保持的程序代码。

对于单片机来说Flash最大的意义是断电后 数据不丢失,

2.3 RAM 数据存储空间

RAM是单片机的数据存储空间,用来存储程序运 行过程中产生的和需要的数据

跟电脑的内存是 相似的概念,关电后数据丢失,所以我 们每次打开计算器,都是从归零开始计算。

它的优点,第一是读写速度非常快,第二是理论 上是可无限次写入的,即寿命无限,不管程序怎 么运行怎么读写它都不会坏。

2.4 SFR 特殊功能寄存器

特殊功能寄存器是嵌入式系统中的一类寄存器,用于控制和配置系统的特殊功能和硬件模块。这些寄存器通常包括控制寄存器、时钟寄存器、中断寄存器、输入/输出端口控制寄存器等。通过编写和读取这些寄存器的值,开发者可以配置和控制系统的各种功能。

SFR,特殊功能寄存器。这 个概念大家可能刚开始理解不了,但是一 定要记住。单片机有很多很多功能,每个 功能都会对应一个或多个SFR,我们就是 通过对SFR的读写来实现单片机的多种多 样的功能的。

3 CC2530芯片介绍

3.1 组成

(1)CPU和内存

CC2530芯片中使用的8051CPU内核是一个单周期的8051兼容内核。

它有3种不同的内存访问总线,分别用于访问特殊功 能寄存器、数据和代码/外部数据

此外,它还包括一个调试接口和一个18路输入扩展中断单元。

(2)时钟和电源管理

数字内核和外设由一个1.8V低压差稳压器供电。它提供了 电源管理功能,可以实现使用不同供电模式的长电池寿命 的低功耗运行。CC2530有5种不同的复位源来复位设备

(3)外设

调试接口执行一个专有的两线串行接口,用于内电路调试。 通过这个调试接口,可以执行整个闪存存储器的擦除、控 制振荡器、停止和开始执行用户程序、执行8051内核提供 的指令、设置代码断点,以及内核中全部指令的单步调试。 使用这些技术,可以很好地执行内电路的调试和外部闪存 的编程。

定时器1是一个16位定时器,具有定时器/PWM功能。的消费 型IR信号。

定时器2是专门为支持IEEE 802.15.4 MAC或软件中其他时 槽的协议设计的。该定时器有一个可配置的定时器周期和 一个8位溢出计数器

定时器3和定时器4是8位定时器,具有定时器/计数器/PWM功能。

睡眠定时器在除供电模式3之外的所有工作模式下不断运行。该定时器 的典型应用是作为实时计数器,或作为一个唤醒定时器跳出供电模式1 或2

ADC支持7~12位的分辨率,分别在30kHz或4kHz的带宽。DC和音频转换 可以使用高达8个输入通道(端口0),输入可以选择作为单端或差分。 参考电压可以是内部电压、AVDD或一个单端或差分外部信号。ADC还有 一个温度传感输入通道。ADC可以自动执行定期抽样或转换通道序列的 程序

串口1(USART 0)和串口2(USART 1)被配置为一个SPI主/从或一个 UART。它们为RX和TX提供双缓冲,以及硬件流控制。

4 单片机最小系统

单片机最小系统 ,也叫做单片机 最小应用系统, 是指用最少的原 件组成单片机可 以工作的系统。 单片机最小系统 的三要素就是电源、晶振、复位

4.1 电源

常用单片机的电源系统有5V系统 和3.3V系统这两种。

4.2 晶振

4.2.1 定义种类

晶振,又叫晶体振荡器,他起到的作用是 为单片机系统提供基准时钟信号。

单片机内部所有的工作都是以这个时钟信号为步调基准来进行工作的。

STC89C52单片机的18脚和19脚是晶振引 脚,我们接了一个11.0592M的晶振(它每 秒钟振荡11,059,200次),外加两个20pF 的电容,电容的作用是帮助晶振起振,并 维持振荡信号的稳定

电容分为不同种

晶振分为有源晶振和无源晶振

两种时钟产生方式

​ 内部振荡器方式

​ 外部时钟源方式

4.2.2 基本时序周期

CPU总是按照一定的时钟节拍与时序工作,时序 定时单位共有4个,从小到大依次是:

振荡周期/时钟周期:Tc=晶振频率fosc(或外加频率)的倒数 MCS-51单片机中最小的时序单位

状态周期:Ts=2个时钟周期(Tc)(很少用到此概念)

机器周期:CPU完成一个基本操作所需的时间称为机器周期

指令周期: 执行一条指令所需的机器周期™数,是MCS-51 单片机最大的时序单位。通常含有1~4个机器周期。

相互转换关系

振荡周期 = 晶振频率fosc的倒数;

1个状态周期= 2个振荡周期;

1个机器周期 = 12个振荡周期=6个状态周期;

1个指令周期 = 1、2、4个机器周

CC2530指令周期与标准51不同

标准51:1个机器周期为12个振荡周期 • CC2530包含一个单周期的增强51内核,不 同于标准51

CC2530

四个时钟源 两个内部振荡器,两个外部晶振

: 不做任何配置时,系统时钟 为16Mhz • 机器周期是多少? 1/16 us

4.3 复位

复位电路需要接到接到了单片机的RST(Reset)复位引脚 上。

单片机复位一般是3种情况:

上电复位、手动复位、程序 自动复位。

(1)上电复位:单片机上电后进行的一个内部的初始化过程。保证单 片机每次都从一个固定的相同的状态开始工作。

(2)手动复位: 遭受到意外干扰而导致程序死机,或 者程序跑飞的时候,我们就可以按下一个复位按键,让程序重新 初始化重新运行。

(3)自动复位 当程序死机或者跑飞的时候,单片机往往有一套自动复位机制, 比如看门狗。如果程序长时间失去响应,单片机看门狗模块会自 动复位重启单片机

电源、晶振、复位构成了单片机最小系统 的三要素,也就是说,一个单片机具备了 这三个条件,就可以运行我们下载的程序 了

而其他的比如LED小灯、数码管、液晶等设 备都是属于单片机的外部设备,即外设。

外设

通常红色贴片LED:靠电流驱动,电压 1.8V~2.2V,电流1到20mA,在1到 5mA亮度有所变化,5mA以上亮度基本 无变化

5 编程

嵌入编程中要注意数据类型,

char 8位 一般给寄存器赋值,因为寄存器一般是八位

需要考虑编程的取值范围

相关文章:

嵌入式系统(二)单片机基础 | 单片机特点 内部结构 最小系统 电源 晶振 复位

上一篇文章我们介绍了嵌入式系统 嵌入式系统(Embedded System)是一种特定用途的计算机系统,它通常嵌入在更大的产品或系统中,用于控制、监测或执行特定的任务。这些系统通常由硬件和软件组成,旨在满足特定的需求&…...

NLP基础——中文分词

简介 分词是自然语言处理(NLP)中的一个基本任务,它涉及将连续的文本序列切分成多个有意义的单元,这些单元通常被称为“词”或“tokens”。在英语等使用空格作为自然分隔符的语言中,分词相对简单,因为大部分…...

阿里云服务器Alibaba Cloud Linux 3镜像版本大全说明

Alibaba Cloud Linux阿里云打造的Linux服务器操作系统发行版,Alibaba Cloud Linux完全兼容完全兼容CentOS/RHEL生态和操作方式,目前已经推出Alibaba Cloud Linux 3,阿里云百科aliyunbaike.com分享Alibaba Cloud Linux 3版本特性说明&#xff…...

WebGIS开发的常见框架及优缺点

WebGIS开发引擎的发展历程: 内容来自公众号:Spatial Data 地图API分类 WebGIS系统通常都围绕地图进行内容表达,但并不是有地图就一定是WebGIS,所以下面要讨论下基于Web的地图API分类及应用场景。Web上的Map API主要分类&#xff…...

ansible 配置jspgou商城上线(MySQL版)

准备环境 准备两台纯净的服务器进行,在实验之前我们关闭防火墙和selinux systemctl stop firewalld #关闭防火墙 setenforce 0 #临时关闭selinux hosts解析(两台服务器都要去做) [rootansible-server ~]# vim /etc/hosts 10.31.162.24 ansible-ser…...

算法导论复习——CHP22 分支限界法

LIFO和FIFO分枝-限界法 采用宽度优先策略,在生成当前E-结点全部儿子之后再生成其它活结点的儿子,且用限界函数帮助避免生成不包含答案结点子树的状态空间的检索方法。两种基本设计策略: FIFO检索:活结点表采用队列&#x…...

鸿蒙系列--装饰器

一、基础UI组件结构 每个UI组件需要定义为Component struct对象,其内部必须包含一个且只能包含一个build(){}函数,用于绘制UI;struct之内、build()函数之外的地方用于存放数据。 二、基本UI装饰器 Entry 装饰struct,页面的入口…...

FairGuard游戏加固产品常见问题解答

针对日常对接中,各位用户对FairGuard游戏加固方案在安全性、稳定性、易用性、接入流程等方面的关注,我们梳理了相关问题与解答,希望可以让您对产品有一个初步的认知与认可。 Q1:FairGuard游戏加固产品都有哪些功能? A:FairGuar…...

Redis(二)数据类型

文章目录 官网备注十大数据类型StringListHashSetZSetBitmapHyperLogLog:GEOStreamBitfield 官网 英文:https://redis.io/commands/ 中文:http://www.redis.cn/commands.html 备注 命令不区分大小写,key区分大小写帮助命令help…...

2023年广东省网络安全B模块(笔记详解)

模块B 网络安全事件响应、数字取证调查和应用安全 一、项目和任务描述: 假定你是某网络安全技术支持团队成员,某企业的服务器系统被黑客攻击,你的团队前来帮助企业进行调查并追踪本次网络攻击的源头,分析黑客的攻击方式,发现系统漏洞,提交网络安全事件响应报告,修复系统…...

每日力扣算法题(简单篇)

543.二叉树的直径 原题: 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 解题思路: …...

Flume基础知识(三):Flume 实战监控端口数据官方案例

1. 监控端口数据官方案例 1)案例需求: 使用 Flume 监听一个端口,收集该端口数据,并打印到控制台。 2)需求分析: 3)实现步骤: (1)安装 netcat 工具 sudo yum …...

通过IP地址如何进行网络安全防护

IP地址在网络安全防护中起着至关重要的作用,可以用于监控、过滤和控制网络流量,识别潜在威胁并加强网络安全。以下是通过IP地址进行网络安全防护的一些建议: 1. 建立IP地址白名单和黑名单: 白名单:确保只有授权的IP地…...

Vue.js 中使用 Watch 选项实现动态问题判断与展示答案

组件结构 以下是组件的基本结构&#xff1a; <template><div><!-- 输入框&#xff0c;用于输入问题 --><p>提出一个是/否问题&#xff1a;<input v-model"question" :disabled"loading" /></p><!-- 显示答案 --&…...

python笔记-自用

2024/1/3# python用号实现字符串的拼接&#xff0c;非字符串不能拼接 from pymysql import Connection# 连接mysql数据库salary 100 name "wang"ans "%s" % salary name print(ans)x 1 y 2 sum "%s %s" % (x, y) print(sum)# %s字符串占…...

安克创新与火山引擎数智平台开展合作:数据分析降门槛 数据协同破边界

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 近日&#xff0c;消费电子品牌安克创新与火山引擎数智平台&#xff08;VeDI&#xff09;达成合作&#xff0c;双方将聚焦安克创新大数据平台的海量数据分析场景&…...

LDD学习笔记 -- Linux内核模块

LDD学习笔记 -- 内核模块 简介LKM类型Static Linux Kernel ModuleDynamic Linux Kernel ModuleLKM编写语法 syntax详细描述内核头文件用户空间头文件Module Initialization FunctionModule Cleanup FunctionKeyword & Tag宏 __init __exitLKM入口注册Module Metadate&#…...

springboot整合springbatch批处理

springboot整合springbatch实现批处理 简介项目搭建步骤 简介 项目搭建 参考博客【场景实战】Spring Boot Spring Batch 实现批处理任务&#xff0c;保姆级教程 步骤 1.建表 建表sql CREATE TABLE student (id int NOT NULL AUTO_INCREMENT,name varchar(100) NOT NULL C…...

答案解析——C语言—第2次作业:转义字符

本次作业的链接如下&#xff1a;C语言—第2次作业&#xff1a;转义字符 1.下面哪个不是C语言内置的数据类型&#xff1a; C char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数 …...

HTML5-新增表单input属性

新增表单属性 form控件主要新增的属性: autocomplete 是否启用表单的自动完成功能&#xff0c;取值&#xff1a;on&#xff08;默认&#xff09;、off novalidate 提交表单时不进行校验&#xff0c;默认会进行表单校验 autocomplete属性 概念&#xff1a;autocomplete属性…...

css-、串联选择器和后代选择器的用法

& &表示嵌套的上一级&#xff0c;这是sass的语法&#xff0c;代表上一级选择器 .btn {&.primary {background-color: #007bff;color: #fff;} } 编译出来的结果是同一个元素&#xff0c;有两个类名&#xff0c;两个类名之间没有空格&#xff1a; .btn.primary {…...

nifi详细介绍--一款开箱即用、功能强大可靠,可用于处理和分发数据的大数据组件

目录 目录 一、引言 二、NiFi 的历史背景介绍 三、NiFi 是什么&#xff1f; 核心特性 应用领域 四、NIFI 入门 五 、NiFi 工作流程 六、实际应用场景 七、优势总结 一、引言 NiFi&#xff08;Apache NiFi&#xff09;&#xff0c;全名为“Niagara Files”&#xff0…...

K8S Dashboard登录Token过期问题处理

整体思路 用户访问一个页面&#xff0c;在该页面中设置一个超链接&#xff0c;点击跳转至K8S Dashboard&#xff1b;跳转后&#xff0c;使用剪贴板上已复制的Token粘贴到Dashboard页面中的输入框登录即可。 写个定时任务将Token复制到页面上&#xff0c;过期了重新再登…...

x-cmd pkg | trafilatura - 网络爬虫和搜索引擎优化工具

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trafilatura 是一个用于从网页上提取文本的命令行工具和 python 包: 提供网络爬虫、下载、抓取以及提取主要文本、元数据和评论等功能可帮助网站导航和从站点地图和提要中提取链接无需数据库&#xff0c;输出即可转换…...

前端知识点(面试可看) —— JS

摘要 马上就要毕业啦&#xff0c;没有参加2023年的秋招&#xff0c;准备在最近开始找全职或者实习工作&#xff0c;然后也马上过年了&#xff0c;总结和理一下自己的知识要点&#xff0c;参加2024年的春招。 1. JS的执行流程 浏览器的V8引擎收到到执行的JS代码V8结构化这段代…...

CSRF总结

CSRF 文章目录 CSRF漏洞原理漏洞危害漏洞防护CSRF攻击流程CSRF和XSS的区别CSRF漏洞挖掘及利用 CSRF 跨站点请求伪造&#xff08;CSRF&#xff09;攻击者会诱导受害者点击事先伪造好的url或者链接&#xff0c;点击后&#xff0c;攻击者就可以盗用你的身份&#xff0c;以你的身份…...

降维算法的简单介绍

降维算法 降维算法&#xff1a; 通过减少数据的维度&#xff0c;如主成分分析和 t-分布邻域嵌入等。 降维通俗的讲&#xff0c;是通过减少数据的维度来处理高维数据的过程。降维算法有助于消除数据中的冗余信息&#xff0c;减少噪声&#xff0c;并提高计算效率。以下是一些常见…...

k8s的声明式资源管理

在k8s当中支持两种声明资源的方式&#xff1a; 1、 yaml格式&#xff1a;主要用于和管理资源对象 2、 json格式&#xff1a;主要用于在API接口之间进行消息传递 声明式管理方法(yaml)文件 1、 适合对资源的修改操作 2、 声明式管理依赖于yaml文件&#xff0c;所有的内容都…...

Git | tag相关命令

语法命令 git tag -h usage: git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]<tagname> [<head>]or: git tag -d <tagname>...or: git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit&g…...

【Java期末】学生成绩管理系统

诚接计算机专业编程任务(C语言、C、Python、Java、HTML、JavaScript、Vue等)10/15R&#xff0c;如有需要请私信我&#xff0c;或者加我的企鹅号&#xff1a;1404293476 本文资源下载地址&#xff1a;https://download.csdn.net/download/weixin_47040861/88697244 —————…...

车险网站模版/百度推广首次开户需要多少钱

今天做的一个小程序项目中需要用到scope.userLocation获取用户地理位置这个权限&#xff0c;这个权限对应两个接口wx.getLocation(Object object) 和wx.chooseLocation(Object object)&#xff0c;这两个接口都能够获取到用户当前位置的经纬度&#xff0c;但是除此之外&#xf…...

分析网络营销的特点/沈阳seo优化排名公司

ppt转pdf一般人都会去网上搜&#xff0c;今天我想把ppt转pdf&#xff0c;一搜百度就是一堆软件跟广告&#xff0c;看着就™恶心。 今天我找到了ppt转pdf的方法&#xff0c;以后不用去在苦恼这个事情了&#xff0c;希望能帮到你鸭。 打开需要转换的ppt点击文件 点击导出 点击创…...

陕西 做网站的公司/win7优化工具哪个好用

GDI绘图基础 编写图形程序时需要使用GDI&#xff08;图形设备接口Graphics Device Interface&#xff09;&#xff0c;从程序设计的角度看&#xff0c;GDI包括两个部分&#xff1a;GDI对象和GDI函数。 GDI对象定义了GDI函数使用的工具和环境变量&#xff0c;GDI函数对象绘制各…...

wordpress新闻视频站/站长工具中文

原标题&#xff1a;MYSQL数据损坏修复方法1、myisamchk使用 myisamchk 必须暂时停止 MySQL 服务器。例如&#xff0c;我们要检修 discuz 数据库。执行以下操作&#xff1a;# service mysql stop (停止 MySQL )&#xff1b;# myisamchk -r /数据库文件的绝对路径/*MYI# service …...

公司网站主机流量30g每月够用吗/小企业广告投放平台

2019独角兽企业重金招聘Python工程师标准>>> 在某些状况下&#xff0c;类内成员变量需要动态开辟堆内存&#xff0c;如果实行位拷贝&#xff0c;也就是把对象里的值完全复制给另一个对象&#xff0c;如AB。这时&#xff0c;如果B中有一个成员变量指针已经申请了内存…...

做企业官网需要多少钱/seo营销技巧培训班

小练习&#xff0c;小练习哈&#xff0c;直接上代码&#xff0c;上课上的太无聊了&#xff0c;来玩一玩vue来了~ <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"…...