MCS-51单片机的基本组成

发布者:知者如渊最新更新时间:2015-03-23 来源: diangon关键字:MCS-51  单片机  基本组成 手机看文章 扫描二维码
随时随地手机看文章
    图1说明MCS-51系列单片机的基本组成。

1、8051单片机内部结构和功能
1.中央处理器CPU
    (1)运算器
    1) 算术逻辑单元ALU(Arithmetic Logic Unit)
    2) 累加器ACC (Accumulator)
    3) 寄存器B
    4) 程序状态字PSW(ProgramStatusWord)
    程序状态字PSW是一个8位特殊功能寄存器,它的各位包含了程序运行的状态信息,以供程序查询和判断。PSW程序状态字格式和含义如下:
 ①Cy(PSW.7) 进位标志位。Cy是PSW中最常用的标志位。由硬件或软件置位和清零。它表示运算结果是否有进位(或借位)。如果运算结果在最高位有进位输出(加法时)或有借位输入(减法时),则Cy由硬件置“1”,否则Cy被清“0”。
    ②AC(PSW.6) 辅助进位(或称半进位)标志。当执行加减运算时,运算结果产生低四位向高四位进位或借位时,AC由硬件置“1”;否则AC位被自动清“0”。
    ③F0(PSW.5) 用户标志位。用户可根据自己的需要对F0位赋予一定的含义,由用户置位或复位,作为软件标志。
    ④RSl和RS0(PSW.4,PSW.3) 工作寄存器组选择位。这两位的值决定选择哪一组工作寄存器为当前工作寄存器组。由用户通过软件改变RSl和RS0值的组合,以切换当前选用的工作寄存器组。其组合关系如表2-1所示

 ⑤OV(PSW.2) 溢出标志位。它反映运算结果是否溢出,溢出时则由硬件将OV位置“1”,否则置“0”。
    ⑥F1(PSW.1) 用户标志位,同F0(PSW.5)。
    ⑦P(PSW.0) 此位为奇偶标志位。P标志表明累加器ACC中1的个数的奇偶性。在每条指令执行完后,单片机根据ACC的内容对P位自动置位或复位。若累加器ACC中有奇数个“1”,则P=1;若累加器ACC中有偶数个“1”,则P=0。
    5) 布尔处理器
    MCS-51的CPU是8位微处理器,它还具有1位微处理器的功能。布尔处理器具有较强的布尔变量处理能力,以位(bit)为单位进行运算和操作。它以进位标志(Cy)作为累加位,以内部RAM中所有可位寻址的位作为操作位或存储位,以P0~P3的各位作为I/O位,同时布尔处理器也有自己的指令系统。
    (2)控制器
    1) 程序计数器PC
    2) 数据指针DPTR
    2.定时器/计数器
    8051单片机内有两个16位的定时器/计数器:定时器/计数器0和定时器/计数器1。
    3.串行口
    单片机内部有一个串行数据缓冲寄存器SBUF,它是可直接寻址的特殊功能寄存器,地址为99H。
    4.中断系统
2、存储器结构
    8051单片机在系统结构上采用哈佛型,其配置如图2所示。
1.程序存储器
    程序存储器用来存放程序代码和常数,分成片内、片外两大部分,即片内ROM和片外ROM。其中,8051内部有4KB的ROM,地址范围为0000H~0FFFH,片外用16位地址线扩充64KB的ROM,两者统一编址。
    2.片内数据存储器
    数据存储器用来存放运算的中间结果、标志位,以及数据的暂存和缓冲等。它也分为片内和片外两大部分,即片内RAM和片外RAM。8051片内数据存储器最大可寻址256个单元,通常把这256个单元按功能划分为低128单元(单元地址00H~7FH)和高128单元(单元地址80H~0FFH),结构如图2-3。
  3.片外数据存储器
    片外数据存储器,即片外RAM,一般由静态RAM芯片组成。用户可根据需要确定扩展存储器的容量,MCS-51单片机访问片外RAM可用1个特殊功能寄存器——数据指针寄存器DPTR寻址。由于DPTR为16位,可寻址的范围为0~64KB。因此,扩展片外RAM的最大容量是64KB。
    4.堆栈及堆栈指针
    堆栈是一种数据结构,所谓堆栈就是只允许在其一端进行数据插入和数据删除操作的线性表。
