Microsoft Word - 第1章 MCS-51单片机基础.docx

Similar documents
DPJJX1.DOC

W77E58中文手册

另外,AT89S52 可降至 0Hz 静态逻辑操作, 支持 2 种软件可选择节电模式 空闲模式下,CPU 停止工作, 允许 RAM 定时器/ 计数器 串口 中断继续工作 掉电保护方式下,RAM 内容被保存, 振荡器被冻结, 单片机一切工作停止, 直到下一个中断或硬件复位为止 8 位微控制器 8K 字

at89S52.doc

Microsoft Word - 專題封面.doc

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

51 C 51 isp 10 C PCB C C C C KEIL

目 录

Microsoft PowerPoint - 第一章(07版).PPT

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

AT89S51

<4D F736F F D20B5DA31D5C B5A5C6ACBBFAB8C5CAF62E646F6378>

1

部分编号派生器件编号 (P89CXX) 操作频率, 最大 (V) 温度范围 (B) 封装 (AA,BB,PN) P89C51 FLASH U=33MHz B=0 70 AA=PLCC P89C52 FLASH F= BB=PQFP P89C54 FLASH PN=PDIP P89C58

<4D F736F F D20B5DA32D5C220416E64726F6964BFAAB7A2BBB7BEB3B4EEBDA82E646F6378>

单片机原理及应用实验指导书.doc

SM2965

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

128K Flash EPROM 的程序?\(Bank=64K\) 切?

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

MSP430X1XX 系列微控制器具有以下特征 结构框图 超低功耗结构体系 A 额定工作电流在 1MHz V 工作电压 C11X P11X 和 E11X 为 V 从备用模式唤醒为 6 S 丰富的中断能力减少了查询的需要灵活强大的处理能力源操作数有七种寻址模

(10) 在满足串行口接收中断标志位 RI SCON.0 =0 的条件下, 置允许接收位 REN(SCO N.4)=1 就会启动接收一帧数据进入输入移位寄存器, 并装载到接收 SBUF 中, 同时使 RI =l 当发读 SBUF 命令时 ( 执行 MOV A,SBUF 指令 ), 即是由接收缓冲器

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

STC15W4K60S4系列增强型PWM波形发生器应用

<4D F736F F F696E74202D20B5DA35D5C2CEA2B4A6C0EDC6F7B9A4D7F7D4ADC0ED2E707074>

PowerPoint Presentation

專題最終版.doc

电子驿站技术文档

<4D F736F F D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63>

CH559指令周期.doc

一、

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

µPSD3000 系列

MCS FCC

第一章

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D

33023A.book(31006A_cn.fm)

2-2 第二章系統分析 XTAL1/ (19/18): 時脈接腳 1. 使用內部振盪器 C1 XTAL1 C2 VSS 2. 使用外部時脈 圖 2-2 使用內部振盪器接線圖 時脈輸入 空接.. 時脈輸入 XTAL1 XTAL1 時脈輸入 XTAL1 VSS VSS VSS (a) (b) (c) 圖

XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 GHz 世界通用 ISM 频段, 它集

MPC89LE51_52_53_54_58_515

SCON 中 当这些中断源请求中断时, 分别由 TCON 和 SCON 中的相应位来锁存 IT0=0 INT0 IT0=1 T0 IT1=0 INT1 IT1=1 1 TCON IE0 TF0 IE1 EX0 EX0 EX1 IE IP PX0 1 0 PT0 1 0 PX1 1 0 自然优先级 矢

<4D F736F F D20C7B0CBC4D5C2D7F7D2B5CCE22E646F6378>

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--


79F161 V0.2

<4D F736F F D203034CAB5D1E9CBC D20B5C4494F20BDD3BFDACAB5D1E92E646F63>

fgfdg

Microsoft PowerPoint - chap3.ppt

Microsoft Word - LMB402CBC-AppNote-V0.1.doc

<4D F736F F D20B5DA32D5C B5A5C6ACBBFAC8EDD3B2BCFEBFAAB7A2BBB7BEB32E646F6378>

