单片机0单片机原理.docx

上传人:b****2 文档编号:2574895 上传时间:2023-05-04 格式:DOCX 页数:29 大小:693.20KB
下载 相关 举报
单片机0单片机原理.docx_第1页
第1页 / 共29页
单片机0单片机原理.docx_第2页
第2页 / 共29页
单片机0单片机原理.docx_第3页
第3页 / 共29页
单片机0单片机原理.docx_第4页
第4页 / 共29页
单片机0单片机原理.docx_第5页
第5页 / 共29页
单片机0单片机原理.docx_第6页
第6页 / 共29页
单片机0单片机原理.docx_第7页
第7页 / 共29页
单片机0单片机原理.docx_第8页
第8页 / 共29页
单片机0单片机原理.docx_第9页
第9页 / 共29页
单片机0单片机原理.docx_第10页
第10页 / 共29页
单片机0单片机原理.docx_第11页
第11页 / 共29页
单片机0单片机原理.docx_第12页
第12页 / 共29页
单片机0单片机原理.docx_第13页
第13页 / 共29页
单片机0单片机原理.docx_第14页
第14页 / 共29页
单片机0单片机原理.docx_第15页
第15页 / 共29页
单片机0单片机原理.docx_第16页
第16页 / 共29页
单片机0单片机原理.docx_第17页
第17页 / 共29页
单片机0单片机原理.docx_第18页
第18页 / 共29页
单片机0单片机原理.docx_第19页
第19页 / 共29页
单片机0单片机原理.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机0单片机原理.docx

《单片机0单片机原理.docx》由会员分享,可在线阅读,更多相关《单片机0单片机原理.docx(29页珍藏版)》请在冰点文库上搜索。

单片机0单片机原理.docx

单片机0单片机原理

第一章计算机基础知识

本章简要阐述计算机中最基本的数学知识。

本章的内容是必要的入门知识,是以后各章的基础。

第一节数制与编码

数制是人们利用符号来计数的科学方法。

数制有很多种,但在计算机的使用上常使用的则为十进制、二进制和十六进制。

一、数制的基与权

数制所使用的数码的个数称为基,数制每一位所具有的值称为权。

1、十进制

十进制的基为“十”,即它所使用的数码为0到9共十个数字。

十进制中,每个(位)数字的值都是以该个(位)数字乘以基数的幂次来表示,通常将基数的幂次称为权,即以10为底的0幂、1幂、2幂等。

2、二进制

二进制的基为“二”,即其使用的数码为0、1,共二个。

二进制各位的权是以2为底的幂。

二进制数的位可以表示“0”或“1”这两个值,它是计算机中数据的最小单位。

生活中开关的通与断,电动机的启与停等都可以用它来描述和控制。

有些计算机能够存取的最小单位可以到位(如80C51单片机)。

二进制运算规则简单,便于物理实现。

但书写冗长,不便于人们阅读和记忆。

3、十六进制

十六进制的基为“十六”,即其数码共有16个:

0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。

其中A~F相当于十进制数的10~15。

十六进制的权是以16为底的幂。

4、二一十进制

二一十进制数称为二进制编码的十进制数(BinaryCodedDecimal),简称BCD码。

在BCD码中是用四位二进制数给0一9这十个数字编码。

注意:

为了区别以上四种数制,在数的后面加写英文字母来区别,B、D、H、BCD分别表示为二进制数、十进制数、十六进制数、二一十进制数,通常对十进制可不加标志。

同时若十六进制数如是字母打头,则前面需加一个0。

二、数制的转换

1、二、十六进制转换成十进制数

只需将二、十六进制数按权展开后相加即可。

2、十进制数转换成二、十六进制数

基本方法为:

除基取余。

例:

试求十进制数45678所对应的十六进制数。

3、二、十六进制数相互转换

基本方法为:

1位十六进制数转换为4位二进制数。

4、BCD码与十进制的相互转换

按照BCD的十位编码与十进制的关系,进行转换。

三、计算机种数的表示

常用的有:

原码、反码和补码。

1.原码

