单片机原理及接口技术(第2版)段晨东全套教案课件_第1页
单片机原理及接口技术(第2版)段晨东全套教案课件_第2页
单片机原理及接口技术(第2版)段晨东全套教案课件_第3页
单片机原理及接口技术(第2版)段晨东全套教案课件_第4页
单片机原理及接口技术(第2版)段晨东全套教案课件_第5页
已阅读5页,还剩770页未读 继续免费阅读

下载本文档

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

文档简介

第1章基础知识本章内容:单片机的概念单片机的发展、基本的结构和特点单片机的应用模式和领域MCS-51单片机等。11.1计算机的一些概念计算机由运算器、控制器、存储器、输入设备和输出设备五个部分组成。计算机的结构2第1章基础知识1.1计算机的一些概念8位计算机每个单元可存放一个8位二进制数,即一个字节,每一位的状态是0或1。存储单元保存的8位二进制数称为单元的内容。存储单元示意图如图地址为0110单元的内容为10101001,表示为(06H)=A9H。一个单元的内容单元的编号3第1章基础知识5CCCFF040B00EAAFAB5D9B23BB1D1F12800067EFFD7A89FFFFFFFEFFFDFFFCFFFBFFFAFFF9FFF8FFF7FFF6000D000C000B000A00090008000700060005000400030001000064K个存储单元(65536)构成的存储器4第1章基础知识1.2单片机

单片机即单片机微型计算机,就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。

单片机也称为微控制器(Microcontrollerunit,MCU),嵌入式控制器(EmbeddedMicrocontrollerunit,EMCU)1.2.1单片机的概念及特点单片机分为通用型和专用型,通用型单片机把可开发的内部资源全部提供给用户。内部资源丰富、性能全面、适应性强。专用型单片机针对某些产品的特定用途而制作的单片机,是MCU发展的一个趋势。集成

5第1章基础知识1.2单片机单片机有以下特点: (1)集成度高,功能强。单片机在一块芯片上集成了CPU、RAM、ROM、I/O接口等资源,在芯片上还包含了中断系统、串行通信接口、定时器/计数器等功能部件,芯片功能强、体积小、集成度高。 (2)具有较高的性能价格比。单片机尽可能地把应用所需的各种资源集成在一块芯片内,性能高,但是价格却相对较低廉。 (3)抗干扰能力强。单片机是面向工业检测控制环境设计的,因此,抗噪声干扰能力较强。程序固化在ROM类型的存储器中不易被破坏;许多资源集成在一个芯片,可靠性高。1.2.1单片机的概念及特点6第1章基础知识第1阶段(1971~1976):单片机萌芽阶段。第2阶段(1976~1980):初级单片机阶段。第3阶段(1980~1983):高性能单片机阶段。第4阶段(1983~1990):8位单片机巩固发展及16位单片机推出阶段。第5阶段(1990~):单片机在集成度、功能、速度、可靠性、应用领域等方面全方位地向更高水平发展。1.2单片机1.2.2单片机的发展7第1章基础知识(1)MCS-51单片机的第一代产品:

IntelMCS-518031/8051/8751(2)第二代产品系列采用了CMOS技术制造而成,集成度高,速度快,功耗低:

ATMELMCS-51兼容系列89C51/89C52、89C2051/89C2052;宏晶STC89C5XRC/RD(3)第三代80C51产品的单片机内核SoC(SystemOnChip,SoC)化。CYGNALC8051Fxxxx(SilabC8051F),宏晶STC12C5A60AD系列高速1T8051单片机

1.2单片机1.2.3MCS-51系列单片机及其兼容单片机8第1章基础知识1.2单片机

(1)家用电器 (2)办公自动化 (3)商业领域 (4)工业领域 (5)汽车电子 (6)航空航天与军事

单片机应用从根本上改变了传统的控制系统设计思想和设计方法。以前必须由硬件(模拟电路或数字电路)实现的控制功能,现在可以用单片机的软件方法实现,这种以软件取代硬件并能提高系统性能的控制技术,称之为微控制技术。随着单片机应用技术的推广普及,微控制技术将发挥将越来越重要的作用。

1.2.4单片机的应用9第1章基础知识1.3单片机的开发(Development8051) 单片机没有自编程能力,需要借助开发装置进行编程开发,应用到其他系统或产品中。 (一)仿真平台(编程软件和仿真器组成)仿真头仿真器仿真头串行口/USB仿真软件10第1章基础知识1.3单片机的开发(Development8051) 单片机没有自编程能力,需要借助开发装置进行编程开发,应用到其他系统或产品中。 (二)仿真平台(ISP下载线)(1)串行口/USBISP下载线仿真软件11第1章基础知识1.3单片机的开发(Development8051) (二)仿真平台(USB-ISP下载线)(2)仿真软件keilISP下载软件ISP下载线*STC系列单片机12第1章基础知识1.3单片机的开发(Development8051) (三)软件仿真平台(Proteus)【验证设计方案,掌握单片机原理的便捷方法——即学即用】Keil+Proteus13第1章基础知识1.3计算机的数学基础(1)十进制十个数符:0~9,逢十进一。加权展开式以10称为基数,各位系数为0~9。 一般表达式:ND=dn-1×10n-1+dn-2×10n-2+…+d0×100+d-1×10-1+…1234.5=1×103+2×102+3×101+4×100+5×10-11.3.1数制及转换(自修内容)一.数制14第1章基础知识(2)二进制两个数符:0、1,逢二进一。加权展开式以2为基数,各位系数为0、1。 一般表达式:

NB=dn-1×2n-1+dn-2×2n-2+…+d0×20+d-1×2-1+…1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3