MPC89LE51_52_53_54_58_515

MPC82G516A 8 位微控制器 目 录 图表清单... 5 表格清单 综述 功能 方框图 引脚 引脚结构 引脚定义 引脚功能重映射..

Microsoft Word - 第1章 MCS-51单片机概述.docx

HMI COM1 RS SIEMENSE S7-200 RS485

Microsoft Word - P87CL52X2_54X2.doc

内容简介 本书以 Proteus 为仿真软件, 以汇编语言和 C 语言为编程语言, 结合趣味应用实例, 系统介绍 MCS-51 单片机的组织结构 工作原理 指令系统 程序设计 中断 定时 / 计数器 串行通信 系统扩展 接口技术 应用系统设计等内容 每章的例题 习题都用 Proteus 仿真实现,

标题

AT89C2051中文资料.doc

展 望 与 述 评 2 广 电 设 备 与 技 术

5. P0.0 P0.7 P0 4 2 P0.3~P0.6 ADC P1.0 P P1.2(SCL) P1.3(SDA) P1.5 RST P1.5 2 XTAL1(P2.1) 1 XTAL0(P2.0) 2 XTAL1 I/O VDD VSS 6. H5815 4T 16K Flas

Microsoft Word - FG12232A.doc

7688使用手冊V10.doc

从MCS51向AVR的快速转换.PDF

图 内部结构图 8251 的外部引脚如图 所示, 共 28 个引脚, 每个引脚信号的输入输出方式如图中的箭 头方向所示

杨欣王玉凤刘湘黔编著清华大学出版社 2008 年 1 月 ISBN 单片机应用从零开始 8051Microcontroller: An Applications Based Introduction 第 1 章 身边的单片机 欢迎访问电路飞翔网

<4D F736F F D20B5A5C6ACBBFAD4ADC0EDD3EBD3A6D3C3BCB B3CCD0F2C9E8BCC65FB5DA33B0E65F2DD6D5B8E52D4E65772DBFB1CEF3B1ED2DB3F6B0E6C9E72E646F6378>

MA816_DS_CN_V005

PowerPoint 簡報

诺贝尔生理学医学奖获奖者

CM ZT1

Ps22Pdf

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

N79A8211系列单片机内部NVM

Microsoft PowerPoint - Ch CPU总线及其形成.ppt [兼容模式]

Microsoft Word - P3.doc

則 此 圖 片 約 需 佔 用 多 少 儲 存 空 間? M B y t e s M B y t e s M B y t e s M B y t e s 9. ( 3 ) 在 M i c r o s o f t E x c e

79F161 V0.2

zt

P89LV51RD2器件手册

目录 1 总体描述 主要功能... 1 目录 管脚定义 管脚配置 管脚定义 内部方框图 FLASH ROM 和 SRAM 结构 flash rom Customer

HT46R47 f SYS =4MHz 3.3~5.5V f SYS =8MHz 4.5~5.5V 13 位双向输入 / 输出口 1 个与输入 / 输出共用引脚的外部中断输入 8 位带溢出中断的可编程定时 / 计数器 具有 7 级预分频器 石英晶体或 RC 振荡器 位的程序存储器 P

<4D F736F F D20BBF9D3DAB5A5C6ACBBFAB5C4B5E7C2B7C9E8BCC62E646F63>

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

微處理機期末專題

第六章 微型计算机的输入输出

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc

Microsoft Word - FM12232C.doc

SC92F742X

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax)


<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>


33023A.book(31026A_cn.fm)

92 系列产品命名规则 名称 SC 92 F X P 48 R 序号 序号 Sinone Chip 缩写 产品系列名称 产品类型 (F:Flash MCU) 系列号 :7:GP 系列,8:TK 系列 含义 ROM

微机系统与接口--第5章-2.ppt

SC92F7490

Transcription:

