资料介绍
本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识。这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识。
有了电子电路和数字电路的基础知识,就可以开始学习嵌入式系统的核心元件-单片机。从本期开始我们将为大家介绍单片机的基础知识。
在单片机入门系列讲座中,首先学习单片机的基本构成和工作原理、以及外围功能电路,然后,挑战一个实际单片机的运行。
单片机是控制电子产品的大脑
现如今,我们生活中的许多电器都使用了单片机。例如:手机、电视机、冰箱、洗衣机、以及按下开关,LED就闪烁的儿童玩具。那么,单片机在这些电器中究竟做了些什么呢?
单片机是这些电器动作的关键,是指挥硬件运行的。例如:接收按钮或按键的输入信号,按照事先编好的程序,指挥马达和LCD的外围功能电路动作。
那么,单片机是如何构成的呢?(图1)
单片机是由CPU、内存、外围功能等部分组成的。如果将单片机比作人,那么CPU是负责思考的,内存是负责记忆的,外围功能相当于视觉的感官系统及控制手脚动作的神经系统。
图1:单片机的构成要素
尽管我们说CPU相当于人的大脑,但是它却不能像人的大脑一样,能有意识的、自发的思考。CPU只能依次读取并执行事先存储在内存中的指令组合(程序)。当然CPU执行的指令并不是“走路”、“讲话”等高难度命令,而是一些非常简单的指令,象从内存的某个地方“读取数据”或把某个数据“写入”内存的某个地方,或做加法、乘法和逻辑运算等等。然而这些简单指令的组合,却能实现许多复杂的功能。
会思考的CPU
让我们从CPU的构成来了解它的作用吧。(图2)
程序计数器
CPU读取指令时需要知道要执行的指令保存在内存的什么位置,这个位置信息称为地址(相当于家庭住址)。程序计数器(PC)就是存储地址的寄存器。通常,PC是按1递增设计的,也就是说,当CPU执行了0000地址中的指令后,PC会自动加1,变成0001地址。每执行一条指令PC都会自动加1,指向下一条指令的地址。可以说,PC决定了程序执行的顺序。
指令解码电路
指令解码电路是解读从内存中读取的指令的含义。运算电路是根据解码结果操作的。确切地讲,指令解码电路就是我们在“数字电路入门(2)”中学过的解码电路,只不过电路结构稍微复杂些,所以,指令解码电路的工作原理就是从被符号化(被加密)的指令中,还原指令。
图2:CPU的作用
运算电路
运算电路也称为ALU(Arithmetic and Logic Unit),是完成运算的电路。能进行加法、乘法等算术运算、也能进行AND、OR 、BIT-SHIFT等逻辑运算。运算是在指令解码电路的控制下进行的。通常运算电路的构成都比较复杂。
CPU内部寄存器
CPU内部寄存器是存储临时信息的场所。有存储运算值和运算结果的通用寄存器,也有一些特殊寄存器,比如存储运算标志的标志寄存器等。也就是说,运算电路进行运算时,并不是在内存中直接运算的,而是将内存中的数据复制到通用寄存器,在通用寄存器中进行运算的。
CPU的工作原理
让我们通过一个具体运算3 4,来说明CPU的操作过程吧。
假设保存在内存中的程序和数据如下。
◇步骤1:当程序被执行时,CPU就读取当前PC指向的地址0000中的指令(该操作称为指令读取)。经过解码电路解读后,这条指令的意思是“读取0100地址中的内容,然后,保存到寄存器1”。于是CPU就执行指令,从0100地址中读取数据,存入寄存器1。
● 寄存器1: 0→3(由0变为3)
● 由于执行了1条指令,因此,PC的值变为0001
◇步骤2:由于PC的值为0001,因此CPU就读取0001地址中的指令,经解码电路解码后,CPU执行该指令。然后PC再加1。
● 寄存器2:0→4(由0变为4)
● PC:0001→0002
◇步骤3:由于PC的值为0002,因此CPU从0002地址中读取指令,送给指令解码电路。解码结果是:将寄存器1和寄存器2相加,然后将结果存于寄存器1。
● 寄存器1:3→7
● PC:2→3
于是3 4的结果7被存于寄存器1,加法运算结束。CPU就是这样,依次处理每一条简单的指令。
能记忆的内存
内存是单片机的记忆装置,主要记忆程序和数据,大体上分为ROM和RAM两大类。
ROM
ROM(Read Only Memory)是只读内存的简称。保存在ROM中的数据不能删除,也不会因断电而丢失。ROM主要用于保存用户程序和在程序执行中保持不变的常数。
大多数瑞萨 (Renesas)的单片机都用闪存作为ROM。这是因为闪存不仅可以象ROM一样,即使关机也不会丢失数据,而且还允许修改数据。
RAM
RAM(Random Access Memory)是可随机读/写内存的简称。可以随时读写数据,但关机后,保存在RAM中的数据也随之消失。主要用于存储程序中的变量。
在单芯片单片机中(*1),常常用SRAM作为内部RAM。SRAM允许高速访问,但是,内部结构太复杂,很难实现高密度集成,不适合用作大容量内存。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 单片机基础及应用:单片机并行存储器扩展资料下载
- 8位、16位、32位单片机各有啥区别?主要是CPU?资料下载
- 单片机对外围功能电路的控制知识资料下载
- 单片机里的通信协议怎么理解?这样看其实挺简单资料下载
- 51单片机串行通信的原理解析资料下载
- 小白学单片机(15) 单片机程序下载失败总结资料下载
- 解析单片机与CPU的区别资料下载
- 单片机音乐程序的设计原理解析资料下载
- 单片机的外围功能电路控制资料下载
- 单片机工作所必须的外围功能电路有哪些?资料下载
- 51单片机一般如何进行内存优化?实例+要点资料下载
- 单片机CPU与外部设备交换信息的几种方式资料下载
- 单片机仅靠CPU和内存是无法运行的!资料下载
- 51单片机如何使用动态内存
- 单片机外围电路设计中经见10大疑问汇总资料下载 63次下载
- 单片机的低功耗设计技术及注意问题 1387次阅读
- 单片机的内存映射图解析 1274次阅读
- 单片机的内存映射图解析 1799次阅读
- 单片机里的程序是如何运行? 4548次阅读
- 80C51单片机定时计数器的功能详解 7685次阅读
- 单片机中的堆栈详细资料说明 4838次阅读
- 单片机应用系统的结构及工作原理 9346次阅读
- PIC单片机抗静电处理解决方案 2218次阅读
- 单片机堆栈的小故事让你更容易理解堆栈的概念 4494次阅读
- 解读单片机和CPU的区别及意义 3w次阅读
- 详谈单片机的由来(组成,历史,种类,作用) 5904次阅读
- 单片机究竟是如何构成的呢? 6342次阅读
- 单片机必须了解的外设功能——GPIO/串行通信 1.8w次阅读
- 单片机外围功能电路控制的基础知识 9916次阅读
- 嵌入式编程之单片机的外围功能电路 5343次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多