版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用第一章 单片微型计算机概述及预备知识 1.1 单片机的发展历史和发展趋势 1.2 计算机的数制和码制及其数制间转换 1.3 计算机中数的表示方法 1.4 计算机的二进制数运算 1.5 常用的单片机产品 1.6 单片机的应用与选择 电子计算机是一种能够高速而精确地进行数据处理的机器。计算机的发展分为四个时代: 第一代计算机是电子管时代 1946年美国宾夕法尼亚大学发明的ENIAC,用了18800只电子管,150平方米、30t、100kw、运算速度为5000次/秒。第二代计算机是晶体管时代 1957年美国研制了第一台晶体管计算机TRANSACS- 1000;主存贮器为磁芯存贮器,辅
2、存贮器为磁盘、软件已开始使用高级程序设计语言和操作系统 。一、计算机的发展概况第一章 单片微型计算机概述及预备知识第四代计算机是大规模、超大规模集成电路时代 1971年IBM370 主要存贮器为半导体存贮器第三代计算机是中、小规模集成电路时代 1964年IBM推出的IBM360第一章 单片微型计算机概述及预备知识第一章 单片微型计算机概述及预备知识电子计算机是模仿人脑部分功能的一种工具,故俗称“电脑”。设想一下:人用算盘来计算2436+3748-4569 的过程,把算盘记为R,则计算过程为:二、计算机的系统组成5、记录(R)结果6、停止计算1、0 R2、2436 R4、(R)- 4569 R3
3、、(R)+3748 R第一章 单片微型计算机概述及预备知识 若用电子计算机模拟上述解题过程,计算机必须具备以下条件:1、机器内必须有相当于算盘的运算器;2、为了保存和记录原始数据、解题程序和运算的中间结果,机器内必须有容量足够大的存贮器;3、必须按照解题程序指挥、控制各个部件协同工作的控制器;4、必须具备将数据和程序送入机器内部的输入设备和给出计算结果的输出设备。第一章 单片微型计算机概述及预备知识运算器、控制器、存贮器、输入/输出设备是计算机赖以工作的物质基础,称为硬件。当然只有硬件,而没有必要的程序,则计算机什么也干不了的,计算机中的程序称为软件。指令执行某种操作的命令。程序完成某种功能的
4、一组指令。程序设计编制解题程序的过程。第一章 单片微型计算机概述及预备知识1.1 单片机的发展历史和发展趋势一、单片机的发展历史第一阶段(19741976): 单片机采用双片形式,即需另加其它外围电路才能构成完整的微型计算机。 eg:仙童公司的F8+3851第二阶段(19761978): 低性能的单片机阶段。单片机由一片芯片构成,性能低。eg: MCS-48(Intel);8048,8035(I/O少,存贮器容量小);第一章 单片微型计算机概述及预备知识第三阶段(1978): 高性能单片机阶段。CPU、并行口、串行口、定时器、RAM、ROM、A/D、多级中断处理,RAM、 ROM容量大,I/O
5、种类数量多,寻址范围大。 eg: MCS-518031、Motorona6801、ZilogZ8第四阶段(1982) 8位单片机巩固发展及16位单片机推出。 eg: MCS-518031 , MCS-968096(8098)第一章 单片微型计算机概述及预备知识二、单片机的发展趋势(一)CPU功能的增强(二)内部资源增多 1、加大存贮容量。1、双CPU提高处理能力。2、增加数据总线宽度。 NEC PD7800系列,内部采用16位数据总线。3、采用流水线结构。指令以队列形式出现在CPU中。 4、串行总线。SPI、I2C 用三条数据总线代替8位数据总线,减少引线,降低成本。第一章 单片微型计算机概述
6、及预备知识2、片内EPROM开始EEPROM化。鉴于EEPROM中数 据写入后就能永久保存,因此,有的单片机将它 作为片内RAM使用,有的甚至作片内通用寄存器。3、I/O数量、能力增强(驱动能力,传输速度、控制能 力)(四)低功耗化(三)外围电路内装化第一章 单片微型计算机概述及预备知识1.2 计算机的数制和码制及其数制间转换一、计算机的数制 逢r 进位,数的第i个数位对应于一个固定的值rn, rn 称为该位的“权”。小数点左面各位的权是一个基数r 的正次幂,小数点右面各位的权是一个基数r 的负次幂。常用的数制有:二进制(Binary) 、八进制(Octadic) 、十进制(Decimal)和
7、十六进制(Hexadecimal),分别用B、O、D和H表示。举例说明eg1:十进制数 r =10其权为:,102,101,100,101,102,(987.32)10= 9102 + 8101 + 7100 + 310-1 + 210-2 第一章 单片微型计算机概述及预备知识eg2:二进制数 r =2其权为:,22,21,20,2-1,2-2,(1011.101)2 =123 +022 + 121 + 1 20 + 1 21 + 022+ 1 23eg3:八进制数 r =8其权为:,82,81,80,8-1,8-2,(70613.304)8 =784 +083 + 682 + 1 81 +
8、3 80 + 3 81+ 082 + 4 83eg4:十六进制数 r =16其权为:,162,161,160,16-1,16-2,(-A0.8F)16 = -(10161 +0160 + 8161 + 15162第一章 单片微型计算机概述及预备知识二、计算机的码制 BCD(Binary Coded Decimal)码为用二进制表示的十进制数。 常用二进制编码的十进制数有: 8421码、2421码、5211码 、余3码eg:7(0111、1101),(1100、1011) ASCII码(American Standard Code for Information Interchange),即美国
9、信息交换标准码。ASCII码为一种8位代码,但采用7位代码编码(一般其最高位为0),共可编码为128个字符编码。 表示的十进制数不唯一常用第一章 单片微型计算机概述及预备知识三、各数制间的转换 1、直接相乘法数M是r 进制数,转换成十进制数,方法是:将M 的各位数字用十进制数字来表示,然后作乘法和加法。好麻烦!第一章 单片微型计算机概述及预备知识2、余数法此方法适合于整数部分转换。数M 是r 进制数,转换成 t 进制数的整数,除以t , 取余数。eg:十进制数62转换为二进制数同理:(62)10=(76)8 8 62 6 7(62)10=(3E)16 16 62 E 32 622 312 15
10、 2 7 2 3 2 1 0011111低位高位 (62)10=(111110)2第一章 单片微型计算机概述及预备知识3、取整法此方法适合于小数部分转换。数M 是 r 进制数,转换成 t 进制数的小数,乘以t , 取整数。eg:十进制数转换为二进制数同理: () 10=()8= 0.(38-1) 0.3758=3.000 整数为3() 10=()16= 0.(616-1) 0.37516=6.000 整数为60.3752=0.75 整数为0 高位 0.75 2=1.5 整数为1 0.5 2=1.0 整数为1 低位 (0.375)10=(0.011)2 = 0.(02-1+ 12-2+12-3)
11、第一章 单片微型计算机概述及预备知识eg:转换为十六进制数0.5316=8.48 整数为80.4816=7.68 整数为70.6816=10.88 整数为A16 67616 42 416 2 A 0 2 ()10 =()164、二进制与十六进制间的转换1 1 1 0 1 0 1 .1 0 1 0 0 1 1 1 (75.A7)16 (5A.3C)16 0 1 0 1 1 0 1 0 .0 0 1 1 1 1 0 0第一章 单片微型计算机概述及预备知识1.3 计算机中数的表示方法一、真值和机器数一个数是由符号和数值两部分组成的。 eg: +74 = +1001010 01001010 -74 =
12、 -1001010 11001010 真值机器数机器本身只能表示0,1,不能表示 +、-,故一般用“ 0 ”表示“ + ”,用“ 1 ”表示“ - ”。真值: 直接用正号“ + ”和负号“ - ”来表示的二进制数。机器数:一个数在机器中的表示形式。 二、带符号数的表示 Dn-1 Dn-2 . D0 符号位 数 值 部 分第一章 单片微型计算机概述及预备知识eg: 11001010 = -(26 + 23 +21 )= -74 机器数最高位为符号位,用“ 0 ”表示“ + ”,用“ 1 ”表示“ - ”。其余的(n-1)位为数值部分。三、无符号数的表示无符号数没有符号位,机器的全部有效位都用来表
13、示数的大小。Dn-1Dn-2D0(11001010 )2= (202)10例如:D7 D6 D010011001第一章 单片微型计算机概述及预备知识定点数:小数点固定。浮点数:小数点不固定(位置不固定)随阶码浮动。四、数的定点和浮点表示1、定点表示法符号.数值部分或符号数值部分.小数点固定在数值部分的最高位之前或最低位之后。 eg:1.101011或1101011.2、浮点表示法 阶符阶码数符尾数决定小数点位置第一章 单片微型计算机概述及预备知识N=S*2PS 二进制小数,称“尾数”,S 0P 称为数N的阶码,为非负正数2 阶码“底”尾数符阶码数符五、原码、补码、反码
14、原码、补码、反码都是带符号数在机器中的表示方法1、原码原码把真值的符号部分用0或1表示。 N1 = +1001010 N 原 = 01001010 N2 = -1001010 N 原 = 11001010第一章 单片微型计算机概述及预备知识2、补码模数 一个计量器的容量。eg:一个n位二进制数它的容量为2n ,所以它的模数为2n。同余 如果两个整数a、b,当用某一个正整数M(模)去除所得余数相等时,则称 a 和 b 对模 M 是同余的。eg:16 = 4(mod 12)即:16和4对12是同余,即16点钟和4点钟在以12为模的钟面上,其指示是一样的。若x = + xn-2 xn-3x1x0则:
15、x补 = 2n+x = 0 xn-2 xn-3x1x0第一章 单片微型计算机概述及预备知识若x = - xn-2 xn-3x1x0则:x补 =1xn-2 xn-3x1x0+1按位取反加1x补=x0 x 2n-12n+x-2n-1 x 0(mod 2n)当x为正数时,补码与原码相同。当x为负数时, 2n+x= 2n|x|性质:x+y补= x补 + y补 x -y补= x补 - y补 当x为纯小数时,x = x-1x-2x-n-1第一章 单片微型计算机概述及预备知识3、反码用0代替符号位符号位为1,其它位按位取反x反=0 xn-2 xn-3x1x0 0 x 2n-11xn-2 xn-3x1x0 -
16、2n-1 x 01.4 计算机的二进制数运算一、算术运算 1、加法运算二进制加法法则为:0+0 = 0;1+0 = 0+1 = 1;1+1 = 10 ;(向邻近高位有进位)1+1+1 = 11 ;(向邻近高位有进位) 第一章 单片微型计算机概述及预备知识例:两个二进制数X=10110110B,Y=11011001B,试求X+Y。解:X+Y可写成如下竖式: X 10110110B Y 11011001B X+Y 110001111B被加数 加数 和 X + Y = 10110110B + 11011001B = 110001111B 两个二进制数相加时要注意低位的进位,两个 8 位二进位数的和最
17、大不会超过 9 位。 第一章 单片微型计算机概述及预备知识二进制减法法则为:0 0 = 0;11 = 0;1 0 = 1;01 = 1;(向邻近高位借1当作2) 例:两个二进制数X= 10010111B,Y= 11011001B,试求XY。解:由于Y X,故有XY = (Y X),相应竖式为: 被减数 Y 11011001B 减数 X 10010111B 差数 YX 01000010B XY = 01000010B2、减法运算第一章 单片微型计算机概述及预备知识 XY=1101B 1011B = 10001111B 3、乘法运算二进制加法法则为:10 = 01 = 0;11 = 1;例:两个4
18、位二进制数X = 1101B和Y = 1011B,试用手工算法求出X Y之值。 被乘数 1 1 0 1 B 乘数 1 0 1 1 B 1 1 0 1 1 1 0 1 0 0 0 0 + 1 1 0 1 乘积 1 0 0 0 1 1 1 1 B 第一章 单片微型计算机概述及预备知识除法是乘法的逆运算。与十进制类似,二进制除法也是从被除数最高位开始,查找出够减除数的位数,并在其最高位处上商 1 和完成它对除数的减法运算,然后把被除数的下一位移到余数位置上。若余数不够减除数,则上商 0,并把被除数的再下一位移到余数位置上。若余数够减除数,则上商 1,余数减除数。4、除法运算例: 设X = 10101
19、011B,Y = 110B, 试求XY之值。解:X Y的竖式是: XY = 10101011B110B = 11100B 余11B第一章 单片微型计算机概述及预备知识 逻辑乘又称逻辑与,常用“”运算符表示,逻辑乘运算法则为: 00 = 0; 10 = 01 = 0; 11 = 1 两个二进制数进行逻辑乘,其运算方法类似于二进制算术运算。二、逻辑运算1、逻辑乘运算XY = 01100000B 解:XY的运算竖式为: 01100110B 11110000B 01100000B例: 已知X = 01100110B,Y = 11110000B,试求XY的值。第一章 单片微型计算机概述及预备知识2、逻辑
20、加运算 逻辑加又称逻辑或,常用算符“”表示,逻辑加的运算规则为:00 = 0;10 = 01 = 1;11 = 1例: 已知X = 01100110B,Y = 11110000B,试求XY的值。解:XY的运算竖式为: 01100110B 11110000B 11110110BXY=11110110B第一章 单片微型计算机概述及预备知识3、逻辑非运算4、逻辑异或运算 逻辑异或又称为半加,是不考虑进位的加法,常采用“ ” 算符表示。逻辑异或的运算规则为: 0 0 = 1 1 = 0; 1 0 = 0 1 = 1例: 已知X = 10110110B,Y = 11110000B,试求X Y的值。解:X
21、 Y的运算竖式为: 10110110B 11110000B 01000110B X Y = 10110110B 11110000B = 01000110B 逻辑非运算又称逻辑取反。运算规则为: 0 = 1;1 = 0例: 已知X = 11000011B,试求X的值。解:X = 11000011B,X = 00111100B第一章 单片微型计算机概述及预备知识1.5 常用的单片机产品 目前生产单片机的厂商主要有Intel公司、Motorola公司、Philips公司、ATMEL公司、WinBond公司、Microchip公司、AMD公司、Zilog公司等,产品型号规格众多,性能各具特色。 型 号
22、ROM/ EPROM RAM时钟速度(MHz)I/O线定时器/计数器串行口中断源PCA通道A/D通道保密位省电方式8031AH128B1232215008051AH4KB128B12322150008751BH4KB128B12322150028032AH256B1232316008052AH8KB256B12323160008752BH8KB256B123231600287C514KB128B12243221500380C32256B1224323160080C528KB256B12243231600187C528KB256B12243231600380C5416KB256B12243231
23、600187C5416KB256B12243231600387C5832KB256B12243231600380C51GB256B12,1648311510887C51GB8KB256B12,164831151083第一章 单片微型计算机概述及预备知识1.6 单片机的应用与选择一、单片机的特点 (1)小巧灵活、成本低、易于产品化 (2)可靠性高、适用的温度范围宽 (3)易扩展、控制功能强 (4)指令系统相对简单,较易掌握 二、单片机的应用领域 (1)在智能仪表中的应用 (2)在机电一体化中的应用 (3)在实时控制中的应用 (4)在军工领域的应用 (5)在分布式多机系统中应用 (6)民用电子产品
24、中的应用 第一章 单片微型计算机概述及预备知识三、单片机应用系统的结构1、基本系统 2、扩展系统 复位时钟单片机输入输出设备 单片机+输入/输出设备无扩展的ROM,RAM,I/O等。 单片机内部资源有限,要求较高的单片机系统需外扩展ROM、RAM、I/O,甚至A/D、D/A等。复位时钟电源单片机ROMRAMA/D串行接口并行接口D/ABUS单片机原理及应用第二章 MCS-51系列单片机系统结构 2.1 总体结构 2.2 MCS51单片机的外部引脚 2.3 MCS51单片机的时钟和时钟电路 2.4 MCS51 CPU时序 2.5 MCS51单片机的复位和复位电路 2.6 MCS51单片机的存贮器
25、 8位CPU; 4KB字节掩膜ROM程序存贮器; 128字节内部RAM数据存贮器; 2个16位的定时器/计数器; 1个全双工的异步串行口,4个8位并行I/O口; 5个中断源、2级中断优先级的中断控制器; 时钟电路,外接晶振和电容可产生MHz12MHz的时钟频率。 2.1 总体结构一、8051的总体结构1、8051的内部资源第二章 MCS-51系列单片机系统结构 第二章 MCS-51系列单片机系统结构 2、8051的结构框图 VCCVSSXTAL1XTAL2 微处理器(运算部件) CPU 控制部件数据存贮器RAM 128BP0口P2口P3口程序存贮器 4KB特殊功能寄存器(SFR)中断系统定时器
26、0定时器1串行口P1口ROM/EPROM外部中断8888PSENEAALERESETB图2-1 8031、8051及8751结构框图第二章 MCS-51系列单片机系统结构 MCS51系列单片机的所有产品都含有8051除程序存贮器外的基本硬件,都是在8051的基础上增减部分资源(程序存贮器、数据存贮器、I/O口、定时/计数器及一些其它特殊部件)。 微处理器(运算部件) CPU 控制部件数据存贮器128B RAM P0口P2口P3口程序存贮器 4KB特殊功能寄存器(SFR)中断系统定时器0定时器1串行口P1口ROM/EPROM外部中断888PSENEAALERESETBXTAL1XTAL2VCCV
27、SS图2-2 MCS-51系列单片机结构框图定时器2特殊I/O特殊部件128B RAMnKB8二、MCS-51系列单片机的一般结构第二章 MCS-51系列单片机系统结构 2.2 MCS51单片机的外部引脚制造工艺为HMOS的系列单片机大都采用40条引脚的双列直插式封装(DIP). P0 I/OP2 I/OI/O P1I/O P3VccALEPSENEARSTXTAL1XTAL2Vss图23b 逻辑符号803180518751图23a MCS-51引脚图P1.1 2P1.2 3P1.3 4P1.4 5P1.5 6P1.6 7P1.7 8RST/VPD 9RxD P3.0 10TxD P3.1 1
28、1INT0 P3.2 12T0 P3.4 14WR P3.6 16RD P3.7 17XTAL2 18XTAL1 19Vss 2039 P0.038 P0.137 P0.236 P0.335 P0.434 P0.533 P0.632 P0.731 EA/Vpp29 PSEN28 P2.727 P2.626 P2.525 P2.424 P2.340 Vcc803180518751P1.0 1T1 P3.5 15INT1 P3.3 1322 P2.121 P2.023 P2.230 ALE/PROG第二章 MCS-51系列单片机系统结构 一、电源及时钟引脚 Vcc(40脚):接+5V电源; Vss
29、(20脚):接地 ; XTAL1(19脚):接外部晶体的一个引脚; XTAL2(18脚):接外部晶体的另一端; 时钟引脚(18、19脚)外接晶体时与片内的反相放大器构成一个振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。 图23a MCS-51引脚图P1.1 2P1.2 3P1.3 4P1.4 5P1.5 6P1.6 7P1.7 8RST/VPD 9RxD P3.0 10TxD P3.1 11INT0 P3.2 12T0 P3.4 14WR P3.6 16RD P3.7 17XTAL2 18XTAL1 19Vss 2039 P0.038 P0.137 P0.236 P0.335
30、 P0.434 P0.533 P0.632 P0.731 EA/Vpp29 PSEN28 P2.727 P2.626 P2.525 P2.424 P2.340 Vcc803180518751P1.0 1T1 P3.5 15INT1 P3.3 1321 P2.022 P2.123 P2.230 ALE/PROG第二章 MCS-51系列单片机系统结构 二、控制引脚 RSTVPD(9脚) 当振荡器运行时,在此引脚加上两个机器周期的高电平将使单片机复位(RST) ; ALEPROG(30脚) 当单片机访问外部存贮器时,ALE(地址锁存允许)输出脉冲的下降沿用于锁存16位地址的低8位。即使不访问外部存贮
31、器,ALE端仍有周期性正脉冲输出,其频率为振荡器频率的16; PSEN(29脚) 此输出为访问外部程序存贮器的读选通信号; 30 ALE/PROG23 P2.222 P2.121 P2.0图23a MCS-51引脚图P1.1 2P1.2 3P1.3 4P1.4 5P1.5 6P1.6 7P1.7 8RST/VPD 9RxD P3.0 10TxD P3.1 11INT0 P3.2 12T0 P3.4 14WR P3.6 16RD P3.7 17XTAL2 18XTAL1 19Vss 2039 P0.038 P0.137 P0.236 P0.335 P0.434 P0.533 P0.632 P0.
32、731 EA/Vpp29 PSEN28 P2.727 P2.626 P2.525 P2.424 P2.340 Vcc803180518751P1.0 1T1 P3.5 15INT1 P3.3 13第二章 MCS-51系列单片机系统结构 30 ALE/PROG23 P2.222 P2.121 P2.0图23a MCS-51引脚图P1.1 2P1.2 3P1.3 4P1.4 5P1.5 6P1.6 7P1.7 8RST/VPD 9RxD P3.0 10TxD P3.1 11INT0 P3.2 12T0 P3.4 14WR P3.6 16RD P3.7 17XTAL2 18XTAL1 19Vss 2
33、039 P0.038 P0.137 P0.236 P0.335 P0.434 P0.533 P0.632 P0.731 EA/Vpp29 PSEN28 P2.727 P2.626 P2.525 P2.424 P2.340 Vcc803180518751P1.0 1T1 P3.5 15INT1 P3.3 13 EAVpp(31脚) 当EA端保持高电平时,单片机访问的是内部程序存贮器(对8051、8751来说),但当PC(程序计数器)值超过某值(如8751内部含有4KB EPROM,值为0FFFH)时,将自动转向执行外部程序存贮器内的程序。当EA端保持低电平时,则不管是否有内部程序存贮器而只访问外
34、部程序存贮器 。第二章 MCS-51系列单片机系统结构 三、输入输出引脚 P0口(PP) 为双向8位三态IO口,当作为I/O口时,可直接连接外部I/O设备。它是地址总线低8位及数据总线分时复用口,可驱动8个TTL负载。一般作为扩展时地址/数据总线; P1口(PP) 为8位准双向IO口,可定义为输入线或输出线(作为输入时,口锁存器必须置1),可驱动4个TTL负载;30 ALE/PROG23 P2.222 P2.121 P2.0图23a MCS-51引脚图P1.1 2P1.2 3P1.3 4P1.4 5P1.5 6P1.6 7P1.7 8RST/VPD 9RxD P3.0 10TxD P3.1 1
35、1INT0 P3.2 12T0 P3.4 14WR P3.6 16RD P3.7 17XTAL2 18XTAL1 19Vss 2039 P0.038 P0.137 P0.236 P0.335 P0.434 P0.533 P0.632 P0.731 EA/Vpp29 PSEN28 P2.727 P2.626 P2.525 P2.424 P2.340 Vcc803180518751P1.0 1T1 P3.5 15INT1 P3.3 13第二章 MCS-51系列单片机系统结构 P2口(PP) 为8位准双向IO口,当作为I/O口时,可直接连接外部I/O设备。它是与地址总线高8位复用,可驱动4个TTL负
36、载。一般作为扩展时地址总线的高8位 ,可驱动4个TTL负载。 P3口(PP) 为8位准双向IO口,是双功能复用口,可驱动4个TTL负载。 30 ALE/PROG23 P2.222 P2.121 P2.0图23a MCS-51引脚图P1.1 2P1.2 3P1.3 4P1.4 5P1.5 6P1.6 7P1.7 8RST/VPD 9RxD P3.0 10TxD P3.1 11INT0 P3.2 12T0 P3.4 14WR P3.6 16RD P3.7 17XTAL2 18XTAL1 19Vss 2039 P0.038 P0.137 P0.236 P0.335 P0.434 P0.533 P0.
37、632 P0.731 EA/Vpp29 PSEN28 P2.727 P2.626 P2.525 P2.424 P2.340 Vcc803180518751P1.0 1T1 P3.5 15INT1 P3.3 13第二章 MCS-51系列单片机系统结构 2.3 MCS51单片机的时钟和时钟电路单片机的时钟产生方法有内部时钟方式和外部时钟方式两种,大多数单片机应用系统采用内部时钟方式。 它控制着计算机的节奏。MCS-51单片机内有一个反相放大器组成的振荡器,振荡频率主要由外接的石英晶振确定。一般石英晶振的振荡频率为12MHz 或 MHz;1.2MHz12MHz。一般:C01、C02 均为30pF (
38、20 80pF);fosc:12,11.059MHzNMOS、CMOS型单片机CMOS型单片机外部时钟电路输入接线图NMOS型单片机外部时钟电路输入接线图第二章 MCS-51系列单片机系统结构 2.4 MCS51 CPU时序 CPU的工作是不断地取指令和执行指令,以完成数据的处理、传送和输入/输出操作。CPU取出一条指令至该指令执行完所需的时间称为指令周期。 指令周期是以机器周期为基本单位的,是机器周期的整数倍。 一个机器周期包含12个时钟周期(S1P1、S1P2、S2P1、S2P2、S6P1、S6P2)。时钟周期: 时钟脉冲的间隔。 一般情况下算术逻辑操作发生在时相P1期间,而寄存器至寄存器
39、之间的数据传送发生在时相P2期间。 引脚ALE输出信号为MCS51扩展系统的外部存贮器地址低8位的锁存信号,在访问外部程序存贮器的周期内,ALE信号有效两次 (S1P2至S2P1和S4P2至S5P1输出两个正脉冲);而在访问外部数据存贮器的机器周期内,ALE信号有效一次(只在S1P2和S2P1期间产生一个正脉冲)。 第二章 MCS-51系列单片机系统结构 (a)第二章 MCS-51系列单片机系统结构 2.5 MCS51单片机的复位和复位电路复位电路:使CPU和系统中的其它部件都处于一个确定的初始状态,并从这个初始状态开始工作。上电复位电路上电复位和开关电路系统复位电路(b)复位原理:使RST引
40、脚为足够长的高电平时间。第二章 MCS-51系列单片机系统结构 表21 复位后的内部寄存器状态寄存器 复位状态寄存器 复位状态 PC 0000H ACC 00H B 00H PSW 00H SP 07H DPTR 0000H P0P3 0FFH IP (00000) IE (000000) TMOD 00H TCON 00H TH0 00H TL0 00H TH1 00H TL1 00H SCON 00H SBUF () PCON (00000) RST变为低电平后,退出复位状态,CPU从初始状态开始工作。CPU复位操作不影响片内RAM的内容。第二章 MCS-51系列单片机系统结构 2.6 M
41、CS51单片机的存贮器MCS51系列单片机有五个独立的存贮空间: 64KB 程序存贮器空间(0 0FFFFH) 64KB 外部数据存贮空间(0 0FFFFH) 256B 内部RAM(0 0FFH); 128B内部特殊功能寄存器(80 0FFH) 位寻址空间(0 0FFH)包含位寻址地址一、程序存贮器地址指针为16位的程序计数器PC,64KB地址空间,包含内部程序存贮器和外部程序存贮器两部分。 特殊功能寄存器只能用直接寻址方式,内部数据存贮器区80H0FFH单元只能用寄存器间接寻址方式。地址重叠问题MOV,MOVX第二章 MCS-51系列单片机系统结构 EA=1(VCC 5V),PC值大于某值(
42、由容量决定)为访问外部程序存贮器;PC值小于某值为访问内部程序存贮器。EA=0(VSS 地),内部程序存贮器被忽略。第二章 MCS-51系列单片机系统结构 二、外部RAM和I / O MCS51的外部数据存贮器(RAMIO)空间为64KB字节(地址为 0000H0FFFFH),一般通过16位的数据指针DPTR来访问,且外部RAM和外部I/O的地址安排是统一编址的,CPU对其有相同的操作功能。 00H7FH80HFFH0000HFFFFH内部WRRDSFR外部第二章 MCS-51系列单片机系统结构 三、内部RAM数据存贮器内部RAM数据存贮器可划分为三个区域:工作寄存区 00H1FH(R0R7)
43、 位寻址区 20H2FH 堆栈和数据缓冲区 30H7FH 0 0 0区 00H07H 0 1 1区 08H0FH 1 0 2区 10H17H 1 1 3区 18H1FH CPU当前使用的工作寄存器区由程序状态字PSW的 3、4位决定。位寻址区16个单元的每一位都有一个位地址(16*8)。在实际应用中,往往需要一个后进先出(LIFO)的RAM缓冲器用于保护CPU的现场,这种后进先出的缓冲器称之为堆栈。堆栈的栈顶位置由堆栈指针SP确定。第二章 MCS-51系列单片机系统结构 五、特殊功能寄存器MCS51内部的I / O口锁存器以及定时器、串行口、中断等各种控制寄存器和状态寄存器都称为特殊功能寄存器
44、。 地址 80H0FFH 见特殊功能寄存器地址表。第二章 MCS-51系列单片机系统结构 表25 特殊功能寄存器列表标 示 符名 称地 址ACCBPSWSPDPTRP0P1P2P3IPIETMODTCON*T2CONTH0TL0TH1TL1*TH2*TL2*RLDH*RLDLSCONSBUFPCON累加器B寄存器程序状态字堆栈指针数据指针(包括DPH和DPL)I/O口0I/O口1I/O口2I/O口3中断优先级控制中断允许控制定时器/计数器工作方式控制定时器/计数器控制定时器/计数器2控制定时器/计数器0定时常数(高位字节)定时器/计数器0定时常数(低位字节)定时器/计数器1定时常数(高位字节)
45、定时器/计数器1定时常数(低位字节)定时器/计数器2定时常数(高位字节)定时器/计数器2定时常数(低位字节)定时器/计数器2自动再装载(高位字节)定时器/计数器2自动再装载(低位字节)串行口控制串行数据接收、发送缓冲器电源控制0E0H0F0H0D0H81H83H和82H80H90H0A0H0B0H0B8H0A8H89H88H0C8H8CH8AH8DH8BH0CDH0CCH0CBH0CAH98H99H87H第二章 MCS-51系列单片机系统结构 D7D6D5D4D3D2D1D0CyACF0RS1RS0OVF1PPSW Cy():进位标志,又是布尔处理机的累加器C。在执行某些算术和逻辑指令时,数据
46、操作结果最高位有进位输出(加法时)或借位输入(减法时),则置位Cy ,否则清Cy 。 AC(PSW.6):辅助进位标志,又称半进位标志。当进行加减法操作而产生由低4位向高4位进位(加法)或借位(减法)时,则置位AC,否则清AC。 F0、F1(、):用户标志。第二章 MCS-51系列单片机系统结构 OV():溢出标志。溢出标志位常用于补码运算,当有符号的两个数运算结果超出了目的寄存器所能表示的带符号数的范围(128+127)时置位OV。即当操作结果有进位进入最高位但最高位没有产生进位,或者最高位产生进位而低位没有向最高位进位,则置位OV,否则清OV。D7D6D5D4D3D2D1D0CyACF0R
47、S1RS0OVF1PPSW 01111111+ 0111111111111110 01111000+ 0110010011011100 10000000+ 10000000100000000 10001000+ 10011100100100100方法:如果位6有进位输出而位7没有或者位7有进位输出而位6没有则置位OV。eg: (A)= 05H 00000101 P=0 (A)= 85H 10000101 P=1P():寄偶标志。表示累加器ACC的值二进制表示时1的个数,若1的个数为寄数,则置位P,否则清P。 第二章 MCS-51系列单片机系统结构 eg: (A)=00001110B P=1 注
48、意:ACC中1的个数为寄数并不能表示ACC的值为寄数。第二章 MCS-51系列单片机系统结构 六、位存贮器 20H2FH单元以及特殊功能寄存器中地址为8的倍数的特殊功能寄存器可以位寻址。其每一位都有一个字节地址。地 址位 地 址D7D6D5D4D3D2D1D020H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH07H0FH17H1FH27H2FH37H3FH47H4FH57H5FH67H6FH77H7FH06H0EH16H1EH26H2EH36H3EH46H4EH56H5EH66H6EH76H7EH05H0DH15H1DH25H2DH35H3DH45
49、H4DH55H5DH65H6DH75H7DH04H0CH14H1CH24H2CH34H3CH44H4CH54H5CH64H6CH74H7CH03H0BH13H1BH23H2BH33H3BH43H4BH53H5BH63H6BH73H7BH02H0AH12H1AH22H2AH32H3AH42H4AH52H5AH62H6AH72H7AH01H09H11H19H21H29H31H39H41H49H51H59H61H69H71H79H00H08H10H18H20H28H30H38H40H48H50H58H60H68H70H78H第三章MCS51指令系统3.1 汇编语言指令格式 3.1.1 汇编语言格式
50、3.1.2 汇编伪指令3.2 MCS-51的寻址方式3.3 MCS-51指令系统 3.3.1 数据传送类指令 3.3.2 算术运算类指令 3.3.3 逻辑运算类指令 3.3.4 位操作类指令 3.3.5 控制转移类指令汇编程序机器语言编译、解释机器语言eg: MOV R0 ,#data01111000 #data计算机的指令系统是一套控制计算机操作的编码机器语言。计算机只能识别和执行机器语言的指令。但机器语言实在太枯燥,太难记忆了。3.1 汇编语言指令格式汇编语言,高级语言由25个英文字母组成的助记符至少一个空格用“,”隔开,操作个数可为无,1,2,3操作码:反映了指令的功能。操作数:反映了指
51、令的对象。eg: MOV A , #01;01 A7401 ADDC A,R1;(A)+(R1)+CY A 393.1.1汇编语言格式 由操作助记符和操作数字段组成汇编指令指能汇编成机器语言代码的指令。格式:操作码 操作数1, 操作数2 ,操作数33.1.2 汇编伪指令伪指令:汇编时不产生机器语言代码的指令,仅提供汇编控制信息。一、定位伪指令 ORG m m:一般为十六进制数。 m指出在该伪指令后的指令的汇编地址,即生成的机器指令起始存贮器地址。显然,当使用多条ORG m伪指令时,应注意其后生成的机器指令存放地址不应重叠。eg: ORG 0START: SJMP MAIN ORG 0BH LJ
52、MP PTFO ORG 40HMAIN:二、定义字节伪指令 标号: DB X1、 X2 Xn3.1.2 汇编伪指令 ORG1000HDB0AAH SJ-DATA:DB25,25H ZFC-DATA:DBMCS-51经汇编后,从地址1000H处存贮器的内容为:(1000H)= AAH(1001H)= 19H(1002H)= 25H(1003H)= 4DH(1004H)= 43H(1005H)= 53H(1006H)= 2DH(1007H)= 35H(1008H)= 31H三、字定义伪指令 标号: DW Y1、 Y2 Yn3.1.2 汇编伪指令通知汇编程序从当前ROM地址开始,保留存贮单元,并存入
53、DW后面的数据。存放时高8位在前,低8位在后。例3-3 ORG1000H DW1234HSJ_DATA:DW56H,2000经汇编后,从地址1000H处存贮器的内容为:(1000H)= 12H(1001H)= 34H(1002H)= 00H(1003H)= 56H(1004H)= 07H(1005H)= D0H四、EQU 赋值伪指令 字符名称 EQU 项(数或汇编符号)3.1.2 汇编伪指令例:3-4: AAEQUR1MOVA,AA 例:3-5: D10EQU10ADD_YEQU07ABHMOVA,D10LCALLADD_Y EQU伪指令是把“项”赋给“字符名称”,注意这里的“字符名称”不同于
54、标号(其后没有冒号),但它是必须的。用EQU赋过值的符号名可以用作数据地址、代码地址、位地址或是一个立即数。 五、DS定义存贮空间伪指令 DS 表达式3.1.2 汇编伪指令在汇编时,从指定地址开始保留DS之后“表达式”的值所规定的存贮单元。 ORG1000HDS07HDB20H,20 DW12H 经汇编后,从地址1000H开始保留7个单元,然后从1007H处存贮器的内容为:(1007H)= 20H(1008H)= 14H(1009H)= 00H(100AH)= 12H六、DATA数据地址赋值伪指令 字符名称 DATA 表达式3.1.2 汇编伪指令 这里的“字符名称”与标号不同(其后没有冒号),
55、但它是必须的,其功能是把“表达式”的值赋给左边的“字符名称”。 DATA伪指令与EQU伪指令的主要区别是:EQU定义的“字符名称”必须先定义后使用,而DATA定义的“字符名称”没有这种限制,故DATA伪指令通常用在源程序的开头或末尾。 例3-7: ORG0100H AA DATA 35H DPTRA DATA0AA00HMOVA,AA ;(35H) AMOVDPTR,#DPTRA ;0AA00H DPTR七、BIT定义位地址符号伪指令 字符名称 BIT 位地址3.1.2 汇编伪指令 这里的“字符名称”与标号不同(其后没有冒号),但它是必须的,其功能是把BIT之后的“位地址”值赋给“字符名称”。
56、 例3-6:P11BITPA2BIT02HMOVC,P11MOVA2,C八、汇编结束伪指令END指出汇编结束,其后即使还有指令,汇编程序也不作处理。3.2 MCS-51的寻址方式 在高级语言编程时,程序设计人员不必关心程序和数据的内存空间安排问题。但在汇编语言程序设计时,要针对系统的硬件环境编程,数据的存放、传送、运算都要通过指令来完成,编程者必须自始至终都十分清楚操作数的位置,以便将它们传送至适当的空间去操作。 寻址方式就是如何找到存放操作数的地址,把操作数提取出来的方法。 MCS51指令的系统的指令数的寻址方式主要有八种:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基寄存器加变址寄存器
57、间接寻址、相对寻址、位寻址、页面寻址。一、寄存器寻址 由指令某一寄存器的内容作为操作数的寻址方式。eg: INC R0;(R0)+1 R0INC R0指令执行过程示意图3.2 MCS-51的寻址方式在指令中含有操作数的直接地址,该地址指出了参与计算或传送的数据所在的字节单元或位的地址。 eg:ANL 70H,#48H;(70H)48H70H 二、 直接寻址操作数的直接地址3.2 MCS-51的寻址方式在指令中某一个寄存器的内容作为操作数的地址的寻址方式,用符号表示。eg: ANLA, R0; (A)( R0 ) A 寄存器间接寻址使用所选定的寄存器中R0和R1作地址指针(对栈操作时用堆栈指针S
58、P)来寻址内部RAM(0FFH),也适用于访问外部扩展的数据存贮器,用R0、R1或DPTR作为地址指针。三、寄存器间接寻址3.2 MCS-51的寻址方式操作数包含在指令字节中eg:MOV A,#70H 以16位的程序计数器PC或数据指针DPTR作为基寄存器,以8位的累加器A作为变址寄存器,内容相加形成16位新的地址。MOVC A, A +PC ;(A)+(PC) AMOVC A, A +DPTR ;(A)+(DPTR) A 五、基寄存器加变址寄存器间接寻址四、立即寻址3.2 MCS-51的寻址方式 eg:JC80H;C=1跳转 PC+2+relPC设原PC=1005HPC+2+rel=1005
59、H+2+80H=1007H-128=0F87H=1007H+FF80H=0F87H1000000010000000(-128)求补码:11111111100000003.2 MCS-51的寻址方式六、相对寻址 相对寻址方式是以当前的程序计数器PC值加上指令中给定的偏移量rel所得的结果作为转移地址。一般将相对转移指令操作码所在地址称为源地址,转移后的地址称为目的地址,则有: 目的地址 = 源地址 + 相对转移指令字节数 + rel 3.2 MCS-51的寻址方式七、位寻址 在计算机中,某些特定的操作数可以按8位二进制数中的某一位为单位进行存取和操作。位寻址方式是其操作数是8位二进制中的某一位。
60、 例315:MOVC,01H;01H为位地址,表示(20H).1的内容传送到进位累加器。例316:SETBEA表示中断允许寄存器IE的位7置1。3.2 MCS-51的寻址方式八、页面寻址 当用寄存器间接寻址方式访问外部扩展的数据存贮器,当用R0、R1作地址指针访问片外RAM时的寻址方式称为页面寻址。页面地址由P2口的内容决定,页面内的地址由R0或R1的内容决定。例317: MOVP2,#0A0H MOVR0,#01H MOVA,#10H MOVXR0,A (1)对程序存贮器只能采用立即寻址和基寄存器加变址寄存器间接寻址寻址方式。(2)对特殊功能寄存器空间只能采用直接寻址方式(可以用符号来代表地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年阿坝职业学院单招职业适应性考试题库含答案详解(满分必刷)
- 2025辽宁沈阳盛京资产管理集团有限公司招聘1人笔试历年参考题库附带答案详解
- 2026年长白山职业技术学院单招职业技能考试题库及完整答案详解
- 2025庆铃汽车股份有限公司商用车销售业务经理招聘15人(重庆)笔试历年参考题库附带答案详解
- 乐东黎族自治县人民医院医共体(万冲分院)2025年公开招聘编外人员备考题库(含答案详解)
- 2026年青岛恒星科技学院单招职业技能测试题库含答案详解(夺分金卷)
- 2026四川长虹电子控股集团有限公司招聘税务主管岗位1人笔试模拟试题及答案解析
- 2026广东潮州市潮安区医共体总医院医学类急需紧缺人才专场招聘卫生技术人才39人(编制)考试备考题库及答案解析
- 2026年长春市市属国有企业面向社会公开招聘(226人)笔试模拟试题及答案解析
- 2026湖南师范大学第一批专任教师招聘99人考试备考题库及答案解析
- 保安中介合同范例
- 洒水降尘方案
- 临床静脉导管维护专家共识
- 2022新教材苏教版科学5五年级下册全册教学设计
- 2024-2025学年全国中学生天文知识竞赛考试题库(含答案)
- 《计算机控制系统》课后题答案刘建昌等科学出版社
- DL∕T 1683-2017 1000MW等级超超临界机组运行导则
- 在线网课学习知道《秀场内外-走进服装表演艺术(武汉纺织大学)》单元测试考核答案
- MOOC 电路-西安交通大学 中国大学慕课答案
- 养老院健康档案模板
- 农村信用社借款合同
评论
0/150
提交评论