51 单片机应用开发实战手册 作者 : 华清远见 第 1 章 MCS-51 单片机基础 本章目标 单片机作为嵌入式微控制器在工业测控系统 智能仪器和家用电器中得到广泛 应用 虽然单片机的品种很多, 但 MCS-51 系列单片机仍不失为单片机中的主流机 型 本章主要介绍 MCS-51 单片机的基础知识和学习要点, 以目前应用最为广泛的 AT89SXX 系列单片机为例, 介绍单片机的历史发展 应用领域 硬件结构与工作 原理 复位系统 存储系统和中断系统等内容

概述 单片微型计算机简称为单片机, 又称为微控制器, 是微型计算机的一个重要分支 自单片机出现至今, 单片机技术已走过了近 30 年的发展路程 纵观 30 年来单片机发展历程可以看出, 单片机技术的发展以微处理器 (MPU) 技术及超大规模集成电路技术的发展为先导, 以广泛的应用领域拉动表现出较微处理器更具个性的发展趋势 随着电子技术的发展, 大规模 超大规模集成电路和制造工艺的进一步提高, 单片机以其高可靠性 高性能比 低电压 低功耗等一系列优点, 广泛应用于工业控制系统 数据采集系统 智能化仪器仪表 智能型家用电器等领域 MCS-51 单片机硬件结构 虽然单片机在形态上只是一块芯片, 但它已具有了微型计算机的组成结构和功能 在 MCS-51 单片机中除了有 CPU 存储器和并行输入/ 输出接口外, 还包含由定时器 / 计数器 串行 I/O 接口和中断管理逻辑等部件 1.2.1 MCS-51 单片机的基本组成 MCS-51 单片机是由 8 位 CPU 存储器 串并行 I/O 口 定时器 / 计数器 中断系统 振荡器和时钟系统等组成, 各部分之间通过系统总线相连 如图 1.1 所示为 MCS-51 单片机的系统功能模块框图 1.2.2 AT89S52 单片机的引脚图及各引脚功能说明 由于本书所有的例程均是基于 AT89S52 单片机开发的, 这里着重介绍 AT89S52 各个引脚及功能 这些关系到在后面学习例程时对原理图的理解, 读者要特别重视 而对于存储器 定时器 中断系统等部分内容, 读者可参考介绍 MCS-51 单片机的相关书籍 AT89S52 是 Atmel 公司生产的一种低功耗 高性能 CMOS 8 位微控制器, 具有 8 位在系统可编程 Flash 存储器 AT89S52 使用 Atmel 公司高密度非易失性存储器技术制造, 与工业 80C51 产品指令和引脚完全兼容 片上 Flash 允许程序存储器在系统可编程, 也适于常规编程器 在单芯片上, 拥有灵巧的 8 位 CPU 和在系统可编程 Flash, 使得 AT89S52 为众多嵌入式控制应用系统提供高灵活 超有效的解决方案 AT89S52 具有 PDIP PLCC TQFP3 种封装形式用于不同的使用场合 各封装引脚定义如图 1.2 所示 振荡器及定时电路 ROM RAM 2 个 16 位定时器 / 计数器 8051 CPU 64K 总线扩展控制 可编程 IO 可编程串行口 图 1.1 MCS-51 单片机的系统功能模块框图 2

