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

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

嵌入式系统(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位 一般给寄存器赋值,因为寄存器一般是八位

需要考虑编程的取值范围

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/229962.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Leetcode】466. 统计重复个数

文章目录 题目思路代码 题目 466. 统计重复个数 思路 题目要求找出一个最大整数 m,使得经过 n2 个字符串 s2 组成的字符串能够被经过 n1 个字符串 s1 组成的字符串完全包含的次数。使用动态规划来记录每个位置匹配的情况,并通过循环节的分析来计算最…

2_并发编程同步锁(synchronized)

并发编程带来的安全性同步锁(synchronized) 1.他的背景 当多个线程同时访问,公共共享资源的时候,这时候就会出现线程安全,代码如: public class AtomicDemo {int i0;//排他锁、互斥锁public void incr(){ //synchronizedi; …

uni-app App.vue生命周期全局样式全局存储globalData

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…

ansible管理windows测试

一、环境介绍 Ansible管理主机: 系统: redhat7.6 Linux管理服务器需安装pywinrm插件 Windows客户端主机: 系统: Server2012R2 Windows机器需要安装或升级powershell4.0以上版本,Server2008R2默认的版本是2.0,因此必须升…

App.vue中引入自定义组件

components目录中定义组件&#xff1a;Person.vue 目录截图&#xff1a; Person.vue文件中内容&#xff1a; <template><div class"person"><h2>姓名&#xff1a;{{name}}</h2><h2>年龄&#xff1a;{{age}}</h2><!--定义了…

工作流入门这篇就够了!

总概 定义&#xff1a;工作流是在计算机支持下业务流程的自动或半自动化&#xff0c;其通过对流程进行描述以及按一定规则执行以完成相应工作。 应用&#xff1a;随着计算机技术的发展以及工业生产、办公自动化等领域的需求不断提升&#xff0c;面向事务审批、材料提交、业务…

【hyperledger-fabric】将智能合约部署到通道

简介 本文主要来自于B站视频教学视频&#xff0c;也主要参看了官方文档中下图这一章节。针对的是测试网络中go语言的部分&#xff0c;部署测试网络。附上B站的教学视频 B站教学视频第一小节&#xff0c;附上 官方文档 1.启动网络 # 跳转到指定的目录 cd /root/fabric/fabri…

WSL使用VsCode运行cpp文件

文章目录 缘起主要步骤参考 缘起 今天在阅读《C20设计模式-可复用的面向对象设计方法&#xff08;原书第2版&#xff09;》的时候&#xff0c;遇到代码想要运行一下&#xff0c;于是决定使用wsl下的vscode配置cpp的环境。 主要步骤 1.安装gcc和g编译器 打开命令行输入wsl&am…

栈实现前缀表达式的计算

前缀表达式计算 过程分析 中缀表达式&#xff1a;&#xff08;1 5&#xff09;*3 > 前缀表达式&#xff1a;*153 &#xff08;可参考这篇文章&#xff1a;中缀转前缀&#xff09; 第一步&#xff1a;从右至左扫描前缀表达式&#xff08;已存放在字符数组中&#xff09;&a…

摆烂式学习ssh

摆烂式学习ssh ssh工作原理ssh基本使用sshd配置文件密钥登录1.客户端2.服务器3.注意事项4.使用密钥登录测试 ssh高级使用技巧1.在非正规端口启动2.rsync 命令3.透过 ssh 通道加密原本无加密的服务4.以ssh信道配合x server 传递图形接口5.ssh配合virtualbox虚拟机使用技巧 ssh工…

【linux】ufw 的基本使用

碎碎念 所有的云平台的网络流量的进出基本上有三层&#xff0c;首先是虚拟网的流量控制&#xff0c;一般是通过子网访问控制列表来控制vpc也好子网也好的流量出入&#xff0c;其次是安全组控制一层&#xff0c;通过安全组规则控制一类/一组主机&#xff08;指EC2/ECS/VM/CE这些…

深度学习在语义分割中的进展与应用

埃弗顿戈梅德&#xff08;Everton Gomede&#xff09; 一、说明 语义分割是计算机视觉领域的一项关键任务&#xff0c;涉及将图像中的每个像素分类为预定义的类。这项任务在从自动驾驶汽车到医学成像的各种应用中都具有深远的影响。深度学习的出现显著提高了语义分割模型的功能…

LeetCode 每日一题 Day 28293031 ||三则模拟||找循环节(hard)

1185. 一周中的第几天 给你一个日期&#xff0c;请你设计一个算法来判断它是对应一周中的哪一天。 输入为三个整数&#xff1a;day、month 和 year&#xff0c;分别表示日、月、年。 您返回的结果必须是这几个值中的一个 {“Sunday”, “Monday”, “Tuesday”, “Wednesday…

MT8766安卓核心板规格参数_MTK8766核心板模块方案定制

MT8766安卓核心板&#xff1a;高性能、稳定可靠、集成度高的一体化解决方案 MT8766安卓核心板采用联发科MTK8766四核4G模块方案&#xff0c;是一款高度集成的安卓一体板。四核芯片架构&#xff0c;主频可达到2.0GHz&#xff0c;支持国内4G全网通。12nm制程工艺&#xff0c;支持…

MAC电脑安装java开发工具

一、安装brew 1.1、官网地址 链接 1.2、更新地址 二、安装 java brew install openjdk11 三、安装gradle Gradle安装与配置教程 - 知乎 四、GIT 4.1、GIT安装 brew install git 4.2、rsa ssh-keygen -t rsa -C "jhestarbucks.com" 五、自动搭建一个springBoot…

接口自动化测试要做什么?

如果是&#xff0c;那先了解下接口测试流程&#xff1a; 1、需求分析 2、Api文档分析与评审 3、测试计划编写 4、用例设计与评审 5、环境搭建&#xff08;工具&#xff09; 6、执行用例 7、缺陷管理 8、测试报告 了解了接口测试的工作流程&#xff0c;那"接口自动化测试&q…

vue-vuex持久化处理

在src/utils文件夹下&#xff0c;创建storage.js文件 // 约定一个通用的键名 const INFO_KEY hm_shopping_info// 获取个人信息 export const getInfo () > {const defaultObj { token: , userId: }const result localStorage.getItem(INFO_KEY)return result ? JSON…

HTTP 错误 401.3 - Unauthorized 由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置。

用IIS 发布网站&#xff0c;不能访问且出现错误&#xff1a; HTTP 错误 401.3 - Unauthorized 由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置。您无权查看此目录或页面 解决办法&#xff1a; 1.打开IIS界面&#xff0c;选中发布的网站&#xff0c;右键—>编辑…

鸿蒙HarmonyOS- 弹框组件库

简介 今天介绍一个基于ArkUI框架开发的弹框组件库&#xff0c;该库基于ArkUI的弹框基础功能和自定义能力。针对通用的弹框业务场景&#xff0c;该库提供了丰富的组件弹窗功能。 包括确认输入弹窗、列表展示选择弹窗、自定义底部/顶部弹窗、自定义动画弹窗、自定义全屏弹窗、消息…

Ribbon相关面试及答案(2024)

1、Ribbon是什么&#xff0c;它在微服务架构中扮演什么角色&#xff1f; Ribbon是一个客户端负载均衡器&#xff0c;它在微服务架构中扮演着关键性的角色。Ribbon的设计理念是在客户端进行服务发现和负载均衡&#xff0c;这种方式不同于传统的通过中心化的负载均衡器&#xff…