1.3.1数制及转换(自修内容)一.数制1.3计算机的数学基础15第1章基础知识 (3)十六进制十六个数符0~9、A~F,逢十六进一。展开式以十六为基数,各位系数为0~9,A~F。 一般表达式: NH=hn-1×16n-1+hn-2×16n-2+…+h0×160+h-1×16-1+…DFC.8=13×162+15×161+12×160+8×16-11.3.1数制及转换(自修内容)1.3计算机的数学基础一.数制16第1章基础知识 进位计数制的一般表达式:

N=an-1×Rn-1+an-2×Rn-2+…+a1×R1+a0×R0+a-1×R-1…+a-mR-m

一种进制的数转换成另一种进制数的方法:

按权展开,求和计算。1.3.1数制及转换(自修内容)1.3计算机的数学基础二.数制之间的转换17第1章基础知识(一)十六进制数转换成十进制数按权展开,然后按照十进制运算法则求和。举例: 1011.1010B=1×23+1×21+1×20+1×2-1+1×2-3=11.625 DFC.8H=13×162+15×161+12×160+8×16-1=3580.51.3.1数制及转换(自修内容)1.3计算机的数学基础18第1章基础知识(二)二进制与十六进制数之间的转换 24=16,四位二进制数对应一位十六进制数。3AF.2H

=0011

1010

1111.0010=1110101111.001B 3AF2

1111101.11B

=0111

1101.1100=7D.CH

7DC1.3.1数制及转换(自修内容)1.3计算机的数学基础19第1章基础知识

(三)十进制数转换成二、十六进制数整数、小数分别转换1.整数转换法“除基取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。1.3.1数制及转换(自修内容)1.3计算机的数学基础20第1章基础知识2. 小数转换法“乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。1.3.1数制及转换(自修内容)1.3计算机的数学基础21第1章基础知识1.3.2计算机中数的表示方法

机器数:机器中数的表示形式,其位数通常为8的倍数 真值:机器数所代表的实际数值。 一个8位机器数+84和-84与它们的真值对应关系

真值:X1=+84=+1010100BX2=-84=-1010100B

机器数:[X1]机=01010100[X2]机=11010100机器中,数的最高位作符号位,“0”表示“+”,“1”表示“-”。机器数与真值一.

带符号数的表示1.3计算机的数学基础八位二进制数符号位01010100+84符号位11010100-84符号位22第1章基础知识 最高位为符号位,0表示“+”,1表示“-”。 数值位与真值数值位相同。

x1=+1010100B [x1]原=01010100x2=-1010100B

[x2]原=11010100在计算机中,0可表示为+0和-0,故0在原码中有两种表示法: [+0]原=00000000B [-0]原=10000000B。 带符号数通常有三种表示方法:原码、反码、补码(1)原码1.3.2计算机中数的表示方法1.3计算机的数学基础八位二进制数符号位23第1章基础知识 正数的反码与原码表示相同。 负数反码符号位为1,数值位为原码数值各位取反。 (2)反码1.3.2计算机中数的表示方法1.3计算机的数学基础x=+4[x]原=00000100 [x]反=00000100x=-4[x]原=10000100[x]反=111110111xxxxxxx负数原码数值位取反1xxxxxxx负数反码24第1章基础知识(3)补码 正数的补码表示与原码相同。负数的补码等于其反码加1。

x=+4,[x]原=[x]反=[x]补=00000100 x=-4 [x]原=10000100 [x]反=11111011 [x]补=11111100补码表示的优点:0的表示唯一。1.3.2计算机中数的表示方法1.3计算机的数学基础负数的补码25第1章基础知识(4)真值与机器数之间的转换1.3.2计算机中数的表示方法1.3计算机的数学基础

1)正数的原码、反码、补码相同,无需转换;2)负数原码的最高位为符号位,其余位为数值位,由数值位可以获取真值;负数反码的数值位按位取反,可转换为原码,即一个负数反码的反码为该负数的原码;负数补码的数值位按位取反后,最低位再加1,可转换为原码,即一个负数补码的补码为原码。3)由原码求真值。用“+”、“-”代替原码的符号位0和1。推论:一个数的绝对值等于原码的符号位清0。26第1章基础知识X1=+127,X2=-127,求[X]原、[X]补[X1]原=[X1]补=01111111=7FH [X2]原=11111111=FFH [X2]补=10000001=81HX1=+255,X2=-255,求[X]原、[X]补[X1]原=[X1]补=0000000011111111=00FFH

[X2]原=1000000011111111=80FFH

[X2]补=1111111100000001=FF01H (4)真值与机器数之间的转换1.3.2计算机中数的表示方法1.3计算机的数学基础27第1章基础知识(二)定点数浮点数的表示(1)定点数 小数点位置固定的机器数。运算简便,表示范围小。 数据用2字节整数和1字节小数表示,小数点位于两部分之间,表示如下:

1.3.2计算机中数的表示方法1.3计算机的数学基础28第1章基础知识(2)浮点数二进制数也可以表示为类似于科学计数法的形式,一个二进制数浮点表示为:1.3.2计算机中数的表示方法1.3计算机的数学基础 S为尾数,J为阶码,它们均为整数。通常,有2字节浮点数、3字节浮点数、4字节浮点数。3字节浮点数29第1章基础知识(一)二进制代码 计算机只能处理二进制数和二进制编码,任何进入计算机的信息必须转化为二进制数或二进制编码。 由0和1组成的二进制数码用来表示数值的大小,或用来表示特定的信息,这种具有特定含义的二进制数码称为二进制代码。1.3.3编码1.3计算机的数学基础30第1章基础知识(二)十进制数四位二进制编码 十进制数四位二进制编码就是用四位二进制数来表示0~9这十个十进制符号,简称为BCD码。1.3.3编码1.3计算机的数学基础十进制数符BCD编码00000100012001030011401005010160110701118100091001例:求十进制数876的BCD码 [876]BCD=100001110110 876=36CH=1101101100B31第1章基础知识(三)ASCII码【美国标准信息交换码】 用于计算机与计算机、计算机与外设之间传递信息。 ASCII码用一个7位二进制数来表示一个特定的字符,可表示27=128个符号。这128个符号共分为两类:一类是图形字符,共96个;一类是控制字符,共32个。1.3.3编码1.3计算机的数学基础32第1章基础知识行(3位)列(4位)行(3位)列(4位)ASCII011100139H101011157H00011010DH33第1章基础知识本章结束谢谢!34第2章MCS-51单片机结构及原理