图 1.2 AT89S52 引脚图 下面简单介绍 AT89S52 各引脚的功能, 更多信息请查阅 Atmel 公司的技术文档 V CC : 电源 GND: 地 P0 口 :P0 口是一个 8 位漏极开路的双向 I/O 口 作为输出口, 每位能驱动 8 个 TTL 逻辑电平 对 P0 端口写 1 时, 引脚用做高阻抗输入 当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址 / 数据复用 在这种模式下,P0 具有内部上拉电阻 在 Flash 编程时,P0 口也用来接收指令字节 ; 在程序校验时, 输出指令字节 在程序校验时, 需要外部上拉电阻 P1 口 :P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1 输出缓冲器能驱动 4 个 TTL 逻辑电平 当对 P1 端口写 1 时, 内部上拉电阻把端口拉高, 此时可以作为输入口使用 当作为输入使用时, 被外部拉低的引脚由于内部电阻的原因, 将输出电流 (IIL) 此外,P1.0 和 P1.2 分别作为定时器 / 计数器 2 的外部计数输入 (P1.0/T2) 和定时器 / 计数器 2 的触发输入 (P1.1/T2EX), 具体如表 1-1 所示 在 Flash 编程和校验时,P1 口接收低 8 位地址字节 P2 口 :P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平 对 P2 端口写 1 时, 内部上拉电阻把端口拉高, 此时可以作为输入口使用 当作为输入使用时, 被外部拉低的引脚由于内部电阻的原因, 将输出电流 (IIL) 在访问 表 1-1 P1 口部分管脚的第二功能 引脚号 第二功能 P1.0 T2( 定时器 / 计数器 T2 的外部计数输入 ), 时钟输出 P1.1 T2EX( 定时器 / 计数器 T2 的捕捉 / 重载触发信号和方向控制 ) P1.5 MOSI( 在系统编程用 ) P1.6 MISO( 在系统编程用 ) P1.7 SCK ( 在系统编程用 ) 3

外部程序存储器或用 16 位地址读取外部数据存储器 ( 如执行 MOVX @DPTR) 时,P2 口送出高 8 位地址 在这种应用中,P2 口使用很强的内部上拉发送 1 在使用 8 位地址 ( 如 MOVX @RI) 访问外部数据存储器时,P2 口输出 P2 锁存器的内容 在 Flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号 P3 口 :P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平 对 P3 端口写 1 时, 内部上拉电阻把端口拉高, 此时可以作为输入口使用 当作为输入使用时, 被外部拉低的引脚由于内部电阻的原因, 将输出电流 (IIL) P3 口也作为 AT89S52 特殊功能 ( 第二功能 ) 使用, 如表 1-2 所示 在 Flash 编程和校验时,P3 口也接收一些控制信号 表 1-2 P3 口部分管脚的第二功能 引脚号第二功能引脚号第二功能 P3.0 RXD( 串行输入 ) P3.4 T0( 定时器 0 外部输入 ) P3.1 TXD( 串行输出 ) P3.5 T1( 定时器 1 外部输入 ) P3.2 INT0( 外部中断 0) P3.6 WR( 外部数据存储器写选通 ) P3.3 INT0( 外部中断 0) P3.7 RD( 外部数据存储器写选通 ) RST: 复位输入 在晶振工作时,RST 脚持续两个机器周期高电平将使单片机复位 看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平 特殊寄存器 AUXR( 地址 8EH) 上的 DISRTO 位可以使此功能无效 在 DISRTO 默认状态下, 复位高电平有效 ALE/PROG: 地址锁存控制信号 (ALE) 在访问外部程序存储器时, 锁存低 8 位地址的输出脉冲 在 Flash 编程时, 此引脚 (PROG) 也用做编程输入脉冲 在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲, 可用来作为外部定时器或时钟使用 然而, 特别强调, 在每次访问外部数据存储器时,ALE 脉冲将会跳过 如果需要, 通过将地址为 8EH 的 SFR 的第 0 位置 1,ALE 操作将无效 这一位置 1,ALE 仅在执行 MOVX 或 MOVC 指令时有效 否则, ALE 将被微弱拉高 这个 ALE 使能标志位 ( 地址为 8EH 的 SFR 的第 0 位 ) 的设置对微控制器处于外部执行模式下无效 PSEN: 外部程序存储器选通信号 (PSEN) 是外部程序存储器选通信号 当 AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次, 而在访问外部数据存储器时,PSEN 将不被激活 EA/V PP : 访问外部程序存储器控制信号 为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND 为了执行内部程序指令,EA 应该接 V CC 在 Flash 编程期间,EA 也接收 12 伏 V PP 电压 XTAL1: 振荡器反相放大器和内部时钟发生电路的输入端 XTAL2: 振荡器反相放大器的输出端 MCS-51 单片机的复位 复位是单片机的初始化工作, 其作用是使 CPU 和系统中的其他部件都处于一个确定的初始状态, 并 从这个状态开始工作 MCS-51 的 RST 引脚是复位信号的输入端, 高电平有效, 持续时间要在 24 个时钟周期以上 单片机 复位后, 其内部各寄存器的状态如表 1-3 所示 表 1-3 复位后片内各专用寄存器的值 寄存器 内容 寄存器 内容 PC 00H TMOD 00H A 00H TCON 00H B 00H TH0 00H 4