只将最高位作符号位(以0代表正,1代表负),其余的各位代表数值本身的绝对值(以二进制表示)。

如:

+7的原码为:

00000111

-7的原码为:

10000111

+0的原码为:

00000000

-0的原码为:

10000000

显然,+0和-0表示的是同一个0,而在内存中却有两个不同的表示。

也就是说,0的表示不唯一,这不适合计算机的运算。

2.反码

如果是一个正数,则它的反码与原码相同。

如果是一个负数,则符号位为1,其余各位是对原码取反。

如:

+7的反码为:

00000111

-7的反码为:

11111000

+0的反码为:

00000000

-0的反码为:

11111111

同样,反码0的表示也不唯一。

用反码表示数,现已不多用。

3.补码

如果是一个正数,则它的补码与原码相同。

如果是一个负数,则将该数的绝对值的二进制形式,按位取反,然后再加1。

如:

+7的补码为:

00000111

-7的补码为:

11111001

+0的补码为:

00000000

-0的补码为:

100000000

补码0的表示是唯一的,所以计算机是以补码形式存放数的。

例:

计算25-18=?

,用补码运算。

25的补码为:

00011001

-18的补码为:

11101110

00011001

+11101110

00000111

四、计算机中常用的编码

1、BCD码

BCD码(十进制数的二进制编码)是一种具有十进制权的二进制编码,即它是一种既能为计算机所接受,又基本上符合人们的十进制数运算习惯的二进制编码。

BCD码的种类较多,常用的有8421码、2421码、余3码和格雷码等,其中最为常用的是8421BCD编码。

因十进制数有10个不同的数码0~9,必须要有4位二进制数来表示,而4位二进制数可以有16种状态,因此取4位二进制数顺序编码的前10种,即0000B-1001B为8421码的基本代码,1010B~1111B未被使用,称为非法码或冗余码。

8421BCD编码表如表所示。

2、ASCII编码(AmericanStandardCodeforInformationInterchange)

ASCII码诞生于1963年,是一种比较完整的字符编码,现已成为国际通用的标准编码,已广泛用于微型计算机与外设的通信。

ASCII码是“美国信息交换标准代码”的简称。

它是用七位二进制数码来表示的,七位二进制数码共有128种组合状态,包括图形字符96个和控制字符32个。

96个图形字符包括十进制数字符10个、大小写英文字母52个和其他字符34个,这类字符有特定形状,可以显示在CRT上和打印在打印纸上。

32个控制字符包括回车符、换行符、退格符、设备控制符和信息分隔符等,这类字符没有特定形状,字符本身不能在CRT上显示和打印机上打印。

ASCLL码表如下。

符号

符号

符号

0

空字符

44

91

[

32

空格

45

-

92

\

33

!

46

.

93

]

34

"

47

/

94

^

35

#

48~57

0~9 

95

-

36

$

58

:

96