本章内容:(1)MCS-51系列的8051的基本结构;(2)存储器结构及其配置;(3)P0、P1、P2、P3四个I/O口的基本工作原理和操作特点;(4)单片机的时序(5)复位35

2.1.1MCS-51的基本组成

MCS-51单片机(以8051为例,Intel产品)1个8位CPU;1个片内振荡器及时钟电路;128字节RAM(数据存储器);4K字节ROM(程序存储器);2个16位定时器/计数器;32条可编程的I/O线(四个8位并行I/O端口);1个全双工串行口;5个中断源;2.1MCS-51单片机组成及结构362.1MCS-51单片机组成及结构存储器CPU输入输出口定时/计数器中断系统总线

37

2.1.2MCS-51单片机的引脚与功能逻辑符号2.1MCS-51单片机组成及结构引脚分配38(1)电源线+5V供电

VCC(40)——+5VGND(20)——地2.1.2MCS-51单片机的引脚与功能引脚分配P0(2)晶体振荡器信号输入输出XTAL2(18)——晶体振荡器信号输出XTAL1(19)——晶体振荡器信号输入(3)输入/输出线

P0.0~P0.7P0口

P1.0~P1.7P1口

P2.0~P2.7P2口

P3.0~P3.7P3口P1P2P339(4)控制信号线

ALE(30)——地址锁存控制信号(AddressLatchEnable),ALE用于将地址总线的低八位锁存。该信号频率为晶振频率的1/6,可作为外部定时或时钟使用。2.1.2MCS-51单片机的引脚与功能引脚分配

(29)——外部程序存储器读选通信号(ProgramStoreEnable)

该信号为低电平时,CPU从外部程序存储器单元读取指令。40

(31)——内外程序存储器选择控制(ExternalAccessEnable)。2.1.2MCS-51单片机的引脚与功能(4)控制信号线(续)引脚分配

RESET(9)——复位信号。RESET持续2个机器周期以上的高电平,单片机复位。=0,CPU对程序存储器的操作仅限于单片机外部程序存储器。

=1,CPU对程序存储器的操作从单片机内部程序存储器开始,并可延伸到单片机的外部程序存储器。41(5)部分引脚的第二功能(复用,同一个引脚被双重定义)2.1.2MCS-51单片机的引脚与功能T1

定时器1外部计数信号输入T0

定时器0外部计数信号输入INT1

外部中断1,输入INT0

外部中断0,输入WR外部数据存储器写选通信号,输出第二功能RXD

串行输入端口引脚P3.0P3.2P3.3P3.4P3.5P3.6P3.7RD外部数据存储器读选通信号,输出TXD

串行输出P3.1(5)部分引脚的第二功能程序存储器固化所需的信号编程脉冲ALE/PROG

编程电压/VPP

备用电源引入

RESET/VPD:当电源电压下降到某个给定下限时,备用电源由该引脚向单片机芯片内部RAM供电,以保护内部RAM的内容不丢失。2.1.2MCS-51单片机的引脚与功能43控制器运算器特殊功能寄存器I/O口I/O口2.1.3MCS-51单片机的内部结构数据存储器程序存储器44(一)中央处理器(CPU)

CPU由运算器和控制器组成,它是单片机的核心,完成运算和控制操作。

2.1.3MCS-51单片机的内部结构

1.

运算器组成:算术逻辑运算器ALU,算术累加器ACC,寄存器B,暂存器TMP1,暂存器TMP2,布尔累加器Cy等。功能:进行移位、算术运算和逻辑运算;MCS-51运算器还包含有一个布尔(位)处理器,用来处理位操作。45

(1)累加器A(ACC)(8位)功能:暂存操作数及保存运算结果;

A是MCS-51单片机中最繁忙的寄存器;(2)寄存器B(8位)功能:用于乘法、除法运算,对于其它指令可作为一个寄存器使用;(3)程序状态字寄存器PSW(8位)功能:存放累加器A在运算过程标志位(P,OV,AC,Cy)的状态;指出CPU所使用的当前工作寄存器组。2.1.3MCS-51单片机的内部结构46CYACF0RS0OVPRS1PSW.7PSW.0CY(PSW.7)进位/借位标志位(Carry)。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。AC(PSW.6)半进位/借位标志位(AttachedCarry)。若AC在运算过程中,D3位向D4位发生了进位或借位,则AC=1,否则=0。F0(PSW.5)——用户标志位(Flag0:userdefinableflag)。PSW.6PSW.52.1.3MCS-51单片机的内部结构PSW程序状态字寄存器472.1.3MCS-51单片机的内部结构PSW.7PSW.0

RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位(RegisterSelection)。RS1,RS0=01则选择了工作寄存器组1

区R0~R7分别代表08H~0FH单元。RS1,RS0=10则选择了工作寄存器组2

区R0~R7分别代表10H~17H单元。RS1,RS0=11则选择了工作寄存器组3

区R0~R7分别代表18H~1FH单元。CYACF0RS0OVPRS1PSW.4PSW.3RS1,RS0=00则选择了工作寄存器组0