PSW 00H TL0 00H SP 07H TH1 00H DPTR 0000H TL1 00H P0~P3 0FFH SCON 00H IP (XXX00000)B SBUF 不变 IE (0XX00000)B PCON (0XXXXXXX)H 复位期间, 片内 RAM 的状态不受复位的影响 ; 复位后,PC 的值为 0000H, 所以单片机总是从起始地 址 0000H 处开始执行程序 当单片机运行出错或进入死循环时可按复位键重新启动 MCS-51 的存储系统 MCS-51 系列单片机在存储结构上采用哈佛 (Har-Vard) 结构, 即将程序存储器和数据存储器分开, 它们有各自的寻址机构和寻址方式 MCS-51 在物理上有 4 个存储器地址空间 : 片内程序存储器 片外程序存储器 片内数据存储器和片外数据存储器 从逻辑上划分,MCS-51 有 3 个存储器地址空间 : 片内外统一编址的 64KB 的程序存储器地址空间 (0000-FFFFH) 128B 或 256B(52 系列 ) 的片内数据存储器地址空间和 64KB 的片外数据存储器地址空间 片内 128B 的特殊功能寄存器 (SFR) 在访问这 3 个不同的逻辑空间时, 应采用不同形式的指令 如图 1.4 所示为 MCS-51 系列存储器的地址空间分配图 FFFFH FFFFH 60KB 外部 ROM 1000H 64KB 外部 RAM 0FFFH 0FFFH FFH 4KB 4KB 内部 ROM 外部 ROM 80H 7FH 特殊功能寄存器 (EA=1) (EA=0) 0000H 0000H 00H 0000H 程序存储器内部数据存储器外部数据存储器 图 1.4 MCS-51 系列存储器的地址空间分配图 1.4.1 MCS-51 程序存储器 程序存储器用于存放程序和表格数据 MCS-51 具有 16 位的程序计数器 PC 和 16 位的地址总线, 使 64KB 的程序存储器空间连续统一 当 EA 脚接高电平时, 程序从内部 ROM 开始执行 当 PC 值超过内部地址空间 (0FFFH) 时, 会自动转到外部程序存储器的 1000H~FFFFH 地址空间上去执行程序 当 EA 脚接低电平时, 程序从外部 ROM 开始执行 64KB 程序存储器中有 7 个入口地址具有特殊功能 0000H 单元, 它是程序的起始地址, 一般在该单元中设置一条绝对转移指令, 使之转向主程序处执行 因此,0000H~0002H 单元被保留用于初始化 其余 6 个特殊功能的入口地址分别对应 6 种中断源的中断服务程序入口地址, 如表 1.4 所示 一般在这些入口地址处放一条无条件转移指令, 使之转移到相应的中断服务程序中执行 表 1.4 中断向量入口地址表中断源入口地址中断源入口地址 5

