特色专栏 > 机械控制
+

自动化单片机课程(二)单片机结构分析与指令系统(2)

2012/6/9    作者:未知    来源:网络文摘    阅读:1190

3. 字节(byte)

把相邻的8 位二进制数称为字节。由于计算机只能识别和处理二进制数,因此在计算机内部把所有的数据,如字母、数字、特殊符号等都用二进制代码表示。

二进制代码常用到的是ASCII码,它的长度为8位,其中低7位表示字母本身的编码,例如,大写字母W 用二进制数表示为1010lllB ,第8位用作奇偶效验位或规定为0 。80C51 数据存储器每个单元是8位,正好能放入8位二进制数,即1个字节。字节的多少代表着存储器的容量大小。

2.2.3 程序存储器

程序存储器主要用于存储程序,其最大特点是电源关掉后,所存储的程序不会消失,像计算机中的硬盘一样。80C51程序存储器在片内有4KB,使用片内存储器时要将单片机EA(第31引脚)接高电平,即接到电源+5V。如果片内容量不够时,可在片外安装存储芯片扩展6OKB,如图2.4所示,使程序存储器(片内加片外)达到64KB。

程序存储器是十六位的,用4 位十六进制数来表示地址。其中片内4KB 的地址范围是0000H~0FFFH,片外60KB 的地址范围是1000H~FFFFH。

自动化单片机课程(二)单片机结构分析与指令系统

图2.4 程序存储器配置

数据存储器

数据存储器是程序运行中暂时存放数据的地方,也称为寄存器。其特点是存储内容会随着电源的关闭而消失,像计算机中的内存一样。

数据存储器是8 位存储器,一个单元是一个字节,片内部有256 字节(可以想象为一个256 层的存储柜,每层8 个隔),地址范围用十六进制数可表示为00H~FFH 。图2.5 为片内数据存储器的配置示意图。可分两部分,其中,低128 字节(OOH~7FH )为一般用途寄存器区;高128 字节(80H~FFH )为特殊功能寄存器区,如图2.5 (a)所示。

自动化单片机课程(二)单片机结构分析与指令系统

图2.5  片内数据存储器的配置示意图

1.一般用途寄存器区

一般用途寄存器区RAM 的容量为128 字节,根据用途可划分为工作寄存器区、位寻址区和用户RAM 区,如图2.5 (b)所示。

·工作寄存器区  

在低128字节中,00H~1FH共32个单元(字节)是工作寄存器区,又分为4组,每组由8个单元组成,分别用R0~R7作为这8个单元的寄存器名。

在单片机复位后,选中的是第0组工作寄存器。每组寄存器均可选作CPU当前工作寄存器,可以通过PSW状态字中RS1、RS0的设置来改变CPU当前使用的工作寄存器。

·位寻址区

低128字节中的20H~2FH共16个单元是位存储区,可用位寻址方式访问其各位。

·用户RAM 区

低128字节中的30H~7FH共80个单元是用户RAM区,用作堆栈或数据缓冲。

2 .特殊功能寄存器区

特殊功能寄存器,简称SFR 。它在单片机中扮演着非常重要的角色,使用输入/输出、中断、串行口、计时/计数等功能,都必须先设置SFR 中的各相关寄存器。

特殊功能寄存器的地址范围为80H~FFH ,如图2.5 (c)所示,其中包括如下所列的寄存器。

·累加器ACC ( A )。

·B寄存器。

·程序状态字组PSW 。

·数据指针寄存器DPTR 。

·堆栈指针寄存器SP 。

·P0 、P1 、P2 、P3 端口寄存器。

·中断允许控制寄存器IE 。

·中断优先权IP 寄存器。

·计时/计数模式寄存器TMOD 。

·计时/计数器控制/状态寄存器TCON 。

·串行通信控制寄存器SCON 。

·串行数据寄存器SBUF 。

·电源控制及数据传输率选择寄存器PCON 。

其中,常用的有P0 、Pl 、P2、P3 端口寄存器及累加器A 等。

2.3  单片机工作的基本原理

单片机的功能主要是通过向特殊寄存器输送0 或1 二进制数来实现的,所以,了解0和1 的作用对理解单片机工作的基本原理非常重要,下面就以一个程序实例来说明输入/输出端口的工作原理。

程序TEST.ASM 是一个实例程序,图2.6 是它的电路图,在图中单片机P1端口的8个引脚分别与8只发光二极管相连。

自动化单片机课程(二)单片机结构分析与指令系统

图2.6  Pl 端口输出电路

如果将该程序写入单片机后,在程序运行时会看到8个发光二极管中接在P1.0~P1.3、P1.5~Pl.7的发光二极管被点亮;而P1.1和P1.4所接的发光二极管熄灭。

程序:TEST.ASM

MOV P1 ,#00010010B

JMP $

END ~

引脚与寄存器的关系

程序中的Pl对外是输入/输出端口,共有8个引脚,分别与8只发光二极管相连;而Pl对内是特殊功能寄存器里的一个单元,地址在90H ,单元内共有8个位,每位接出一根引线,就是在外面看到的引脚PI.0~P1.7,Pl寄存器与引脚的对应关系示意图如图2.7所示。

自动化单片机课程(二)单片机结构分析与指令系统

图2.7   Pl 寄存器与引脚的对应关系示意图

单片机的P0、P2、P3 与上述的逻辑结构相同。

单片机中0和1的作用

1.在端口的外部0与1是表示电平的高低

图2.8 所示是图2.6 P1 端口输出的等效电路,D是发光二极管,当正向电流有电流流过时,二极管就会发光。R 是限流电阻,防止二极管因电流过大而被烧坏。

从电路中可以看出,当开关K 向下与b 点相接时,二极管的负极接地,即Pl 端口输出呈现低电平,用0来表示,此时二极管因有电流通过而发光;当开关K 向上与a 点相接时,二极管的负极接电源+5V ,即Pl 端口输出呈现高电平,用1 来表示(此时的l 不是1V ,而是代表+5V ) ,此时二极管被截止,没有电流通过,也就不能发光。

所以,当Pl引脚为低电平O 时,灯会点亮;当P1引脚为高电平1时,灯会灭。0和1在端口的外部是表示电平的高低。

       自动化单片机课程(二)单片机结构分析与指令系统

图2.8  Pl 端口等效电路

2.在单片机内部对寄存器而言,0 和1是表示二进制数

要想使输出端引脚呈现低电平或高电平,只需要向寄存器Pl 输入相应的二进制数0或1 即可。例如,通过使用单片机的MOV 指令(MOV 指令的功能是输送数据),把8 位二进制数00010010 送到特殊功能寄存器Pl 单元,程序为:MOV PI , #00010010B ,如图2.9 所示。0 所对应的引脚是低电平,发光二极管导通发光;1 所对应的引脚是高电平,发光二极管截止,灯灭。

自动化单片机课程(二)单片机结构分析与指令系统

图2.9  装入8 位二进制数

  • 相关文章
  • 热门文章
免责申明:天天CAD教程网旨在相互学习交流,是一个完全免费的网站,部分原创作品,欢迎转载,部分内容来自互联网,如果侵犯了您的权利请尽快通知我们!邮箱:qm198794@gmail.com天天CAD教程网湘ICP备17006802号
【回到顶部】