区R0~R7分别代表08H~0FH单元。PSW程序状态字寄存器48CYACF0RS0OVPRS1PSW.7PSW.0

OV(PSW.2)溢出标志位(Overflow)。

OV=1时特指累加器在进行带符号数(-128—+127)运算时出错(超出范围);OV=0时未出错。

PSW.1未定义(Reserved)。

P(PSW.0)奇偶标志位(ParityBit)。

P=1表示累加器ACC中“1”的个数为奇数

P=0表示累加器ACC中“1”的个数为偶数

CPU随时监视着ACC中的“1”的个数,并反映在PSW中PSW.2PSW.12.1.3MCS-51单片机的内部结构PSW

AC,Cy,OV,P通常在有A累加器参与运算的情况下改变,它们反映A累加器参与运算后的状态变化。程序状态字寄存器49(4)布尔处理器Cy

实现各种位逻辑运算和传送;MCS-51具有一个位寻址空间。(5)TMP1和TMP2为8位暂存寄存器存放参与预算的操作数。2.1.3MCS-51单片机的内部结构MCS-51单片机仅能实现两个8位二进制数的算术和逻辑运算!

50

组成:定时与控制部件,复位电路,程序计数器(PC),指令寄存器、指令译码器,数据指针(DPTR),堆栈指针(SP)等作用:产生计算机所需的时序,控制程序自动执行。CPU程序存储器指令寄存器外RAM,EPROM,外I/O指令译码器控制单片机各部分的运行,产生ALE,PSEN,RD/WR2.1.3MCS-51单片机的内部结构CPU执行指令

2.控制器51控制器示意图52(1)程序计数器PC(16位) 程序计数器PC用来存放即要执行的指令地址,共16位,低8位经P0口输出,高8位经P2口输出。

CPU每取一次机器码,PC内容自动加一,CPU执行一条指令,PC内容自动增加该指令的长度。CPU复位后,PC内容为0000H,它标志着程序从头开始执行。

PC的内容变化决定程序的流向。(2)指令寄存器(8位) 指令寄存器中存放将要执行的指令代码,通过指令译码器,将指令代码转化为电信号——控制信号ALE等。2.1.3MCS-51单片机的内部结构532.1.3MCS-51单片机的内部结构(3)数据指针DPTR(16位) 用于访问外部RAM或外部I/O口,提供十六位地址。用于程序存储器的查表和程序散转指令,作为基地址寄存器,提供十六位基地址。(4)堆栈指针寄存器SP(8位)用于管理对栈,指出栈顶位置。

MCS-51单片机复位后,(SP)=07H

542.1.3MCS-51单片机的内部结构(二)存储器(1)内部数据存储器 单片机的内部数据存储器由RAM地址寄存器、地址译码器以及128个单元的RAM构成,用于存放可读写的数据。 (2)内部程序存储器

MCS-51系列单片机(8031除外)的内部程序存储器由程序地址寄存器、地址译码器以及4K(4096)个单元的ROM构成,用于存放程序的机器代码和常数。 (3)特殊功能寄存器(SpecialFunctionRegister,SFR)

MCS-51系列单片机有21个可以寻址的特殊功能寄存器,包括单片机内的I/O口、串行口、定时/计数器、中断系统等相关的数据寄存器(或缓冲器)以及控制寄存器和状态寄存器,用于存放相应功能部件的控制命令、状态和数据。55存储器示意图I/O口

特殊功能寄存器

数据存储器

程序存储器56

2.1.3MCS-51单片机的内部结构(三)并行口(ParallelPort) 有4个并行的I/O口:P0、P1、P2、P3,每根口线都可独立地用作输入或输出。(四)串行口(SerialPort) 有1个全双工的串行口,用于串行通信。串行口由发送缓冲器SBUF、接收缓冲器SBUF、移位寄存器和串行口控制逻辑等部分组成。(五)定时/计数器(Timer/Counter)

有2个16位的定时/计数器T0和T1,T0由TH0和TL0构成,T1由TH1和TL1构成,定时/计数器方式寄存器TMOD选择定时/计数器的工作模式和方式,定时/计数器控制寄存器TCON控制T0和T1的启动和停止,同时反映T0和T1的溢出状态。(六)中断系统(InterruptSystem) 有5个中断源,分别为2个外部中断、2个定时/计数器溢出产生的中断、1个串行口接收/发送产生的中断,提供2个中断优先级。57

输入输出口

输入输出口582.2MCS-51单片机的存储器 MCS-51单片机的程序存储器和数据存储器分开设置,地址空间相互独立。MCS-51存储器地址空间可分为以下5类: (1)程序存储器,最大空间64K; (2)片内数据存储器,128个单元; (3)特殊功能寄存器,共21个; (4)位寻址空间,211位; (5)外部数据存储器,最大空间64K。 这些资源与单片机应用的关系密切,下面我们介绍上述5类存储空间的功能。592.2.1程序存储器

程序存储器用来存放程序和常数,最大寻址空间64K单元。MCS-51系列产品按程序存储器配置类型分为3类:

8051芯片含有4K个单元的ROM;

8751芯片含有4K个单元的EPROM;

8031中无程序存储器,需要扩展程序存储器。

在实际应用中,用户既可使用芯片内部的程序存储器,也可以使用芯片外部的程序存储器,但最大空间为64K,程序存储器的地址空间构成与引脚的接法有关。602.2.1程序存储器(1)芯片内部含有程序存储器的单片机(8051/8751) 当=1(接高电平)时,8051/8751的程序存储器结构如图:程序存储器结构程序存储器连接电路612.2.1程序存储器(1)芯片内部含有程序存储器的单片机(8051/8751) 当=0(接低电平)时,8051/8751的程序存储器结构如图:程序存储器结构程序存储器连接电路622.2.1程序存储器(1)芯片内部不含有程序存储器的单片机(8031) 必须接地,8031的程序存储器结构如图:程序存储器结构

