8051单片机原理

发布者:码字先生最新更新时间:2013-01-15 来源: 21IC 关键字:单片机原理  MCS-51系列 手机看文章 扫描二维码
随时随地手机看文章

    8051是MCS-51系列单片机的非常典型的产品,我们用这一个代表性的型号进行系统的单片机原理讲解。

    8051单片机包含中央处理器、数据存储器(RAM)、定时/计数器、程序存储器(ROM)、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别对其原理加以说明:
    ·数据存储器(RAM):
    8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

    ·中央处理器:
    中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。了解中央处理器cpu对于弄懂单片机原理非常的重要。
 
    ·程序存储器(ROM):
    8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

    ·全双工串行口:
    8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

    ·中断系统:
    8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

    ·时钟电路:
    8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

    ·并行输入输出(I/O)口:
    8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。

    ·定时/计数器(ROM):
    8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

    单片机原理有两种,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。
    下图是MCS-51单片机原理图。
 

    ■ MCS-51单片机的关键引脚说明:
    MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:

[page]

    ·Pin20:接地脚。

    ·Pin40:正电源脚,正常工作或对片内EPROM烧写程序时,接+5V电源。

    ·Pin19:时钟XTAL1脚,片内振荡电路的输入端。

    ·Pin18:时钟XTAL2脚,片内振荡电路的输出端。
    8051的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。 


    ·输入输出(I/O)引脚:
    Pin39-Pin32为P0.0-P0.7输入输出脚,Pin1-Pin1为P1.0-P1.7输入输出脚,Pin21-Pin28为P2.0-P2.7输入输出脚,Pin10-Pin17为P3.0-P3.7输入输出脚,这些输入输出脚的功能说明将在以下内容阐述。
  ·Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态如下表:


  
    8051的复位方式可以是自动复位,也可以是手动复位,见下图。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。

 特殊功能寄存器 初始态 特殊功能寄存器 初始态
ACC 00H B 00H
PSW 00H SP 07H
DPH 00H TH0 00H
DPL 00H TL0 00H
IP xxx00000B TH1 00H
IE 0xx00000B TL1 00H
TMOD 00H TCON 00H
SCON xxxxxxxxB SBUF 00H
P0-P3 1111111B PCON 0xxxxxxxB
 

    ·Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。
    在编程时,EA/Vpp脚还需加上21V的编程电压。

   ·Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。
    如果单片机是EPROM,在编程其间,将用于输入编程脉冲。

    ·Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。

关键字:单片机原理  MCS-51系列 引用地址:8051单片机原理

上一篇:单片机译码器的作用和工作原理
下一篇:单片机抢答器设计

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

C8051F041的高精度频率计设计
0 概述 频率测量是电子测量中最基本的测量之一。随着电子科学技术的发展,对信号频率测量的精度要求越来越高。目前采用的测频方法有直接测频法、直接测周法和等精度测频法。直接测频法在高频段的精度较高。但在低频段的精度较低;直接测周法则恰恰相反。而等精度测量法则可在整个频率测量范围内保持恒定的测量精度,且测量精度也较高。 C8051F单片机是SoC芯片,其内核是CIP-51微控制器。CIP-51采用流水线指令结构,指令集与标准8051指令集完全兼容。且不再区分系统时钟周期和机器周期,所有指令时序都以时钟周期计算,大部分指令只需1~2个系统时钟即可完成。因而其运算速度明显高于传统8051单片机。为此,本文给出了基于C8051F单片机和一些
[单片机]
C<font color='red'>8051</font>F041的高精度频率计设计
基于C8051F310单片机的LED灯控制器汇编语言程序调试
加 深对51单片机及其接口电路的理解,掌握定时/计数器、中断的应用编程技术及程序的调试方法。 2.实验内容 利用C8051F310单片机设计一个倒计时定时器,功能要求如下: 模式1:基本功能 主要技术指标要求如下: 1. 定时时间为9秒,定时精度为1秒 。 2. 在LED数码管上显示剩余时间。 3. 时间到0时,蜂鸣器鸣响1次(0.5秒钟)。 4. 通过KINT键实现启动和暂停功能,暂停时D9灯亮。 5. 利用单片机内部定时器定时,KINT键输入和定时器控制均要求采用中断方式。 模式2:提高要求 1. 定时时间可通过键盘设定,最大为200秒。 2. 其它个性化设计。 二、设计思路 1.给主程序,T0、T1中断和外部KINT键
[单片机]
基于C<font color='red'>8051</font>F310单片机的LED灯控制器汇编语言程序调试
基于高速超微型C8051F300单片机的CCD驱动电路设计
   1 常用的CCD驱动时序产生方法   CCD厂家众多,型号各异,其驱动时序的产生方法也多种多样,一般有以下4种:   (1)数字电路驱动方法   这种方法是利用数字门电路及时序电路直接构建驱动时序电路,其核心是一个时钟发生器和几路时钟分频器,各分频器对同一时钟进行分频以产生所需的各路脉冲。该方法的特点是可以获得稳定的高速驱动脉冲,但逻辑设计和调试比较复杂,所用集成芯片较多,无法在线调整驱动频率。   (2)EPROM驱动方法   这种驱动电路一般在EPROM中事先存放所有的CCD时序信号数据,并由计数电路产生EPROM的地址使之输出相应的驱动时序。该方法结构相对简单、运行可靠,但仍需地址产生硬件电路,所需EPR0M