`

37

%

59

;

97~122

a~z

38

&

60

<

123

{

39

'

61

=

124

|

40

62

>

125

}

41

63

?

126

~

42

*

64

@

127

DEL(Delete键)

43

+

65-90

A~Z

 

 

(其中,0~31都是一些不可见的字符,所以这里只列出值为0的字符,值为0的字符称为空字符,输出该字符时,计算机不会有任何反应。

第二节存储器

存储器是计算机的主要组成部分。

其功能是存放程序和数据。

这些程序和数据在存储器中是以二进制代码表示的。

一、名词介绍

1、存储单元和存储单元地址

存储器是由大量寄存器组成的,其中每一个寄存器就称为一个存储单元。

它可存放一个有独立意义的二进制代码,称为一个字(Word),一个字由若干位(Bit)组成,代码的位数称为字长。

在计算机中把一个8位的二进制代码称为一个字节(Byte)。

对一个8位二进制代码的最低位LSB(LeastSignificantBit)称为第0位(位0),最高位MSB(MostSignificantBit)称为第7位(位7)。

在计算机的存储器中有很多存储单元。

为了使存入和取出时不发生混淆,必须给每个存储单元一个唯一的固定编号,这个编号就称为存储单元的地址。

因为存储单元数量很大,为了减少存储器向外引出的地址线,在存储器内部都带有译码器。

根据二进制编码译码的原理,除地线公用之外,n根导线可译成2"个地址号。

2、存储器速度和存储器容量

存储器速度和存储器容量是存储器的两个主要技术指标。

存储器速度是指读或写一条信息所需的时间,它是影响计算机速度的主要因素之一。

存储器的容量是指最多能够存储多少个单位信息,二进制信息单位多用字节表示。

在计算机中,通常把1024字节称为1K字节,1024K称为1M(兆)。

二、存储器的分类

存储器的分类方法较多,例如从其组成材料和单元电路类型上可分为磁芯存储器、半导体存储器、电荷耦合存储器等,从其与微处理器的关系来划分,又可分为内存和外存。

直接同微处理器进行信息交换的存储器称内存。

其特点是存取速度快,但容量有限。

通过内存间接与CPU进行信息交换的存储器称为外存,其特点是容量大、速度较慢,外存的内容根据需要可随时调入内存。

1、只读存储器ROM

只读存储器即在使用时只能读出而不能写入,断电后ROM中的信息不会丢失。

因此一般用来存放一些固定程序,如监控程序、子程序、字库及数据表等。

2、随机存储器RAM(randomaccessmemory)

这种存储器又叫读写存储器,它不仅能读取存放在存储单元中的数据,还能随时写入新的数据。

断电后RAM中的信息全部丢失,因此RAM常用于存放经常要改变的程序或中间计算结果等。

三、只读存储器类型

ROM按存储信息的方法又可分为四种。

下面逐一进行介绍。

(1)掩膜ROM

掩膜ROM也称固定ROM,它是由厂家编好程序写入ROM(称固化)供用户使用,用户不能更改它。

掩膜ROM只能应用于有固定程序且批量很大的产品中。

(2)可编程序的只读存储器PROM

它在出厂时不写入信息,它的内容由用户根据自己所编程序一次性写入,一旦写入,只能读出,而不能再进行更改。

(3)可改写的只读存储器EPROM

用户可将程序写入EPROM。

如果要改写程序,可用紫外线进行擦除,然后重新写人新程序。

一片EPROM芯片,可反复多次被擦除和写人。

(4)可电改写只读存储器E2PROM

E2PROM可用电的方法完成写入和清除其内容的功能,其编程电压和清除电压均与微机CPU的5V工作电压相同,不需另加电压,它既有RAM读写操作简便,又有数据不会因掉电而丢失的优点,因而使用极为方便。

加之E2PROM保存的数据至少可达10年以上,每块芯片可擦写1万次以上。

第二章单片机概述

一、单片机的概念

通常所说的微机是指由CPU、存储器、I/O接口电路等各种大型集成电路芯片组装在一块或者由几块印制电路板组装而成的机器。

随着大型集成电路技术的不断进步,20世纪80年代开发出了能在一个芯片上集成CPU、存储器、I/O接口等电子电路的超微型计算机,这种单个芯片式的微型计算机就被命名为单片微型计算机,简称单片机MicroControllerUint(MCU)。

由于单片机在应用时通常是处于被控系统的核心地位并融入其中,即以嵌入的方式进行使用,为了强调其“嵌入”的特点,也常常将单片机称为嵌入式微控制器EMCU(EmbeddedMCU)。

二、单片机的特点及应用领域

1、单片机的特点:

(1)小巧灵活、成本低、易于产品化。

能组装成各种智能式测控设备及智能仪器仪表。

(2)可靠性好,应用范围广。

单片机芯片本身是按工业测控环境要求设计的,抗干扰性强,能适应各种恶劣的环境,这是其他机种无法比拟的。

(3)易扩展,很容易构成各种规模的应用系统,控制功能强。

单片机的逻辑控制功能很强,指令系统有各种控制功能指令,可以对逻辑功能比较复杂的系统进行控制。

(4)具有通讯功能,可以很方便地实现多机和分布式控制,形成控制网络和远程控制。

2、单片机的应用

(1)工业方面:

各种测控系统。

数据采集系统,工业机器人,智能化仪器,机、电一体化产品。

(2)智能仪器仪表方面。

(3)通讯方面:

调制解调器、程控交换技术等。

(4)消费产品方面:

电动玩具、录像机、激光唱机。

(5)导弹与控制方面:

导弹控制、鱼雷制导控制、智能武器装备、飞机导航系统。

(6)计算机外部设备及电器方面:

打印机、硬盘驱动器、彩色与黑白复印机、磁带机等。

(7)多机分布式系统:

可用单片机构成分布式测控系统,它使单片机应用进入了一个全新的阶段。

注:

单片机是学习其他嵌入式芯片的基础。

如ARM,DSP,SOPC等。

第三章单片机芯片的硬件结构

第一节MCS-51单片机的逻辑结构及信号引脚

一、MCS-51单片机的结构框图

二、MCS-51单片机的逻辑结构

1、中央处理器(CPU)

中央处理器简称CPU,是单片机的核心,完成运算和控制操作。

按其功能,中央处理器包括运算器和控制器两部分电路。

1)、运算器电路

功能:

单片机的运算部件,用于实现算术和逻辑运算。

2)、控制器电路

功能:

单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。

2、内部数据存储器

组成:

RAM(128×8)和RAM地址寄存器等。

功能:

用于存放可读写的数据。

3、内部程序存储器

组成:

ROM(4K×8))和程序地址寄存器等。

功能:

用于存放程序和原始数据。

4、定时器/计数器

80C51共有两个16位的定时器/计数器。

功能:

实现定时或计数功能,并以其定时或计数结果对单片机进行控制,以满足控制应用的需要。

5、并行I/O口

MCS-51共有4个8位的I/O口(P0、P1、P2、P3)

功能:

实现数据的并行输入输出。

6、串行口

MCS-51单片机有一个全双工的串行口。

功能;以实现单片机和其它数据设备之间的串行数据传送。

7、中断控制系统

80C51共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。

全部中断分为高级和低级共两个优先级别。

8、时钟电路

MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。

功能:

时钟电路为单片机产生时钟脉冲序列。

典型的晶振频率:

6MHz、11.0592MHz、12MHz。

9、位处理器

位处理器称为布尔处理器。

功能:

以状态寄存器中的进位标志位C为累加位,可进行各种位操作。

10、总线

总线:

连接计算机各部件的一组公共信号线。

分类:

地址总线、数据总线和控制总线。

作用:

减少了单片机的连线和引脚,提高了集成度和可靠性。

三、MCS-51的信号引脚

80C51是标准的40引脚双列直插式集成电路芯片,引脚排列如图所示。

1.信号引脚介绍

·输入/输出口线

P0.0~P0.7P0口8位双向口线

P1.0~P1.7P1口8位双向口线

P2.0~P2.7P2口8位双向口线

P3.0~P3.7P3口8位双向口线

·ALE地址锁存控制信号

功能:

a)在系统扩展时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。

如图所示。

b)ALE是以六分之一晶振频率的固定频率输出的正脉冲,可作为外部时钟或外部定时脉冲使用。

·/PSEN外部程序存储器读选通信号

在读外部ROM时/PSEN有效(低电平),以实观外部ROM单元的读操作。

·/EA访问程序存储器控制信号

当/EA信号为低电平时,对ROM的读操作限定在外部程序存储器;

当/EA信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。

·RST复位信号

当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。

·XTAL1和XTAL2外接晶体引线端

当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;

当使用外部时钟时,用于接外部时钟脉冲信号。

·VSS地线

·Vcc+5V电源

2、信号引脚的第二功能

“复用”即给一些信号引脚赋予双重功能。

第二功能信号定义主要集中在P3口线中,另外再加上几个其它信号线。

·P3口线的第二功能

P3口8条口线都定义有第二功能,如表所示。

·EPROM存储器程序固化所需要的信号

编程脉冲:

30脚(ALE/PROG)

编程电压(25V):

31脚(/EA/Vpp)

·备用电源引入

备用电源是通过9脚(RST/VPD)引入的。

当电源发生故障,电压降低到下限值时,备用电源经此端向内部RAM提供电压,以保护内部RAM中的信息不丢失。

说明:

a)第一功能信号与第二功能信号是单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。

b)P3口线先按需要优先选用它的第二功能,剩下不用的才作为I/O口线使用。

第二节MCS-51内部存储器

存储器分为两种:

数据存储器和程序存储器。

数据存储器(RAM):

用于存放可读写的数据,和计算过程的中间结果。

程序存储器(ROM):

用于存放程序和原始数据。

以下是51单片机的程序分类图:

51单片机具有16根地址线(由P0和P2口组成,其中P0口还作为数据总线),为程序空间和数据空间共用,故可以访问的存储单元最大为16K.。

具体地址分配见下图:

内部数据存储器有256字节的空间,分为两部分:

低128字节和高128字节。

内部数据存储器的地址分配情况见下表,

FFH

.

.

80H

高128字节(SFR区)

7FH

00H

低128字节

一、内部数据存储器低128单元

划分为三个区:

30H~7FH

用户RAM区(数据缓冲区)

20H~2FH

位寻址区(00H~7FH)

18H~1FH

工作寄存器区3区(R7~R0)

工作寄存器区2区(R7~R0)

工作寄存器区1区(R7~R0)

工作寄存器区0区(R7~R0)

10H~17H

08H~0FH

00H~07H

1、通用寄存器区

地址范围:

4组通用寄存器占据内部RAM的00H~1FH单元地址。

每组8个,依次为R0~R7。

使用方法:

一种是以寄存器的形式使用,用寄存器符号表示;另一种是以存储单元的形式使用,以单元地址表示。

说明:

任一时刻,CPU使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器。

由程序状态字寄存器PSW中RSl、RS0位的状态组合来决定使用那一组。

2、位寻址区(bit)

地址范围:

内部RAM的20H~2FH单元,共有16个RAM单元,总计128位,位地址为00H~7FH。

位寻址区的位地址表如表所示。

操作方法:

字节操作和位操作。

使用方式:

一种是以位地址的形式;另一种是以存储单元地址加位的形式表示,例如21H.5表示位寻找区的21H字节的第五位,即位地址为0DH。

3、用户RAM区

地址范围:

内部RAM区单元地址为30H-7FH,共80个单元。

使用方法:

只能以存储单元的形式来使用。

但一般常把堆栈开辟在此区中。

二、内部数据存储器高128单元

又称之为专用寄存器区,其单元地址为80H-FFH,用于存放相应功能部件的控制命令、状态或数据。

因这些寄存器的功能已作专门规定,故而称为专用寄存器(SFR),有时也称为特殊功能寄存器。

MCS-51中80C51的专用寄存器共有22个,其中可寻址的为21个。

专用寄存器简介

现把22个专用寄存器中的5个介绍如下,其余的将在以后章节中陆续说明。

1)、程序计数器PC

PC是一个16位的计数器。

其内容为将要执行的指令地址,寻址范围达64KB。

PC有自动加1功能,以实现程序的顺序执行。

PC没有地址,是不可寻址的,因此用户无法对它进行读写。

但在执行转移、调用、返回等指令时能自动改变其内容,以改变程序的执行顺序。

2)、累加器A(或ACC)

累加器为8位寄存器,是程序中最常用的专用寄存器,功能较多,地位重要。

用于向ALU提供操作数和存放运算的结果。

在运算时将一个操作数经暂存寄存器送至ALU,与另一个来自暂存寄存器的操作数在ALU中进行运算,运算后的结果又送入累加器A中。

3)、B寄存器

B寄存器是一个8位寄存器,主要用于乘除运算,也可作为一般数据寄存器使用。

4)、程序状态字(PSWProgramStatusWord)

程序状态字是一个8位寄存器,用于寄存指令执行的状态信息。

其中有些位状态是根据指令执行结果,由硬件自动设置的,而有些位状态则是使用软件方法设定的。

PSW的位状态可以用专门指令进行测试,也可以用指令读出。

PSW的各位定义知下:

除PSW.1位保留未用外,对其余各位的定义及使用介绍如下:

·CY或C、PWS.7进位/借位标志位

功能:

a)存放算术运算的进位/借位标志;

b)在位操作中,作累加位使用。

·AC(PSW.6)辅助进位标志位

功能:

a)在加减运算中,当有低4位向高4位进位或借位时,AC由硬件置位,否则AC位被清“0”。

b)在进行十进制数运算时需要十进制调整,此时要用到AC位状态进行判断。

·F0(PSW.5)用户标志位

一个由用户定义使用的标志位,用户根据需要用软件方法置位或复位。

·RS1和RS0(PSW.4和PSW.3)寄存器组选择位

用于设定当前通用寄存器的组号。

通用寄存器共有4组,其对应关系如下表:

这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前通用寄存器组。

·OV(PSW.2)溢出标志位

在带符号数的加减运算中,OV=1表示加减运算结果超出了累加器A所能表示的符号数有效范围(-128~+127),即产生了溢出,因此运算结果是错误的;反之,OV=0表示运算正确,即无溢出产生。

在乘法运算中,0V=1表示乘积超过255,即乘积分别在B与A中;反之,OV=0,表示乘积只在A中。

在除法运算中,0V=1表示除数为0,除法不能进行;反之,OV=0,除数不为0,除法可正常进行。

·P(PSW.0)奇偶标志位

表明累加器A中1的个数的奇偶性,在每个指令周期由硬件根据A的内容对P位进行里位或复位。

若1的个数为偶数,P=0;若1的个数为奇数,P=1。

5).数据指针(DPTR)

数据指针为16位寄存器,它是MCS-51中唯一一个供用户使用的16位寄存器。

DPTR可以分为两个8位寄存器使用,即:

DPHDPTR高位字节

DPLDPTR低位字节

DPTR在访问外部数据存储器时作地址指针使用,在变址寻址方式中,用DPTR作基址寄存器,用于对程序存储器的访问。

说明:

a)在22个专用寄存器中,唯一一个不可寻址的专用寄存器就是程序计数器(PC)。

b)对专用寄存器只能使用直接寻址方式,在指令中既可使用寄存器符号表示,也可使用寄存器地址表示。

c)在21个可寻址的专用寄存器中,有11个寄存器是可以位寻址的。

专用寄存器如表所示。

专用寄存器地址表

地址

符号

名称

E0H

F0H

D0H

ACC

B

PSW

累加器

B寄存器

程序状态字

81H

82H

83H

80H

SP

DPL

DPH

P0

堆栈指针

数据指针DPTR(包括DPH和DPL)

P0口锁存寄存器

90H

A0H

B0H

P1

P2

P3

P1口锁存寄存器

P2口锁存寄存器

P3口锁存寄存器

B8H

A8H

89H

IP

IE

TMOD

中断优先级控制寄存器

中断允许控制寄存器

定时/计数器工作方式状态寄存器

88H

8CH

8AH

TCON

TH0

TL0

定时/计数器控制寄存器

定时/计数器0(高字节)

定时/计数器0(低字节)

8DH

8BH

TH1

TL1

定时/计数器1(高字节)

定时/计数器1(低字节)

98H

99H

87H

SCON

SBUF

PCON

串行口控制寄存器

串行口数据缓冲器

电源控制寄存器

可进行位寻址的SFR的分布

字节地址

SFR

位地址/位定义

MSBLSB

F0H

B0

F7H

F6H

F5H

F4H

F3H

F2H

F1H

F0H

E0H

ACC

E7H

F6H

E5H

E4H

E3H

E2H

E1H

E0H

D0H

PSW

D7H

D6H

D5H

D4H

D3H

D2H

D1

D0H

CY

AC

F0

RS1

RS0

OV

P

B8H

IP

BFH

BEH

BDH

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2