不论哪一种MCS-51单片机,如果接地,其内部的程序存储器将被CPU忽略。程序存储器连接电路8031此种方式在实际应用中已不采用。632.2.1程序存储器

在单片机的程序存储器中,有5个特殊的单元地址被定义为中断入口地址: 外部中断0入口地址:0003H

外部中断1入口地址:0013H

定时/计数器T0入口地址:000BH

定时/计数器T1入口地址:001BH

串行口中断入口地址:0023H中断入口地址映射

64VccRMCS-5100000FFF1000FFFF内部外部2.2.1程序存储器(总结)MCS-51内部外部0000FFFF2.2.1程序存储器(总结)2.2.2片内数据存储器 MCS-51单片机的片内RAM按照功能可分为3个区域:

00~1FH:32个单元为工作寄存器区

20~2FH:16个单元为位寻址区

30~7FH:80个单元为数据缓冲区片内RAM分区示意图工作寄存器区位寻址区数据缓冲区67(一)工作寄存器区(RegisterBank)(00-1FH)工作寄存器组分区

工作寄存器区也称为通用寄存器区。工作寄存器区包含4个工作寄存器组,每个工作寄存器组中包含8个工作寄存器R0~R7。2.2.2片内数据存储器Bank0Bank1Bank2Bank3

BANK0(00~07H)

BANK1(08~0FH)

BANK2(10~17H)

BANK3(18~1FH)68

表工作寄存器组的工作寄存器R0~R7与内RAM单元的对应关系PSW.4(RS1)PSW.3(RS0)寄存器区R0R1R2R3R4R5R6R700BANK000H01H02H03H04H05H06H07H01BANK108H09H0AH0BH0CH0DH0EH0FH10BANK210H11H12H13H14H15H16H17H11BANK318H19H1AH1BH1CH1DH1EH1FH2.2.2片内数据存储器692.2.2片内数据存储器(二)位寻址区(BitAddressableArea)(20~2FH)

MCS-51单片机的片内RAM中,20~2FH单元被开辟为位寻址区; 这些单元的每一位都具有一个自己的位地址,共168=128位。

位寻址区位地址范围为00~7FH,CPU可以对每一位直接操作。1100010128H40H41H42H43H44H45H46H47H单元地址位地址702.2.2片内数据存储器单元地址

D7D6D5D4D3D2D1D02C67666564636261602B5F5E5D5C5B5A59582A5756555453525150294F4E4D4C4B4A4948284746454443424140273F3E3D3C3B3A3938263736353433323130252F2E2D2C2B2A2928242726252423222120231F1E1D1C1B1A1918221716151413121110210F0E0D0C0B0A09082D6F6E6D6C6B6A69682007060504030201002E77767574737271702F7F7E7D7C7B7A7978内部RAM中20~2FH的位地址映射7120~2F单元的位地址区的使用: (I)在片内RAM中只有20~2FH单元的位能够进行位操作,我们经常表示为20H.0,它与位地址00H是等价的。 (II)位寻址区16个单元也可以按单元访问,所以,当位寻址区16个单元的128位未完全使用时,其剩余单元也可作为RAM单元使用。2.2.2片内数据存储器72(三)数据缓冲区(DataBufferArea)(30~7FH) (1)数据缓冲区的作用 作为数据缓冲、数据暂存、作为堆栈区使用;

这些单元只能按单元访问。(2)堆栈 堆栈是为了保护CPU执行程序的现场,在存储器中开辟了一个“先进后出”(后进先出)的区域; 堆栈的操作:入栈,出栈;操作规则:先进后出; 堆栈由堆栈指针SP管理,它始终指向栈顶位置,一般情况下,将堆栈设在30H单元之后。程序设计时,最好设在片内RAM的末端,如MOVSP,#60H,以避免堆栈向上生成时覆盖所存储的数据。2.2.2片内数据存储器732.2.3特殊功能寄存器(SFR)MCS-51芯片内部有21个可寻址的SFR(具有地址),它们离散的分布在片内RAM80H~FFH范围内,并与内RAM统一编址。

MCS-51芯片内部还有1个不可寻址的SFR——程序计数器PC。

CPU对可寻址的SFR只能采用直接寻址方式,即按单元地址访问的模式; 可寻址的SFR中部分SFR(单元地址能够被8整除)具有位寻址功能。742.2.3特殊功能寄存器

单片机的特殊功能寄存器(SFR)及其单元地址SFR符号SFR名称SFR对应单元ACC累加器E0HBB寄存器F0HPSW程序状态字寄存器D0HDPTR数据指针83H/82HSP堆栈指针81HP0P0口80HP1P1口90HP2P2口A0HP3P3口B0HIP中断优先级B8HIE中断允许控制A8HSFR符号SFR名称SFR对应单元TMODTimer工作方式89HTCONTimer控制寄存器88HTH0T0计数寄存器(H)8CHTL0T0计数寄存器(L)8AHTH1T1计数寄存器(H)8DHTL1T1计数寄存器(L)8BHSCON串行口控制寄存器98HSBUF串行口缓冲器99HPCON电源控制寄存器87H

CPU相关I/O相关中断相关定时器/计数器相关串口相关752.2.3特殊功能寄存器

特殊功能寄存器(SFR)的位地址空间