外部中断 0 0003H 定时计数器 1 溢出 001BH 专业始于专注卓识源于远见 定时计数器 0 溢出 000BH 串行口中断 0023H 外部中断 1 0013H 定时计数器 2 溢出或 T2EX 输入负跳变 002BH 1.4.2 MCS-51 数据存储器 数据存储器空间由内部和外部存储器空间组成 内部和外部数据存储器地址空间存在重叠, 通过不同指令来区分 在访问内部 RAM 时, 用 MOV 类指令 ; 在访问外部 RAM 时, 用 MOVX 类指令 MCS-51 系列单片机内部数据存储空间大小为 256B, 但实际提供给用户使用的 RAM 为 128B 这 128B 的 RAM 从功能上又分为 3 个不同的区域 : 工作寄存器区 位寻址区和用户区, 如图 1.5 所示 图 1.5 8051 内部 RAM 功能划分图 1. 工作寄存器区 00H~1FH 是 32 个单元的通用工作寄存器区, 共有 4 组, 每组包含 8 个通用工作寄存器 R0~R7 可通过设置程序状态字 PSW 的第 3 4 位 (RS0 RS1) 来选择使用哪个工作寄存器组 CPU 复位后, 选中第 0 组工作寄存器 2. 位寻址区 20H~2FH 是 16 个单元的位寻址区, 这 16 个单元既可进行字节寻址, 又可进行位寻址 这些单元和 SFR 区中可位寻址的专用寄存器一起构成了布尔 ( 位 ) 处理器的数据存储空间 3. 用户区 用户区为一般的数据缓冲区, 即内部 RAM 中 30H~7FH 共 80 个单元, 这些单元只能按字节寻址 另外, 堆栈区通常也设置在这个区域内 1.4.3 特殊功能寄存器 (SFR) 在 MCS-51 系列单片机中, 共有 26 个特殊功能寄存器 (SFR Special Functional Register) 每个 SFR 占用一个 RAM 单元, 它们离散的分布在 80H~FFH 地址范围内, 不为 SFR 占用的 RAM 单元实际上并不存在, 访问它们是没有意义的, 如表 1-5 所示 6

表 1-5 特殊功能寄存器一览表寄存器符号名称物理地址寄存器符号名称物理地址 ACC 累加器 0E0H TCON 定时 / 计数器控制寄存器 88H 0B B 寄存器 0F0H TH0 定时 / 计数器 0( 高字节 ) 8CH PSW 程序状态字 0D0H TL0 定时 / 计数器 0( 低字节 ) 8AH SP 堆栈指针 81H TH1 定时 / 计数器 1( 高字节 ) 8DH DPTR 数据指针 ( 分 DPH 和 DPL) 83H,82H TL1 定时 / 计数器 1( 低字节 ) 8BH P0 P0 口锁存器 80H TH2 定时 / 计数器 2( 高字节 ) 0CDH P1 P1 口锁存器 90H TL2 定时 / 计数器 2( 低字节 ) 0CCH P2 P2 口锁存器 0A0H RCAP2H 定时 / 计数器 2 陷阱寄存器 ( 高 字节 ) P3 P3 口锁存器 0B0H RCAP2L 定时 / 计数器 2 陷阱寄存器 ( 低 字节 ) 0CBH 0CAH IP 中断优先级控制寄存器 0B8H SCON 串行控制寄存器 98H IE 中断允许控制寄存器 0A8H SBUF 串行数据缓冲器 99H TMOD T2CON 定时 / 计数器方式控制寄存器 定时 / 计数器 T2 控制寄存器 89H PCON 电源控制寄存器 97H 0C8H 在这些 SFR 中, 用户可以通过直接寻址指令对它们进行字节存取, 也可以对位址的 11 个字节寄存器中的每一位进行位寻址 MCS-51 的中断系统 MCS-51 及其 51 子系列的其他成员都具有相同的中断结构 8051 有 5 个中断源 :2 个外部中断源 INT0 和 INT1,2 个片内定时器 / 计数器溢出中断源,1 个片内串行口中断源 这 5 个中断源的优先级分为两级 : 高级中断和低级中断 可由软件设定其中任何一个中断源的优先级, 可实现两级中断服务程序嵌套 1.5.1 MCS-51 的中断源 中断源是指引起中断的设备或部件, 或发出中断请求信号的源泉 弄清中断源有助于理解中断的概念, 并灵活运用 CPU 的中断功能 MCS-51 的中断源有如下几种 外部中断源 : 外部中断 0( INT0 ) 外部中断 1( INT1) 请求, 均有两种触发方式, 分别通过 IT0(TCON.O) 和 IT1(TCON.2) 来决定是电平触发方式还是边沿触发方式 一旦输入信号有效, 则向 CPU 申请中断, 并分别将中断标志 IE0 IE1 置 1 定时器溢出中断源 : 定时器溢出中断由内部定时器中断源产生, 因此它们属于内部中断 当定时器 T0 T1 产生溢出时,T0 T1 中断请求标志 TF0 TF1 置 1, 请求中断处理 串行口中断源 : 串行口由内部串行口中断源产生, 因此也是一种内部中断 串行口中断分为串行口发送中断和串行口接收中断两种 当通过串行口发送或接收完一帧串行数据时, 串行口中断请求标志 TI 或 RI 置 1, 请求中断处理 7

