[TOC]

MSC51寄存器与汇编指令

8051内部结构图

引脚分配

8051一共有40个引脚,其中I/O引脚占了4*8=32个引脚(分别是P0,P1,P2,P3,每个Px分别有8个I/O口,除此之外的引脚有:

  • 控制信号引脚
引脚(引脚号)功能
RST(9)复位信号输入
$\overline{PSEN}$ (29)外部程序存储器选通信号输出引脚
ALE(30)地址锁存允许信号输出引脚
$\overline{EA}$ (31)内外程序存储器选择引脚
  • 外接晶振引脚
引脚(引脚号)功能
XTAL1(19)接外部晶振的一个引脚,该引脚内部是反相放大器的输入端
XTAL2(18)接外部晶振的另一个引脚,该引脚接至内部反相放大器的输出端
  • 电源引脚
引脚(引脚号)功能
VCC(40)供电,电源正极
GND(20)供电,电源负极

寄存器

特殊功能寄存器

特殊功能寄存器符号名称字节地址位地址
BB寄存器F0HF7H~F0H
A(ACC)累加器E0HE7H~E0H
PSW程序状态字D0HD7~D0H
IP中断优先控制寄存器B8HBFH~B8H
P3P3口锁存器B0HB7H~B0H
IE中断允许控制寄存器A8HAFH~A8H
P2P2口锁存器A0HA7H~A0H
SBUF串行口锁存器99H
SCON串行口控制寄存器98H9FH~98H
P1P1口锁存器90H97H~90H
TH1定时器/计数器1(高八位)8DH
TH0定时器/计数器1(低八位)8CH
TL1定时器/计数器0(高八位)8BH
TL0定时器/计数器0(低八位)8AH
TMOD定时器/计数器方式控制寄存器89H
TCON定时器/计数器控制寄存器88H8FH~88H
DPH数据地址指针(高八位)87H
DPL数据地址指针(低八位)83H
SP堆栈指针82H
P0P0口锁存器81H
PCON电源控制寄存器80H87H~80H

可位寻址的寄存器(共11个)

TCON——定时器/计数器控制寄存器

SFR nameAddressbitB7B6B5B4B3B2B1B0
TCON88HnameTF1TR1TF0TR0IE1IT1IE0IT0
位阐述
  • B7~B4 :定时器计数器
  • B3~B0 :外部中断
  • TF1 /0: 定时/计数器T1/T0溢出标志位。T1溢出时由硬件置1。中断处理时由硬件清0。也可由软件清0。
  • TR1 /0:定时/计数器T1/T0运行控制位。
  • IE1 /0: 外部中断1/0(INT1/0)的中断请求标志位。中断处理时由硬件清 0。也可由软件清 0
  • IT1 /0:外部中断1/0(INT1/0)触发方式选择位。外部中断触发方式:低电平触发IT=0,下降沿触发IT=1。

PSW——程序状态字寄存器

SFR nameAddressbitB7B6B5B4B3B2B1B0
PSWD0HnameCYACF0RSIRS0OV-P
位阐述
  • Cy :进位位
  • AC:辅助进位位
  • F0:用户标志位
  • OV:溢出标志位
  • P:奇偶校验位
  • RS1/RS0:
RS1RS0
000区-第0组工作寄存区(内部RAM)
011区-第1组工作寄存区(内部RAM)
102区-第2组工作寄存区(内部RAM)
113区-第3组工作寄存区(内部RAM)

SCON——串行口控制寄存器

SFR nameAddressbitB7B6B5B4B3B2B1B0
SCON98HnameSM0SM1SM2RENTB8RB8TIRI
位阐述
SM0SM1方式说明
00方式0同步移位寄存器输入/输出工作方式
01方式18位可变波特率的异步串行通信工作方式
10方式29位不变波特率的异步串行通信工作方式
11方式39位可变波特率的异步串行通信工作方式
  • REN:允许接收位。REN=1允许串行口接收,REN=0禁止串行口接收。
  • TB8:在方式2和3中,发送的第9位(位8)。由软件置位或清除
  • RB8:在方式2和3中,接收的第9位(位8)。
  • TI:发送中断标志位。由软件清除。
  • RI:接收中断标志位。由软件清除。

IE——中断允许控制寄存器

SFR nameAddressbitB7B6B5B4B3B2B1B0
IEA8HnameEA--ESET1EX1ET0EX0
位阐述
标号功能
EA全局中断禁止位,如果EA=0,禁止所有中断,如果EA=1,通过置位或清0使能位,对应的每个中断使能或禁止。
ES串行口中断使能位
ET1定时器1中断使能位
EX1外部中断1中断使能位
ET0定时器0中断使能位
EX0外部中断0中断使能位

IP——中断优先级寄存器

SFR nameAddressbitB7B6B5B4B3B2B1B0
PCONB8Hname---PSPT1PX1PT0PX0
位阐述
标号功能
PS串行口中断优先级控制位
PT1定时器1中断优先级控制位
PX1外部中断1中断优先级控制位
PT0定时器0中断优先级控制位
PX0外部中断0中断优先级控制位

中断优先级控制位=1,设置为高优先级中断

中断优先级控制位=0,设置为低优先级中断

同中断优先级下,优先级查询顺序

中断源中断级别
PX0最高
PT0
PX1
PT1
RS最低

P3——P3口第二功能引脚定义

SFR nameAddressbitP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0
P3B0Hname$\overline{RD}$$\overline{WR}$T1T0$\overline{INT1}$$\overline{INT0}$TXDRXD
位阐述
  • P3口通常情况下可以作为通用的I/O口使用,除此之外还增加了第二功能

存在位地址但是位地址并未给予特殊的定义的寄存器

B——B寄存器
A——累加器
P0——P0口

I/O口,输入指令,输入输出数据,输出低八位地址

P1——P1口

I/O口

P2——P2口

I/O口,高八位地址

不可位寻址的寄存器(10个)

PCON——电源控制

SFR nameAddressbitB7B6B5B4B3B2B1B0
PCON87HnameSMODSMOD0-POFGF1GF0PDIDL
位阐述
  • SMOD , SMOD0 :与电源控制无关,与串口有关
  • POF :上电复位标志位,单片机停电后,上电复位标志位为1,可由软件复位
  • GF1,GF0 :两个通用工作标志位

TMOD——定时/计数器方式字寄存器

SFR nameAddressbitB7B6B5B4B3B2B1B0
TMOD89HnameGATEC/$\overline{T}$M1M0GATEC/$\overline{T}$M1M0
位阐述
  • B7~B4 :T1
  • B3~B0 :T0
M1M0说明
00方式0:13位定时/计数器
01方式1:16位定时/计数器
10方式2:8位自动装载定时/计数器,当溢出时将TH1/0存放的值自动重装入TL1/0里
11方式3:T0分为2个8位定时计数器,T1无方式3
标号功能
GATE启停控制选择位:0-TRx控制启停,1-INTx控制启停————————TCON寄存器中设置
C/$\overline{T}$定时/计数选择位:0-定时,1-计数。
  • SBUF——串口数据缓冲器
  • TH1
  • TL1
  • TH0
  • TL0
  • DPH
  • DPL
  • SP

MCS51扩展与应用

程序存储器扩展

image-20221113115612243

常见存储器芯片——27系列芯片

芯片型号271627322764271282725627512
芯片储存大小2K4K8K16K32K;64K

程序存储器芯片——2764

image-20221112210216062

引脚D7-D0A12-A0$\overline{CE}$$\overline{OE}$PGMVPP
数据输出地址片选信号允许输出控制信号,与片内的$\overline{PSEN}$相连编程脉冲输入编程电压输入

工作方式:

方式\引脚$\overline{CE}$/PGM$\overline{OE}$VppD7-D0
读出00+5V程序读出
未选中1X+5V高阻
编程正脉冲1+25V(或+12V)程序写入
程序校验00+25V(或+12V)程序读出
编程禁止01+25V(或+12V)高阻

数据锁存器74LS373

image-20221112210645771

引脚D7-D0Q7-Q0LEOEPGMVPP
数据输入地址输出锁存允许信号(高) 当:LE=1,Di=Qi 当:LE=0,Qi保持允许输出控制信号(低)编程脉冲输入编程电压输入

数据译码器——74LS138

image-20221112211632024

引脚A,B,CY0-Y7$\overline{E1}$,$\overline{E2}$E3
译码器数据输入端译码器输出端使能端(低)使能端(高)

扩展应用:

image-20221112213225561

image-20221112213355281

数据存储器扩展

image-20221113115705050

常见芯片6116626462256

工作方式:

方式\信号$\overline{CE}$$\overline{OE}$$\overline{WE}$D7-D0
001数据输出
010数据输入
维持1XX高阻态

image-20221113180010585

I/O口扩展

8255芯片

image-20221113181046627

引脚功能表

引脚D7-D0PA7-PA0PB7-PB0PC7-PC0$\overline{CS}$$\overline{RD}$$\overline{WR}$RESETA1,A0
功能三态双向数据线A口输入输出线B口输入输出线C口输入输出线片选信号读信号写信号复位信号I/O口地址线

image-20221113183241429

image-20221113183358315

工作方式控制字寄存器

image-20221115162249817

C口按位操控制字

image-20221115162426133

方式一:选通输入输出方式

  • $\overline{STB}$ :选通输入,低电平有效
  • IBF :输入缓冲器,高电平有效
  • INTR :中断请求信号,高电平有效
  • INTE A/B :中断允许信号A-PC4,B-PC2的置位复位来控制

  • $\overline{OBF}$ :输出缓冲器满信号
  • $\overline{ACK}$:外设相应信号
  • INTR :中断请求信号
  • INTE A/B :A-PC6,B-PC2的置位复位控制

image-20221115164009330

工作方式二:双向数据传输工作方式

双向数据传输工作方式

image-20221115165412396

8155芯片

image-20221113213449883

引脚AD7-AD0PA7-PA0PB7-PB0PC7-PC0$\overline{CE}$RDWRRESETALEIO/MTIMERINTIMEROUT
功能三态双向数据线/地址线A口输入输出线B口输入输出线C口输入输出线片选信号读信号写信号复位信号地址锁存信号I/O口,RAM选择信号定时器输入定时器输出

image-20221113213709956

端口地址分配

image-20221113213833075

8155命令寄存器

D7D6D5D4D3D2D1D0
TM2TM1IEBIEAPC2PC1PBPA

image-20221114000311902

8155状态寄存器

D7D6D5D4D3D2D1D0
XTIMER$INTE_B$BBF$INTR_B$$INTE_A$ABF$INTR_A$

image-20221115170916651

8155计数寄存器

$T_L$(04H)

D7D6D5D4D3D2D1D0
$T_7$$T_6$$T_5$$T_4$$T_3$$T_2$$T_1$$T_1$

$T_H$(05H)

D7D6D5D4D3D2D1D0
M2M1$T_13$$T_12$$T_11$$T_10$$T_9$$T_8$

image-20221113233148756

串行口扩展并行口

键盘和数码显示扩展

键盘

非编码式键盘分类:

  • 独立式键盘接口

image-20221114143154096

  • 矩阵式键盘接口(也称行列式键盘:行输入,列输出)

image-20221114143221483

  • 中断扫描方式键盘接口电路

image-20221114160539998

8031键盘接口电路

image-20221114143348735

数码管

image-20221114160729399

串行口扩展键盘与显示电路

并行输入输出移位寄存器——74LS165

image-20221114162953955

A,B,C,D,E,F,G,HSH/$\overline{LD}$CLKCLK INHSER$Q_H$ ,$\overline{Q_H}$
并行输入端移位/装入移位脉冲移位脉冲禁止串行输入端串行输出端

MSC51串行口的方式0可以用于I/O口扩展——波特率固定,为fosc/12

image-20221114163707601

串行输入,并行输出寄存器(74LS164)

image-20221114164006555

$Q_0$-$Q_7$A,BCPMR
并行输出端数据输入时钟线Master Reset Input (Active Low)

image-20221114164559057

image-20221114164720899

D/A转换接口电路

DAC0832

image-20221114165515821

VREFDGNDAGNDD17-D0CSILE$\overline{WR1}$$\overline{WR2}$$\overline{XFER}$IOUT1IOUT2RFB
基准电压数字地模拟地数字量输入端片选信号(低)数据锁存允许信号第一写信号(低)第二写信号(低)数据传送控制信号(低)电流输出端1电流输出端2反馈电阻端
  • 单级缓冲器连接

image-20221114165807981

  • 二级缓冲器连接方式

image-20221114165903401

  • 直接连接方式

image-20221114165924464

image-20221114170029034

A/D转换接口电路

ADC0809

image-20221114170231490

IN7-IN0D7-D0STARTOEALEEOCCLKA,B,CVREEF+VREEF-VCCGND
8路模拟量输入端8路数字量输出端A/D启动信号允许输出控制地址锁存允许信号(高)转换结束信号(高)时钟信号输入端转换通道地址参考电源正端参考电源负 端电源正

image-20221114170332333