[单片机]
基于高速超微型C<font color='red'>8051</font>F300单片机的CCD驱动电路设计
PIC单片机与MCS-51系列单片机有哪些区别?
PIC单片机与MCS-51系列单片机的区别 应该说有三个主要特点: (1)总线结构:MCS-51单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC单片机的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据,由于可以对程序和数据同时进行访问,所以提高了数据吞吐率。正因为在PIC单片机中采用了哈佛双总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位的,但指令总线位数分别位12、14、16位。 (2)流水线结构:MCS-51单片机的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行
[单片机]
C8051F烧写程序快速入门(Keil)
注:下载程序必须先安装Keil软件,以及对应的Silicon IDE驱动软件 ·Keil的安装   请到 Keil 官方网站: https://www.keil.com/c51/demo/eval/c51.htm下载安装。 ·Keil μVision Driver 的安装   请到 Silabs 官方网站: http://www.silabs.com/products/mcu/Pages/KeilDriver.aspx下载安装。 1、安装好Keil μVision Driver驱动并且设置好下载程序前的相关配置(点击查看) 2、如下图所示,点击菜单栏中的 Debug - Start/Stop Debug Sessi
[单片机]
C<font color='red'>8051</font>F烧写程序快速入门(Keil)
8051/2单片机 DHT11 空气温湿度传感器取值
一、说明 对各种信号的处理的经验很重要! DHT11 温湿度取值 每1次数据传送为40bit, 其中8bit的湿度整数,8bit的湿度小数,8bit的温度整数,8bit温度小数和8bit的校验码 二、演示 三、时序和取值 四、代码 /** * 8051/2 DEMO 4 * * DHT11 温湿度取值 * 每1次数据传送为40bit, 其中8bit的湿度整数,8bit的湿度小数,8bit的温度整数,8bit温度小数和8bit的校验码 */ #include REG52.H #include intrins.h typedef unsigned char U8; sbit DHT = P0^
[单片机]
<font color='red'>8051</font>/2单片机 DHT11 空气温湿度传感器取值
8051单片机(STC89C52)八段数码管稳定显示0 ~ 7
在轮流显示0~7程序的基础上, 将delay()函数提供的时延大幅缩小, 以达到视觉短暂的停留效果. 在该种情况下的数码管亮度和对比度较轮流显示时有一定幅度的降低. 另外, 如果想感知到动态扫描的存在, 可从拍摄视频中观察(到像波浪一样的光浪). #include STC89C5xRC.H void delay()//提供时延 { int i, j; for(i = 0; i 15 ; i++) for(j = 0; j 15; j++) ; } void f1_3_4_3()//在8个数码管上轮流显示0~7 { unsigned char code DIG_CODE = {0x3f, 0x06, 0x5b
[单片机]
8051单片机供水系统水位控制的硬件电路设计
供水系统水位控制原理 下图是水塔水位控制原理图。图中虚线表示允许水位变化的上下限。在正常情况下,应保持水位在虚线范围之内,为此,在水塔的不同高度安装固定不动的三根金属棒,以感知水位变化情况。其中A棒处于下限水位以下,C棒处于上限水位,B棒在下限水位处。A棒接+5V电源,B棒、C棒各通过一个电阻与模拟地相连。 水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制的目的。供水时,水位上升,当达到上限时,由于水的导电作用,B棒、C棒连通+5V电源,因此,b、c两端均为高电平“1”状态。这时,应停止电机和水泵的工作,不再给水塔供水。 当水位降到下限时,B棒、C棒都不能与A棒导通,因此,b、c两端均为“0”状态。这时,应启动电机,
[单片机]
<font color='red'>8051</font>单片机供水系统水位控制的硬件电路设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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