1.5.2 MCS-51 的中断请求标志 中断请求是通过定时器 / 计数器控制寄存器 TCON 和串行控制寄存器 SCON 的有关位来标识的, 只要判别这些位的状态就能确定有无中断请求及中断的来源 1.TCON 的中断标志 定时器控制寄存器的格式如图 1.6 所示 图 1.6 定时器控制寄存器的格式 IT0: 选择外部中断 0( INT0 ) 触发方式控制位 当 IT0=0 时, 为电平触发方式 ; 当 IT0=1 时, 为边 沿触发方式 IE0: 外部中断 0( INT0 ) 请求标志位 当 IE0=1 时, 外部中断 0 向 CPU 请求中断 IT1: 选择外部中断 1( INT1 ) 触发方式控制位 当 IT1=0 时, 为电平触发方式 ; 当 IT1=1 时, 为边沿触发方式 IE1: 外部中断 1( INT1 ) 请求标志位 当 IE1=1 时, 外部中断 1 向 CPU 请求中断 TF0: 片内定时器 T0 溢出中断请求标志, 位地址为 8DH 当定时器 T0 产生溢出中断时,TF0 由硬件自动置 1; 该中断被 CPU 响应后,TF0 被硬件复位 TF1: 片内定时器 T0 溢出中断请求标志, 位地址为 8FH 当定时器 T1 产生溢出中断时,TF1 由硬件自动置 1; 该中断被 CPU 响应后,TF1 被硬件复位 2.SCON 的中断标志 SCON 是串行口控制寄存器, 与中断有关的是它的低两位 TI 和 RI TI: 串行口发送中断标志位, 每发送完一个串行帧数据, 由硬件将 TI 置 1 在 CPU 响应中断后, 不能清除 TI,TI 必须由软件清除 RI: 串行口发送中断标志位, 每接收完一个串行帧数据, 由硬件将 RI 置 1 在 CPU 响应中断后, 不能清除 RI,RI 必须由软件清除 TCON 和 SCON 各位清 0, 应用时一定要注意 1.5.3 MCS-51 的中断控制 8051 单片机的中断控制主要是实现中断的开放 屏蔽和中断的优先级的管理功能 中断控制的设定是通过对中断允许寄存器和中断优先级寄存器的编程来实现 1. 对中断允许的控制 中断允许寄存器的字节地址为 A8H, 其格式如图 1.7 所示 8