凡是SFR的地址能被8整除的SFR(单元地址的末位是0或8)都具有位寻址功能,MCS-51单片机共有11个SFR具有位寻址功能,这些寄存器(单元)的每一位都有一个位地址。位地址空间:80~FFH。 特殊功能寄存器(SFR)的位地址空间的特点: (1)SFR对应的单元地址为该SFR最低位的位地址。 (2)SFR的位寻址区地址是不连续的。762.2.3特殊功能寄存器

SFR位寻址空间地址映射SFR

D7D6D5D4D3D2D1D0ACCE7E6E5E4E3E2E1E0BF7F6F5F4F3F2F1F0单元地址PSWD7D6D5D4D3D2D1D0IPBFBEBDBCBBBAB9B8B8P3B7B6B5B4B3B2B1B0B0IEAFAEADACABAAA9A8A8P2A7A6A5A4A3A2A1A0A0SCON9F9E9D9C9B9A999898P19796959493929190TCON8F8E8D8C8B8A8988P08786858483828180908880D0E0F0CyACF0RS1RS0OV—P———PSPT1PX1PT0PX0P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0EA——ESET1EX1ET0EX0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0SM0SM1SM2RENTB8RB8TIRITF1TR1TF0TR0IE1IT1IT0IE0772.2.3特殊功能寄存器MCS-51单片机SFR的使用: (1)对于SFR以单元形式访问时,只能采用直接寻址方式。如:

MOVSBUF,AMOV99H,A

二者是等价的。 (2)对于80~FFH区间未定义的单元,用户不得使用。同样,对于未定义位地址所对应的位操作也是无效的。 (3)在编程时,最好不要采用SFR作为中间寄存器暂存中间结果。因为复位时,多数SFR被清0.782.2.4MCS-51单片机的位寻址空间

MCS-51单片机的位寻址空间由两部分组成,位地址范围为00~FFH。MCS-51位寻址空间片内RAM中20-2FH单元的128位,占用位地址范围:00~7FH;地址能被8整除的SFR具有位寻址功能,占用位地址范围:80~FFH792.2.5外部数据存储器 MCS—51系列单片机的外部数据存储器是一个独立的物理空间,外部数据存储器和外部I/O口共同占用这个空间,最大可以扩展到64K,地址范围为:0000H~FFFFH。外部数据存储器一般由静态RAM构成,简称外部RAM。(1)外部RAM和外部I/O口与单片机的连接外部RAM和外部I/O口结构映射80

一、单片机I/O的作用 单片机芯片上的输入输出口有4个,P0,P1,P2和P3。它们的作用与单片机是否扩展有较大关系:(1)8051/8751不进行存储器和I/O口扩展时

P0:I/O口;

P1:I/O口;

P2:I/O口;

P3:I/O口,也可以作为第二功能使用;当P3口某些引脚作为第二功能使用时,不可再作为I/O口线使用。如P3.0和P3.1作为RXD和TXD时,不可再作为I/O口线使用。2.3MCS-51单片机的I/O口

81(2)8031及8051/8751进行存储器和I/O口扩展时

P0:低八位地址总线/数据总线

P2:高八位地址总线

P1:I/O口

P3:I/O口或第二功能,当P3口某些引脚作为第二功能使用时,不可再作为I/O口线使用。2.3MCS-51单片机的I/O口

一、单片机I/O的作用82(一)P0.0~P0.7:双向I/O

(内置场效应管上拉)访问外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。引脚P0.X21DQCK/Q读引脚读锁存器写锁存器内部总线地址/数据控制34Vcc2.3MCS-51单片机的I/O口二、单片机I/O的工作原理2.3MCS-51单片机的I/O口21DQCK/Q读引脚=1读锁存器=0写锁存器内部总线地址/数据控制引脚P0.X34控制=0时,此脚作输入口(事先必须对它写“1”)00100截止截止=0Vcc(1)P0.0~P0.7做输入口,事先必须先写1,然后再读引脚的状态。二、单片机I/O的工作原理842.3MCS-51单片机的I/O口21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线地址/数据控制引脚P0.X34控制=0时,此脚作输出口(外接上拉电阻)00100截止截止=0Vcc

(2)P0.0~P0.7作为输出口,引脚应外接上拉电阻。二、单片机I/O的工作原理VccR(外接)输出=18521DQCK/Q读引脚=0读锁存器=0写锁存器内部总线地址/数据控制=1引脚P0.X34控制=1时,此脚作地址/数据复用口:(1)输出地址/数据=0时1011=0导通截止=0Vcc(3)P0.0~P0.7作为双向8位数据口和输出低8位地址复用口

【输出0】2.3MCS-51单片机的I/O口二、单片机I/O的工作原理862.3MCS-51单片机的I/O口(4)P0.0—P0.7作为双向8位数据口和输出低8位地址复用口【输出1】21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线引脚P0.X34控制=1时,此脚作地址/数据复用口:(2)输出地址/数据=1时1100=1截止导通=1地址/数据控制=1Vcc二、单片机I/O的工作原理872.3MCS-51单片机的I/O口

(二)P2.0—P2.7:双向I/O

(内置了上拉电阻)

外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址高8位控制引脚P2.X3内部上拉电阻Vcc二、单片机I/O的工作原理882.3MCS-51单片机的I/O口(1)P2.0—P2.7作为8位准双向I/O口使用【输出】。21DQCK/Q读引脚=1读锁存器=0写锁存器内部总线地址高8位控制

引脚P2.X控制=0时,此脚作通用输出口:输出=1时110截止3内部上拉电阻11Vcc=1=0二、单片机I/O的工作原理892.3MCS-51单片机的I/O口21DQCK/Q读引脚=1读锁存器=0写锁存器内部总线地址高8位控制