关键字:MCS-51  单片机  基本组成 引用地址:MCS-51单片机的基本组成

上一篇:时钟电路及工作方式
下一篇:常用单片机及其性能

推荐阅读最新更新时间:2024-03-16 13:55

关于一些单片机编译错误及解决办法
c/c++语言中有很多地方要用到extern,但是如果没有真正的了解它的意义,会给编程带来很大的麻烦,为了使大家少走弯路,特祥细的说明一下。 对于比较小的程序,一般只有一个c文件和一个头文件,全局变量我们通常会直接定义在c文件中,在程序之前加int i定义。如果要在头文件中定义有以下两种方法:用extern来声明:extern int i;这一句只是对变量i进行声明,在c文件的程序之前必须加上int i进行定义。extern int i=0;这一句声明和定义都做了。 对于大一点的程序,有很多c文件和头文件,这个时候全局变量就必须在头文件中声明(不需要初始化),然后在一个c文件中定义(该初始化的要初始化)。如果在头
[单片机]
基于单片机的模拟开关时序设计与仿真
     随着现代工业的飞速发展, 对工况参数的实时监测越来越重要。参数的监测分为电量和非电量两大类, 对于非电量参数的测量, 测量成功与否主要取决于传感器的质量和对信号的提取。由于电容传感器具有结构简单、功耗低、测量范围大、稳定性好、灵敏度高、使用寿命长及可以进行非接触测量等特点, 非常适合在高潮湿、高尘埃、强辐射及超低温等恶劣环境下长期使用,因此, 对于某些变化缓慢或微小物理, 比较适宜采用电容传感器进行测量。      目前用于测量微电容的方法主要是交流法, 其测量原理是通过激励信号对被测电容连续充放电, 形成与被测电容成比例的电压或电流信号, 从而测得被测电容值。采用此方法测量的信号中具有脉动噪声, 需要通过滤波器滤除其脉