图 1.7 中断允许寄存器的格式 EA:CPU 中断总允许位 当 EA=1 时,CPU 开放中断 ; 当 EA=0 时,CPU 屏蔽所有中断请求 ES: 串行口中断允许位 当 ES=1 时, 允许串行口中断 ; 当 ES=0 时, 禁止串行口中断 ET1: 定时器 T1 溢出中断允许位 当 ET1=1 时, 允许 T1 中断 ; 当 ET1=0 时, 禁止 T1 中断 EX1: 外部中断 1 中断允许位 当 EX1=1 时, 允许外部中断 1 中断 ; 当 EX1=0 时, 禁止外部中断 1 中断 ET0: 定时器 T0 溢出中断允许位 当 ET0=1 时, 允许 T0 中断 ; 当 ET0=0 时, 禁止 T0 中断 EX0: 外部中断 0 中断允许位 当 EX0=1 时, 允许外部中断 0 中断 ; 当 EX0=0 时, 禁止外部中断 0 中断 系统复位后,IE 各位均被清 0, 即处于禁止所有中断的状态, 可在系统初始化程序中对 IE 寄存器编程 2. 对中断优先级的控制 8051 单片机中断系统具有两级中断优先级管理 可通过对中断优先级寄存器 IP 的设置, 选择高优先级或低优先级中断, 并可实现二级中断嵌套 中断优先级寄存器 IP 的字节地址为 B8H, 其格式如图 1.8 所示 图 1.8 中断优先级寄存器的格式 PS: 串行口中断优先级控制位 当 PS=1 时, 高优先级 ; 当 PS=0 时, 低优先级 PT1: 片内定时器 T1 中断优先级控制位 当 PT1=1 时, 高优先级 ; 当 PT1=0 时, 低优先级 PX1: 外部中断 1 优先级控制位 当 PX1=1 时, 高优先级 ; 当 PX1=0 时, 低优先级 PT0: 片内定时器 T0 中断优先级控制位 当 PT0=1 时, 高优先级 ; 当 PT0=0 时, 低优先级 PX0: 外部中断 0 优先级控制位 当 PX0=1 时, 高优先级 ; 当 PX0=0 时, 低优先级 当系统复位后,IP 寄存器被清零, 即将 5 个中断源均设为低优先级 如果同一级的几个中断源同时向 CPU 申请中断,CPU 便通过内部硬件逻辑按自然优先级决定响应顺序 各中断源按自然优先级由高到低的顺序为 : 外部中断 0(IE0) 定时器 T0 溢出中断 (TF0) 外部中断 1(IE1) 定时器 T1 溢出中断 (TF1) 串行口中断(RI+TI) 1.5.4 MCS-51 的中断处理过程 中断处理过程一般分为 3 个阶段 : 中断响应 中断处理 中断返回 1. 中断响应 在中断响应阶段,CPU 要完成中断服务以前的所有准备工作 1) 中断响应的条件有中断源发出中断申请 中断总允许位 EA=1, 即 CPU 开放中断 请求中断的中断源的中断允许位置 1 2) 中断响应过程 9

如果中断响应的条件满足, 且不存在中断封锁的情况, 则 CPU 将响应中断, 进入中断响应周期 CPU 将完成以下操作 : 将响应的优先级状态寄存器置 1 由硬件清除响应的中断请求标志 执行一条由硬件生成的长调用指令 LCALL 2. 中断服务与返回 中断服务的过程为中断服务程序从入口地址开始执行, 一直到返回指令 RETI 为止 3. 中断请求的撤除 CPU 响应中断请求后, 在中端返回前, 该中断请求信号必须撤除, 否则会引起另外一次中断 联系方式 集团官网 :www.hqyj.com 嵌入式学院 :www.embedu.org 移动互联网学院 :www.3g-edu.org 企业学院 :www.farsight.com.cn 物联网学院 :www.topsight.cn 研发中心 :dev.hqyj.com 集团总部地址 : 北京市海淀区西三旗悦秀路北京明园大学校内华清远见教育集团 北京地址 : 北京市海淀区西三旗悦秀路北京明园大学校区, 电话 :010-82600386/5 上海地址 : 上海市徐汇区漕溪路 250 号银海大厦 11 层 B 区, 电话 :021-54485127 深圳地址 : 深圳市龙华新区人民北路美丽 AAA 大厦 15 层, 电话 :0755-25590506 成都地址 : 成都市武侯区科华北路 99 号科华大厦 6 层, 电话 :028-85405115 南京地址 : 南京市白下区汉中路 185 号鸿运大厦 10 层, 电话 :025-86551900 武汉地址 : 武汉市工程大学卓刀泉校区科技孵化器大楼 8 层, 电话 :027-87804688 西安地址 : 西安市高新区高新一路 12 号创业大厦 D3 楼 5 层, 电话 :029-68785218 广州地址 : 广州市天河区中山大道 268 号天河广场 3 层, 电话 :020-28916067 10