引脚P2.X控制=0时,先写1,此脚作通用输入口10截止3内部上拉电阻11Vcc=0二、单片机I/O的工作原理(2)P2.0—P2.7作为8位准双向I/O口使用【输入】。902.3MCS-51单片机的I/O口21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线地址高8位控制=1

引脚P2.X01导通3内部上拉电阻0=0=0控制=1时,此脚作高8位地址A8—A15输出口:当输出=0时二、单片机I/O的工作原理(3)P2.0—P2.7作为高八位地址总线【输出地址】。Vcc912.3MCS-51单片机的I/O口

(三)P3.0—P3.7:双功能口(内置了上拉电阻)

具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。21DQCK/Q读引脚读锁存器写锁存器内部总线第二功能输出引脚P3.X3内部上拉电阻Vcc第二功能输入4二、单片机I/O的工作原理922.3MCS-51单片机的I/O口

(1)P3.0—P3.7作为第二功能【输出RD/RW/TXD】。21DQCK/Q读引脚读锁存器=0写锁存器内部总线第二功能输出(WR,RD,TxD)引脚P3.X3内部上拉电阻Vcc4第二功能输出时,内部自动D=1111反相器二、单片机I/O的工作原理932.3MCS-51单片机的I/O口21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线第二个能输出此端自动=1引脚P3.X3内部上拉电阻Vcc

第二功能输入(RxD/T0/T1/INT0/INT1)4第二功能输入时,信号经缓冲器4直接进入内总线1110截止

(2)P3.0—P3.7作为第二功能【输入RXD/T0/INT0】。二、单片机I/O的工作原理942.3MCS-51单片机的I/O口

(3)P3.0—P3.7作为通用I/O口【输入】。二、单片机I/O的工作原理21DQCK/Q读引脚=1读锁存器=0写锁存器内部总线引脚P3.X3内部上拉电阻Vcc

第二功能输入4先写1,再读引脚1110截止第二个能输出此端自动=1952.3MCS-51单片机的I/O口

(4)P3.0—P3.7作为通用I/O口【输出】。二、单片机I/O的工作原理21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线引脚P3.X3内部上拉电阻Vcc

第二功能输入4输出1的操作1110截止1第二个能输出此端自动=1输出1962.3MCS-51单片机的I/O口

(四)P1.0—P1.7:准双向I/O口(内置了上拉电阻)21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻二、单片机I/O的工作原理972.3MCS-51单片机的I/O口

(1)P1.0—P1.7作为输出口【输出1】21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据=1时110截止=1二、单片机I/O的工作原理982.3MCS-51单片机的I/O口21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据=0时001=0导通

(2)P1.0—P1.7作为输出口【输出0】二、单片机I/O的工作原理992.3MCS-51单片机的I/O口21DQCK/Q读引脚=1读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻输入数据时,要先对其写“1”110截止

(3)P1.0—P1.7作为输入口二、单片机I/O的工作原理1002.3MCS-51单片机的I/O口21DQCK/Q读引脚=0读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻

(五)读单片机I/O口寄存器(以P1口为例)二、单片机I/O的工作原理=1101(1)驱动能力:

P0:双向,8个TTLP1、P2和P3:准双向,4个TTL

(2)作为输入口使用,必须先写1,再读引脚状态。 (3)由于P0口为内置场效应管上拉,作为输出口时,上拉的场效应截止,输出引脚与电源Vcc之间呈现开路状态,因此,为了保证输出口能够输出标准的高低电平,其输出引脚应上拉电阻。2.3MCS-51单片机的I/O口三、单片机I/O的使用1022.4MCS-51单片机的时钟电路与时序2.4.1MCS-51单片机的时钟电路时钟电路用来产生CPU工作所需的时钟控制信号。时钟的频率直接影响单片机的速度,时钟电路的质量直接影响单片机系统的稳定性。时钟电路的设计形式:内部方式和外部方式(一)内部方式:原理:借助于单片机内部电路(反相放大器)外接晶体振荡器和微调电容构成自激振荡器,提供时钟信号。

OSC:1.2M~12MHzC1、C2:5~30pF内部方式XTAL2XTAL18051C1C2OSC1032.4.1MCS-51单片机的时钟电路XTAL1XTAL2外部振荡源外部方式8051VCCR(2)外部方式直接使用外部振荡脉冲信号。(常用于多CPU系统,以保持各个CPU同步工作)外部振荡脉冲信号为满足一定的幅宽的方波,频率不大于12MHz。104

在计算机中,一条指令可分解为若干个基本的微操作,这些微操作所对应的脉冲信号在时间上有严格的先后次序,即为计算机的时序。(一)机器周期与指令周期与时序有关的周期:时钟周期、机器周期、指令周期。振荡周期(T

)为晶体振荡器(晶振)的振荡周期2.4.2MCS-51单片机的时序

机器周期(TM):CPU完成一个基本操作所用的时间。

MCS-51单片机的1个机器周期包含12个振荡周期指令周期(TI):执行一条指令所用的时间;

MCS-51:1TI=1~4TM1052.4.2MCS-51单片机的时序MCS-51单片机的机器周期(TM)状态P1相P2相TMTM1062.4.2MCS-51单片机的时序(二)典型指令的时序04XXXXXXXXXXXXXX程序存储器2000H2002H2003H2004H2005H2006H2007H2001HINCA

的机器码P1相P2相读机器码读下一个机器码,丢弃CPU执行指令INCA(PC)加1(PC)不加1(1)单字节单周期指令107

(2)双字节单周期指令2.4.2MCS-51单片机的时序2450XXXXXXXXXXXX程序存储器2000H2002H2003H2004H2005H2006H2007H2001H读机器码24读机器码50CPU执行指令ADDA,#50H(PC)加1(PC)加1(PC)加1(二)典型指令的时序读下一个指令的机器码108

(3)单字节双周期指令2.4.2MCS-51单片机的时序程序存储器A3XXXXXXXXXXXXXX2000H2002H2003H2004H2005H2006H2007H2001HCPU执行指令INCDPTR读操作码A3读下一个操作码,丢弃读下一个操作码,丢弃读下一个操作码,丢弃(PC)加1(PC)不加1(PC)不加1(PC)不加1(二)典型指令的时序1092.4.2MCS-51单片机的时序(4)单片机访问外部数据存储器指令的时序CPU执行访问外部数据存储器指令的时序(二)典型指令的时序1102.5MCS-51单片机的复位电路

2.5.1单片机复位及复位状态

复位是单片机的一个重要的工作状态。在单片机开始工作时需要上电复位、在运行过程中发生了故障或意外情况需要强制复位等。

复位目的是使单片机或系统中的其它部件处于某种确定的初始状态。 MCS-51单片机复位的条件:在振荡器运行的情况下,在RESET引脚上保持2个以上机器周期(24个振荡周期)的高电平,就可以使单片机可靠地复位。1112.5MCS-51单片机的复位电路特殊功能寄存器及其复位时的内容寄存器内容备注寄存器内容备注PC0000HCPU从0单元执行程序TH100H清0DPTR0000H清0TL100H清0,定时器/计数器T1的初值为0ACC00H清0TCON00H关闭T0、T1B00H清0TMOD00HT0、T1为定时模式方式0、非门控方式SP07H堆栈从08H单元开始IPXXX00000B全部中断为低优先级PSW00H当前工作寄存器区BANK0IE0XX00000B禁止所有中断P0~P3FFH引脚输出全为1,可直接作为输入口使用SBUF不确定随机数TH000H清0SCON00H方式0、禁止接收TL000H清0,定时器/计数器T0的初值为0PCON0XXXXXXXB清0/通信波特率不加倍CPUI/0定时器/计数器定时器/计数器中断系统串行口1122.5MCS-51单片机的复位电路

(1)复位对片内RAM(00~7FH)的影响:在单片机工作过程中CPU复位时,不会影响MCS-51片内RAM(00~7FH)的状态。

存储在位寻址区20~2FH的标志位状态不变,但是,R0~R7的内容不一定是复位以前的R0~R7,因为PSW被清0了,此时R0~R7代表的是00~07的内容。(2)复位对SFR(80~FFH)的影响:

单片机工作过程中CPU复位时,大多数SFR被清0,程序设计时必须注意。单片机工作过程复位对片内RAM和SFR的影响:1132.5MCS-51单片机的复位电路 MCS-51系列单片机的复位是由外部的复位电路实现的。 在实际应用中,单片机通常采用2种形式的复位电路:上电自动复位电路和按钮开关复位电路。设计要求:在RESET(RST)端维持1~10ms的高电平。

2.5.1单片机复位及复位状态

上电自动复位电路

按钮开关及上电自动复位电路

114本章内容介绍完毕!THANKYOU!115第3章MCS-51单片机的指令系统本章内容MCS-51单片机指令系统的格式MCS-51单片机寻址方式指令系统的分析本章采用简单例程讲解解汇编语言指令功能1163.1指令格式指令:即命令,人们给计算机的命令指令有两种表示方式:机器码——机器语言(机器能直接识别)助记符——汇编语言(供设计人员使用)机器码和助记符一一对应,汇编语言可汇编为机器语言,机器语言可反汇编为汇编语言。指令格式:汇编语言格式[标号:]操作码助记符[操作数];[注释]117

START:MOVA,#20H;把数20H送入累加器A中

INCA;(A)加一3.1指令格式汇编语言指令的几种形式: (1)没有操作数:RET,RETI,NOP

(2)有1个操作数:INCA,DEC20H,CLRC,SJMPNEXT

(3)有2个操作数:MOVR7,#DATA,ADDA,R0,DJNZR2,LOOP

(4)有3个操作数:CJNEA,#20H,NEQ1183.1指令格式机器语言的几种形式: (1)单字节指令: INCDPTR指令机器代码:A3ADDA,R7指令机器代码:2F

(2)双字节指令: SUBBA,2BH指令机器代码:952BORLC,/27H指令机器代码:A027

(3)三字节指令:

MOV20H,#00H指令机器代码:752000LJMP2000H指令机器代码:0220001193.2MCS-51单片机的寻址方式寻址方式:CPU执行指令时获取操作数的方式MCS-51单片机有7种不同的寻址方式: (1)立即寻址方式 (2)直接寻址方式 (3)寄存器寻址方式 (4)寄存器间接寻址方式 (5)变址寻址方式 (6)位寻址方式 (7)相对寻址方式1203.2MCS-51单片机的寻址方式(1)立即寻址方式 在指令中直接给出了参与运算的操作数。

MOVA,#20H(2)直接寻址方式 指令中给出了参与运算的操作数所在单元的地址或所在位的位地址

MOVA,20HMOV27H.1,C

直接寻址方式的使用范围:

1)单元地址:00~7FH、21个SFR 2)对SFR的访问只能采用直接寻址方式1213.2MCS-51单片机的寻址方式

(3)寄存器寻址方式 指令指出了参与运算的操作数所在的寄存器。

MOVA,R0

寄存器寻址方式中的寄存器:

1)工作(通用)寄存器R0~R7、DPTR 2)累加器A、寄存器B(仅在乘除法时)和布尔累加器C

122(4)寄存器间接寻址方式在指令中,指出了存放参与运算的操作数所在单元地址的寄存器。

MOVA,@R0

3.2

MCS-51

单片机的寻址方式地址寄存器CPU?!!操作数在哪儿?它的地址在R0中

温馨提示

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

评论

0/150

提交评论