[单片机]
基于<font color='red'>单片机</font>的模拟开关时序设计与仿真
云途半导体-32Bit 车规级MCU丨确认申报2023金辑奖·年度最具成长价值奖
申报企业丨云途半导体 汽车行业主要业务、产品与服务: 32Bit 车规级MCU,可广泛应用于车身域、底盘域、动力域、自动驾驶域、座舱域的控制。 企业整体实力: 1.研发能力: 云途拥有20年以上经验的NXP原生完整的车规级产品研发团队,目前公司研发人员占比超过70%(总人数100+),研发人员覆盖车规级MCU完整领域,包括功能安全/DFT/Design/Verification/IP/应用/后端等,是国内唯一具备15年车规芯片开发及量产经验的成建制团队。 2.配套及合作介绍: 主机厂:上汽、北汽、奇瑞、吉利、东风、广汽、长安等。Tier 1 : 保隆科技、铁将军、翰霖、欧菲光、安通林、 安波福 3
[汽车电子]
云途半导体-32Bit 车规级<font color='red'>MCU</font>丨确认申报2023金辑奖·年度最具成长价值奖
基于STM32单片机利用ST库函数设置Systick
Systick是STM32中特有的系统时钟SysTIck有两个功能:1.可以产生精确延时;2.可以提供给系统一个单独的时钟节拍。一般延时程序: DELAY(N) { for( i=0 ; i《=x ; i++ ) ; } 对于STM32系列的微处理器中,执行一条指令只需要几十ns,进行for循环时,要实现N毫秒延时,那么x的意义非常大,而且由于系统频率的宽广,很难计算出延时N毫秒的精确值,那么在一些高速电路中,是不允许的,容易出现问题,很难查找出来。尤其在液晶驱动中,延时要求非常精确。针对STM32的处理器中,需要重新设计一个方法实现该功能,来代替DELAY(N)延时; cortex-m3中包含了一个SysTI
[单片机]
单片机RAM故障测试方法
在各种 单片机 应用系统中,芯片存储器的正常与否直接关系到该系统的正常工作。为了提高系统的可靠性,对系统的可靠性进行测试是十分必要的。通过测试可以有效地发现并解决因存储器发生故障对系统带来的破坏问题。本文针对性地介绍了几种常用的单片机系统RAM测试方法,并在其基础上提出了一种基于种子和逐位倒转的RAM故障测试方法。 一、RAM测试方法回顾 方法1:一种测试系统RAM的方法是分两步来检查,先后向整个数据区送入#00H和#FFH,再先后读出进行比较,若不一样,则说明出错。 方法2:方法1并不能完全检查出RAM的错误,在参考文献中分析介绍了一种进行RAM检测的标准算法MARCH-G。MARCH一G算法能够提供非常出色的故
[单片机]
单片机(AT89C51)按钮控制LED灯实现流水灯,闪烁流水灯
前言 好久没有写单片机系列了,话不多说,直接进入正题吧!本次要讲解和分享的实验是一个比较著名的流水灯实验,但这个实验是通过自己点击按钮实现“流水”的,和我的一篇(单片机(AT89C51)的仿真实验——流水灯和逐一闪烁灯(输入与输出))Blog有所不同,对于纯编码的流水灯有兴趣的也可以去看看这篇文章。还有我推出了一系列的单片机知识点总结和实验分享:单片机大全,对此有兴趣的也可以关注一下,方便后续的学习。 实验要求和目的 实验一:每按一次独立键盘的S1键,与P1口相连的八个发光二极管中点亮一个往下移动一位 实验二:上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,按下一次开关,使得下一个灯开始闪烁点亮,如此循环。 实
[单片机]
<font color='red'>单片机</font>(AT89C51)按钮控制LED灯实现流水灯,闪烁流水灯
基于C8051F300单片机的CCD驱动电路设计方案
1 常用的CCD驱动时序产生方法 CCD厂家众多,型号各异,其驱动时序的产生方法也多种多样,一般有以下4种: (1)数字电路驱动方法 这种方法是利用数字门电路及时序电路直接构建驱动时序电路,其核心是一个时钟发生器和几路时钟分频器,各分频器对同一时钟进行分频以产生所需的各路脉冲。该方法的特点是可以获得稳定的高速驱动脉冲,但逻辑设计和调试比较复杂,所用集成芯片较多,无法在线调整驱动频率。 (2)EPROM驱动方法 这种驱动电路一般在EPROM中事先存放所有的CCD时序信号数据,并由计数电路产生EPROM的地址使之输出相应的驱动时序。该方法结构相对简单、运行可靠,但仍需地址产生硬件电路,所需EPR0M容量较大,同样也无法在 线调整驱动频
[单片机]
基于C8051F300<font color='red'>单片机</font>的CCD驱动电路设计方案
使用STM32单片机点亮LED
有一人,登场于金庸先生的《神雕侠侣》,以大理段氏“一阳指”自成一派,武学修为登峰造极,“天下五绝”之一,号称“南帝”,他就是“一灯大师”。如今,武林中逐渐被遗忘的“一灯大师”,却活跃在另一个行业——嵌入式开发中。 传说,每一个成功的MCU(俗称单片机)开发组中,都有一名“一灯大师”,他精通所有开发板的点灯方法,对于企业引入的新开发板,总是勤学苦练,从点灯开始,快速掌握新开发板的编程要点,带领团队走向胜利。 成为“一灯大师”,离不开持续的修行,离不开对一招一式的勤学苦练。本文将讲解如何通过编程来控制STM32点亮一个LED。 学习环境: 1.软件:Keil5 2.硬件:STM32开发板(笔者使用信盈达公司的M4开发板,芯片型
[单片机]
使用STM32<font color='red'>单片机</font>点亮LED
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved