单片微型计算机原理及其应用电子教案_第1页
单片微型计算机原理及其应用电子教案_第2页
单片微型计算机原理及其应用电子教案_第3页
单片微型计算机原理及其应用电子教案_第4页
单片微型计算机原理及其应用电子教案_第5页
已阅读5页,还剩255页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《单片微型计算机原理

及其接口技术》电子教案

周琪云

江西师范大学计算机信息工程学院

2005・元

t微计算机系统概念

微计菖机(HC)微处理器(MP)菖术逻辑部件(ALU)

(单片、单板)寄存器

控制电路

系统软件系统总线地址总线

数据总线

控制总线

电源存储器ROMsPROM

RAM

输入端出电路串行输入输出接口

并行输入端i出接口

输入端出外围设备(显示器、键盘、磁盘、磕带、打印机等)

微处理器、微计算机和微计算机系统的关系

第一章单片微型计算机概述

■本章主要介绍单片机的发展,基本的结构和特

点,单片机的应用模式和领域,单片机的供应

状态等。

■单片微型计算机就是将CPU、RAM、ROM、

定时/计数器和多种接口都集成到一块集成电

路芯片上的微型计算机。因此,一块芯片就构

成了一台计算机。它已成为工业控制领域、智

能仪器仪表、尖端武器、日常生活中最广泛使

用的计算机。

1.1单片机的发展概况

■综上所述,我们可以把单片机的发展历史划分为四阶段:

■第一阶段(1976〜1978年):低性能单片机的探索阶段。以Intel公司的

MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/

计数器、并行I/O口、RAM和ROM等。主要用于工业领域。

■第二阶段(1978〜1982年):高性能单片机阶段,这一类单片机带有串

行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制

总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断的

改进和发展。

■第三阶段(1982〜1990年):16位单片机阶段。16位单片机除CPU为16位

外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微

控制器的特征。例如Intel公司的MCS-96主振频率为12M,片内RAM为

232字节,ROM为8K字节,中断处理能力为8级,片内带有10位A/D转换

器和高速输入/输出部件等。

■第四阶段(1990年〜):微控制器的全面发展阶段,各公司的产品在尽

量兼容的同时一,向高速、强运算能力、寻址范围大以及小型廉价方面发

展。

1.2单片前的特点

■(1)体积小、重量轻、功耗低、功能强、

性价比高。

■(2)数据大都在单片机内部传送,运行

速度快,抗干扰能力强,可靠性高。

■(3)结构灵活,易于组成各种微机应用

系统。

■(4)应用广泛,既可用于工业自动控制

等场合,又可用于测量仪器、医疗仪器及

家用电器等领域。

1.3单片机的结构特点

■(1)片内的RAM采用寄存器结构形式,这样可以提

高存取的速度;

■(2)在存储器结构上,严格的将程序存储器ROM和

数据存储器RAM在空间上分开;

■(3)它的引出管脚一般都设计成多功能的;

■(4)增加了一个全双工的串行接口,以扩充I/O口和

外接同步输入和输出设备;

■(5)有21个特殊功能寄存器;

■(6)有丰富的指令系统,内部设置了可以位寻址的位

地址空间。

1.4单片机的主要品种及系列

■一、4位单片机

■二、8位单片机

■三、16位单片机

■四、32位单片机

表格1-1MCS-51系列型号

片内数据存储

型号制造技术片内程序存储器

8051AHHMOSROM(4k)128字节

8031AHAHMOS无128字节

8751HHMOSEPROM(4K)128字节

80C51CHMOSROM(4K)128字吊

80C31CHMOS无128字十

8051HMOSROM(8K)256字节

8031HMOS无256字节

1.5单片机的应用

■一、单片机在仪器仪表中的应用

■二、单片机在机电一体化中的应用

■三、单片机在智能接口和多机系统中的

应用

■四、单片机在生活中的应用

第二章MCS-51单片机的结构和

原理

■本章主要介绍MCS-51系列的8051的基本结

构、工作原理、存储器结构、P。、PPP2>

P3四个I/O口的基本工作原理和操作特点。

单片机的各种工作方式、单片机的时序等。

2.1MCS-51单并机的结构原理

■一、8051单片机的结构

TnTi

PoPiP2P3TXDRXDINTOINT1

图2-1MCS-51单片机的基本结构

二、8051单片机的内部结构

和工作原理

■8051单片机的内部结构框图如图2-2所

示,下面分别进行介绍:

PO.OPO.7P2.OP2.7

图2-28051的内部结构框图

FFHFFFFH

SFR

80H

RAM外部

RAM

3OH

OFFFH

位寻址区

20H

工作

寄存器

0〜3组

OOOOHOOH0000H

图2-38051存储器组织结构

字节地

位地址

D.D、

D.D,65D,iD0n

2FH7FH7EH7DH7CH7BH7AH79H78H

2EH77H76H75H74H73H72H71H70H

2DH6FH6F.H6DH6cH6RH6AH69H6RH

2CH67H66HASH64H62H61H60H

2BH5FHSEHSDHSCHSRHSAHSOH

2AH57H56H55H54H53H52H51H50H

29H4FH4EH4DH4CH4BH4AH49H48H

28H47H46IT4STT44H42H47H41T-T4nH

27H3FH3EH?DH2rH3RH3AH39H

26H37H36H35H34H33H32HMHROH

25H2FH2EH?DH2cH2RH2AH29H2又H

24H77I-T26H25H24H23H22H21H20H

23H1FH1EH1DH1CH1BH1AH19H18H

22H17H16H1SH14HBH12H11H10H

21H0FHOEH_ODHOCHOBH0AH09H08H

20H07H06HOSH04H02H01HOOH

图2-48051内部RAM位地址区

单兀地加

符号地址

*ACCEOH累加器_________________ACC.7〜ACC.0E7H〜EOH

*BFOH乘法寄存器B.7-B.0F7H~F0H

*PSWDOH程序状态字PSW.7-PSW.0D7H-D0H

SP81H堆栈指针

DPL82H数据存储器指针(低8位)

DPH83H数据存储器指针(高8位)

*IEA8H中断允许控制器IE.7〜IE.0AFH〜A8H

表格*IPB8H中断优先控制器IP.7〜IP.0BFH〜B8H

2-280H通道87H〜80H

*P00^0.7^0.0

特殊90H97H〜90H

*-P-,i--通道1P—P"

功能*p?AOH通道2「2.7~「2.0A7H-A0H

寄存*p.BOH通道3「3.7~「3.0B7H-B0H

器表PCON87H电源控制及波特率选择

*SCON98H串行口控制SCON.7-SCON.O9FH-98H

SBUF99H串行数据缓冲器

*TCON88H定时控制TC0N.7-TCON.O8FH〜88H

TMOD89H定时器方式选择

8AH

TL0定时器0低8位

TL,8BH定时器1低8位

8CH

THn定时器0高8位,

TH18DH定时器1高8位

*:可位寻址的特殊功能寄存器

(1)Po口位的结构

读引脚

图2-5P。口的位结构

(2)P1口位的结构

vcc

读锁存器

内部上拉电阻

内部总线

Pl.n

Pl.n

写锁存器锁存器

>

读引脚

图2-6口的位结构

(3)P2口的位结构

VCC

地址控制

读锁存器

内部上拉电阻

内部总线

P2.

写锁存器T

读引脚

图P2口的结构图

(4)P3口的位结构

VCC

第二输出功能

读锁存器

内部上拉电阻

内部总线

写锁存器

读引脚

第二输入功能

图2-8P3口的结构图

(4)P3口的位结构

第二输出功能-j-

读锁存器

内部上拉电阻

内部总线

4i----e-P3,n[>

写锁存器P---------T

读引脚

第二输入功能

图2-8P3口的结构图

表格2-3P3口的第二功能表

I/O口第二功能注释

P3.0RXD串行口数据接收端

TXD串行口数据发送端

p3..

P3.2

INT(------------)0外部中断请求0

P3.3

INT(------------)(外部中断请求1

P3.4定时/计数器

To0

P3.5Ti定时/计数器1

P3.6WR(---------)外部RAM写信号

P3.7RD(---------)外部RAM读信号

2.2MCS・51单片机的时序

、时钟周期、机器周期和指令周期

图2-9基本定时时序关系

1.时钟周期

2.机器周期

ALEj

「读操作码F读操作码(无效)1「读下-•指令

(a)1字节

SIS2S3S4S5S6

1周期指令

__________j第二字节____________读卜一指令

(b)2字节

S3S4S5S6

1周期指令

读操作码读操作码(无效)读下一指令

「「…jJ

(C)1字节

SIS2S3S4S5S6SIS2S3S4S5S6

2周期指令

图2-10MCS-51的取指/执行时序

3.指令周期

二、MCS-51单片机指令的取指和执行的时序

三、访问外部ROM和RAM的时序

SIS2S3S4S5S6

日寸车中

ALE

PSEN

图2・11访问外部ROM的时序

1.访问外部ROM的时序

2.访问外部RAM的时序

SIS2|S3S4S5S6SIS2S3S4S5S6

ALE

PSEN

RD

PCH输出DPH输出或P2输出PC11输出

PCL输出指令输入地址输出数据输入PCL输出指令输入

图2-12访问外部RAM的时序

2.3MCS-51单片机的时钟和复位电路

、时钟电路

VCC

XTAL1XTAL280C51

XTAL1

XTAL1XTAL2

VssVss

(a)内部振荡器方式(b)8051外时钟源接法(c)80c51外时钟源接法

图2-13MCS-51时钟接法

1.内部振荡器方式

2.外部时钟方式

二、复位电路及复位状态

1.内部复位电路

RST/VPD0-----------0-------►//一►复位电路

D2-------

D1斯密特触发器

Vcco-----M-----n

RAM

VssO------------(»

图2-148051复位电路结构

2.外部复位电路

8051RESETv(c8051RESETVCC8051

JZL~口一

VccVccao—o—Vcc

C-Ci--c

C222pF二

22pF-22UFRi200T22口F

」|______<

RST/VPD"II'IRST/VPD~□——n-----RST/VPD

RqR2RirR2r

IkL

IkIkIk

l_______

VssIVssVss

(a)上电复位

(b)按健脉冲复位(c)按键电平复位

图2・15复位电路

勾寄墓位1状7态

专用寄存雷'复位值

PC0000H

ACCOOH

BOOH

PSWOOH

SP07H

DPTR0000H

P°〜P3FFH

IPXXX00000B

IE0XX00000B

TMODOOH

TCONOOH

THOOOH

TLOOOH

TH1OOH

TL1OOH

SCONOOH

SBUF不定

PCON(CHMOS)0XXX0000B

表格2-4各专用寄存器的复位值

2.4MCS-51单片机的低功耗工作方式

、电源控制寄存器PCON

DDD』DD,

D765D32D()

PCONSMOD————GF1GFOFDIDL

二、等待工作方式

三、掉电方式

第三章MCS-51单片机的指令系统

3.1指令系统概述

一、机器码指令与汇编语言指令

机器码指令:

汇编语言指令:

二、指令格式

汇编语言格式为:[标号:]操作码助记符[目的操作数,][源操作数][;注释]

单字节指令双字节指令三字节指令

INCAADDA,#22HMOV5EH,4FH

操作码04H

图3-1机器码指令格式

三、MCS-51单片机指令系统特点

(1)指令执行时间快。

(2)指令短,约有一半的指令为单字节

指令。

(3)用一条指令即可实现2个一字节的相

乘或相除。

(4)具有丰富的位操作指令。

(5)可直接用传送指令实现端口的输入

输出操作。

四、指令分类

■按指令功能,MCS-51指令系统分为数

据传递与交换、算术运算、逻辑运算、

程序转移、布尔处理操作等5类。

■布尔处理操作类指令又称位操作指令。

五、指令描述符号介绍

Rn——当前选中的寄存器区中的8个工作

寄存器R0~R7(n=0~7)。

Ri——当前选中的寄存器区中的2个工作

寄存器RO、RI(i=0,1)o

direct—8位的内部数据存储器单元中的地

址。

#data-----包含在指令中的8位常数。

#datal6——包含在指令中的16位常数。

addrl6------16位目的地址。

addrll——11位目的地址。

rel——8位带符号的偏移字节,简称偏移量。

DPTR一数据指针,可用作16位地址寄存器。

bit——内部RAM或专用寄存器中的直接寻址位。

A一累加器。

B——专用寄存器,用于乘法和除法指令中。

C——进位标志或进位位,或布尔处理机中的累

加器。

@——间址寄存器或基址寄存器的前缀,

如@印,@DPTRO

/——位操作数的前缀,表示对该位操作

数取反,如/bit。

X——片内RAM的直接地址或寄存器。

(X)——由X寻址的单元中的内容。

———箭头左边的内容被箭头右边的内

容所代替。

3.2寻址方式

一、立即寻址

二、直接寻址

三、寄存器寻址

四、寄存器间接寻址

五、变址寻址

六、相对寻址

七、位寻址

一、立即寻

■指令中直接给出操作数的寻址方式。立即操

作数用前面加有#号的8位或16位数来表示。

例如:MOVA,#60H;A-#60H

MOVDPTR,#3400H;DPTR―#3400H

MOV3OH,#40H;30H单元-#40H

■上述三条指令执行完后,累加器A中数据为

立即数据60H,DPTR寄存器中数据为3400H,

30H单元中数据为立即数40H。

、直接寻址

■指令中直接给出操作数地址的寻址方式,能

进行直接寻址的存储空间有SFR寄存器和内

部数据RAM。

例如:MOVPSW,#20H;

PSW-#20H

PSW为直接寻址寄存器的符号地址。

MOVA,30H;A-30H内部RAM单

元中的内容

■30H为直接给出的内部RAM的地址。

三、寄存器寻址

■以通用寄存器的内容为操作数的寻址方

式。通用寄存器指A、B、DPTR以及

R0〜R7。

例如:CLRA;A-0

INCDPTR;DPTR-DPTR+1

ADDR5,#20H;R5-#20H+R5

四、寄存器间接寻址

■以寄存器中内容为地址,以该地址中

内容为操作数的寻址方式。间接寻址

的存储器空间包括内部数据RAM和外

部数据RAM。

■能用于寄存器间接寻址的寄存器有RO,

RI,DPTR,SPo其中RO、R1必须是

工作寄存器组中的寄存器。SP仅用于

堆栈操作。

例如:MOV@R0,A;内部RAM(RO)-A

其指令操作过程示意图如图3-1所示。

又如:MOVXA,@R1;A一外部

RAM(P2R1)其指令操作过程示意图如图3-

2所示。

再如:MOVX@DPTR,A;外部

RAM(DPTR)-A

其指令操作过程示意图如图3-3所示。

RO

A

图3-1MOV@R0,A间接寻址示意图

片外片外

图3-2MOVXA,@R13-3MOVX@DPTR,A

间接寻址示意图

间接寻址示意图

五、变址寻址

■变址寻址只能对程序存储器中数据进行操作。由

于程序存储器是只读的,因此变址寻址只有读操

作而无写操作,在指令符号上采用MOVC的形式

(如图3-4所示)。

例如:MOVCA,@A+DPTR;A—(A+DPTR)

又如,MOVCA,@A+PC;A-(A+PC)

这条指令与上条指令不同的是,基址寄存器是PC。

Rid

程序存储器DPTR

2000H

10H2000H

201OH

图3-4变址寻址示意图

六、相对寻址

■以当前程序计数器PC的内容为基础,

加上指令给出的一字节补码数(偏移

量)形成新的PC值的寻址方式。

■相对寻址用于修改PC值,主要用于实

现程序的分支转移。

例如,SJMP08H;

PC-PC+2+08H

指令操作示意图如图3-5和图3-6所示。

PC

(2000H)

200AH

图3-5相对寻址示意图

80H-----操作码

2000Hrel=54HPC当前值

2001H54H2002H

2002II下一条指令

\

ALU

2056H

修正后转移

目标地址(PC)=2056H

图3-6相对寻址过程

七、位寻址

■位寻址只能对有位地址的单元作位寻址操作。

■位寻址其实是一种直接寻址方式,不过其地

址是位地址。

例如:SETB10H;将10H位置1若22H单

元中存放着数据40H,22H单元的D。位的位

地址为10H,执行上述指令后(22H)=41H。

又如:MOV32H,C;32H一进位位C

ORLC,32H;C-CV32H

.3MSC・51单片机的指令系统

按照指令的功能,可以把MSC-51的111条指令分成五类:

数据传送类指令(29条)

算术运算类指令(24条)

逻辑操作类指令(24条)

控制转移类指令(17条)

位操作类指令(17条)

、数据传送类指令

■数据传送类指令共29条,是将源操作数送到目

的操作数。指令执行后,源操作数不变,目的

操作数被源操作数取代。数据传送类指令用到

的助记符有MOV、MOVX、MOVC、XCH、

XCHD、SWAP、PUSH、POP8种。

■源操作数可采用寄存器、寄存器间接、直接、

立即、变址5种寻址方式寻址,目的操作数可以

采用寄存器、寄存器间接、直接寻址3种寻址方

MCS-51单片机片内数据传送途径如图3-7所

Zpso

图3-7MCS-51单片机片内数据传送图

1.以A为目的操作数

MOVA,Rn;A—Rn

MOVA,direct;A—(direct)

MOVA,@Ri;A—(Ri)

MOVA,#data;A—#data

2.以Rn为目的操作数

MOVRn,A;Rn-A

MOVRn,directRn—(direct)

MOVRn,#dataRn—#data

3.以直接地址为目的操作数

MOVdirect,A;(direct)-A

MOVdirectLdirect2;(directl)—(direct2)

MOVdirect,#data;(direct)—#data

MOVdirect,@Ri;

4.以间接地址为目的操作数

MOV@Ri,A;(Ri)-A

MOV@Ri,direct;(Ri)一(direct)

MOV@Ri,#data;(Ri)―#data

例如:设(30H)=6FH,Rl=40H,执行

MOV@R1,30H后,30H单元中数据取

出送入RI间接寻址的40H单元,(40H)

=6FH。

5.以DPTR为目的操作数

MOVDPTR,#datal6;DPTR—#datal6

例如执行MOVDPTR,#2000H后,

(DPTR)=2000Ho

6.访问外部数据RAM

MOVXA,@DPTR;A—(DPTR)

MOVX@DPTR,A;(DPTR)-A

MOVXA,@Ri;A—(P2Ri)

MOVX@Ri,A;(P2Ri)-A

7.读程序存储器

MOVCA,@A+DPTR;A—(A+DPTR)

MOVCA,@A+PC;A-(A+PC)

例如已知A=30H,DPTR=3000H,

程序存储器单元(3030H)=50H,执行MOVC

A,@A+DPTR后,A=50Ho

8.数据交换

•字节交换

XCHA,Rn;A<=>Rn

XCHA,direct;A<=>(direct)

XCHA,@Ri;A<=>(Ri)

•半字节交换

XCHDA,@Ri,(Ri)

SWAPA;A0〜3VQA4〜7

9.堆栈操作

■所谓堆栈是在片内RAM中按“先进后出,后进先

出”原则设置的专用存储区。数据的进栈出栈由

指针SP统一管理。堆栈的操作有如下两条专用指

令:

PUSHdirect;SP-(SP+1),(SP)一(direct)

POPdirect;(direct)—(SP),SP-SP-1

■PUSH是进栈(或称为压入操作)指令。指令执行

过程如图3-8所示。

■POP是出栈(或称为弹出操作)指令。指令执行

过程如图3-9所示。

片内片内片内

执行前执行前PUSH指令后执行POP指令后

PUSH40HPOP30H

图3-8指令PUSH操作示意图图3-9指令POP操作示意图

数据传送类指令一览表(1)

助记符功能描述字吊数振荡器周期数

MOVA,Rn寄存器送累加器112

MOVRn,A累加器送寄存器112

MOVA,@Ri内部RAM送累加器112

MOV@Ri,A累加器送内部RAM112

MOVA,#data立即数送累加器212

MOVA,direct直接寻址字节送累加器212

MOVdirect,A累加器送直接寻址字节212

MOVRn,#data立即数送寄存器212

MOVdirect,#data立即数送直接寻址字节324

MOV@Ri,#data立即数送内部RAM212

MOVdirect,Rn寄存器送直接寻址字节224

MOVRn,direct直接寻址字节送寄存器224

MOVdirect,@Ri内部RAM直接寻址字1J224

MOV@Ri,direct直接寻址字节送内部RAM224

数据传送类指令一览表(2)

MOVdirect,direct直接寻址字节送直接寻址字节324

MOVDPTR,#datal616位立即数送数据指针324

MOVXA,@Ri外部的RAM(P28位地址)内容送累加器124

MOVX@Ri,A累加器送外部的RAM(P28位地址)124

MOVXA,@DPTR外部的RAM(16位地址)内容送累加器124

MOVX@DPTR,A累加器送外部的RAM(16位地址)124

MOVCA,@A+DPTR程序代码送累加器(相对数据指针)124

MOVCA,@A+PC程序代码送累加器(相对程序计数器)124

XCHA,Rn累加器与寄存器父换112

XCHA,@Rn累加器与内部RAM交换112

XCHA,direct累加器与直接寻址字节交换212

XCHDA,@Ri累加器与内部RAM低4位交换112

SWAPA累加器高4位与低4位交换112

POPdirect栈顶弹出至直接寻址字节224

PUSHdirect直接寻址字节压入栈顶224

【例1]设片内RAM30H单元为40H,40H单元中的内容为

10H,10H单元内容为00H,端口P1上的内容为11001010B,

分析下面7条指令功能,操作数采用的寻址方式以及指令执

行后各单元及寄存器、端口的内容。

MOVRO,#3OH

MOVA,@R0

MOVRI,A

MOVB,@R1

MOV@R1,Pl

MOVP2,Pl

MOV10H,#20H

【例2工设一系统配有2KB的外部RAM,设计一段程序把

250单元的内容送650H单元。

MOVDPTR,#0650H

MOVRO,#0FAH

MOVXA,@R0

MOVX@DPTR,A

【例3】将片内RAM30H单元与40H单元中的内容互换。

方法1(直接地址传送方法2(间接地址传送

法):法):

MOV31H,30HMOVRO,#40H

MOV30H,40HMOVRI,#3OH

MOV40H,31HMOVA,@R0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论