AT89S51单片机简介复习过程
第5章 AT89S51的中断系统讲解
5.5 有关中断的几个问题(续)
二、中断响应的主要过程? (1)由硬件自动生成一条长调用指令 :LCALL addr16
(2)执行该指令 ,即把PC的内容压入堆栈以保护 断点,再将相应中断入口地址装入 PC。
各中断源服务程序的 入口地址固定 ,如下所示:
中断源
入口地址
外部中断 0 定时器 /计数器 T0 外部中断 1 定时器 /计数器 T1 串行口中断
5.4 AT89S51 中断系统相关的寄存器(续)
2. SCON 寄存器(串行口控制寄存器) 字节地址 98H,可位寻址。格式如下:
(1)TI —发送中断请求标志位。
串口每发送完一帧串行数据后,硬件自动将TI置“1” 。 必须用软件对TI标志清“0”。
(2)RI —接收中断请求标志位。
串口接收完一个数据帧,硬件自动将RI置“1” 。 必须用软件对RI标志清“0”。
0:禁止串行口中断; 1:允许串行口中断。
3. IE 寄存器(续)
(3)ET1 :定时器/计数器T1的溢出中断允许位
0:禁止T1溢出中断; 1:允许T1溢出中断。
(4)EX1:外部中断 1中断允许位
0:禁止外部中断1中断; 1:允许外部中断1中断。
(5)ET0 :定时器/计数器T0的溢出中断允许位
第 5 章 AT89S51单片机的中断系统
主要内容: 1. AT89S51 中断系统的硬件组成、工作原理。 2. 与中断系统相关的特殊功能寄存器。 3. 中断系统的应用特性。
重点掌握: 1. 中断系统的初始化编程 2. 中断服务子程序的设计
5.1 AT89S51 中断技术概述
中断请求:CPU正执行程序时,单片机外部或内部发生某一
⑸ 串行口中断请求
第2章 AT89S51单片机系统结构和
技术凝聚实力 专业创新出版
2.2.1 8051结构
如图所示为8031、8051、8751的内部总体结构,该结构按功能可划分为8个组成部 分,它们是通过片内单一总线连接起来的。 微处理器(CPU); 数据存储器(RAM); 程序存储器(ROM/EPROM); 特殊功能寄存器(SFR); I/O口; 串行口; 定时器/计数器及中断系统。
当AT89S51工作于节电模式时,CPU进入睡眠模式,但是 所有的端口仍然保持工作状态。节电模式能够通过软件 进入,在这个模式下,所有的内存数据和特殊功能寄存 器的值均保持不变。节电模式能够被任何使能的中断和 硬件复位所结束。 当节电模式是由于硬件复位结束时,程序将从其进入节 电模式的指令继续执行,为了避免在外部引脚有不可预 测的输出,最好不要将写外部端口操作和读取外部内存 放在节电模式指令后的下一步操作。
技术凝聚实力 专业创新出版
2.2.4 特殊寄存器组(SFR)
AT89S51单片机中的特殊功能寄存器(SFR)是非常重要 的内存单元,对于单片机的工程技术人员来说,理解了 SFR也就基本掌握了AT89S51单片机。 AT89S51单片机的SFR包括内部的I/O口锁存器、累加器、 定时器、串行口、中断等各种控制寄存器和状态寄存器, 共26个SFR,它们离散地分布在80H~0FFH的SFR地址空间 内,其余空缺内存位置为保留空间,为将来单片机内核 升级使用,特殊功能寄存器名及对应的地址
SP是一个8为的SFR,它用来指示出堆栈顶部在内部RAM 块中的位置。系统复位后SP的值为07H,若不对SP设置 初值,则堆栈在08H开始的区域,为了不占用工作寄存 器R0~R7的地址,一般在编程时应设置SP的初值。 数据进入堆栈前,SP加1(成为压栈);数据从堆栈中 取出(成为出栈)后,SP减1。
AT89S51单片机中断系统和定时计数器
2、定时/计数器工作方式控制寄存器TMOD
TMOD 位定义 D7 GATE D6 C/T D5 M1 D4 M0 D3 GATE D2 C/T D1 M1 D0 M0
高4位控制T1,低4位控制T0 (1)GATE——门控位。GATE一般情况下设置为 0,此时定时/计数器的运行仅受TR0/TR1控制。 (2)C/T——定时/计数选择位。 C/T=0,为定时方式,对内部的机器周期计数。 C/T=1,为计数方式,对引脚上的脉冲信号计数, 负跳变有效。
最小系统
360Ω
P3.2
S
+5V
+5V 10K
按键信号加到外部中断0的引脚P3.2上,当S不 按下时,P3.2引脚为高电平,按下则为低电平,在 按键的过程中P3.2引脚产生中断请求信号
程序如下:
ORG 0000H
LJMP SETUP
ORG 0003H
SETB IT0
SETB EX0 SETB EA MAIN: LJMP MAIN INEX0P:MOV P1,A RL A RETI END
中断扫描控制方式独立式键盘接口电路 (在LED数码管动态扫描电路基础上)
定义S1~S4四个按键的功能分别为:第一个数码管 上数据加1(0~9循环)、第二个数码管上的数据减1 (0~9循环)、4位数据左移一次、4位数据右移一次。
4.4.4、行列式键盘接口电路
1、接口电路
又称做矩阵 式键盘接口
(2)将列线作为输出线,行线为输入线, 在所有列线输出上0,读行线。
3、中断服务
中断服务就是中断 源 请 求 CPU 做 的 任 务 , 需要编程者用指令来实 现。
4、中断返回 中断返回和子程序的返回类似,需要执 行一条返回指令RETI RETI ;①(SP)→PC15~8,SP-1→SP。 ;②(SP)→PC7~0,SP-1→SP。 中断返回时完成的操作: (1)恢复断点地址。 (2)开放同级中断 。
单片机第3章 AT89S51单片机原理与基本应用系统
2、内部数据存储器(内RAM)
AT89S51单片机内部有128B字节划分为三部分: 工作寄存器区、位寻址区和数据缓冲区。
30~7FH
数据 缓冲
区
位寻址 20~2FH 区
18~1FH 3区 10~17H 2区 08~0FH 1区 00~07H 0区 (R0~R7)
0区(00H~07H)
1区(08H~0FH)
2区(10H~17H)
3区(18H~1FH)
在任一时刻只有一个区作为当前的工作寄存器 区,相应的空间单元作为工作寄存器使用。工作寄 存器区的选择可通过程序状态字PSW中的D4、D3 位实现。不是当前工作寄存器区的可以作为一般的 RAM空间使用。
操作方式:8位整体操作。
二、AT89S51单片机引脚功能
1、电源 VCC(P40)——芯片电源,接+5V。 VSS(P20) ——接电源地。
2、时钟 XTAL1(P19)——晶体振荡电路的反相器
输入端 XTAL2(P18)——晶体振荡电路的反相器
输出端。
使用内部振荡电路时,该引脚外接石英晶 体和补偿电容。使用外部振荡输入时从 XTAL2输入,此时XTAL1需接地。
MOV指令操作 MOVX指令操作
RAM地址空间
1、程序存储器(ROM) 不管是内部的还是外部的ROM,开头的
0003H~002AH空间地址是中断源的入口地址区,是专 用单元,一般情况下用户不能用来存放其它程序。
CPU是根据PC(程序计数器)值从ROM中取指 令来执行的。CPU每从ROM中读取一个字节,自动执 行(PC)+1→PC,即PC指向下一个地址空间,一般 情况下CPU是按ROM地址空间顺序从小到大依次执行。 只有执行的指令是转移类指令,才根据转移类指令所指 示的新地址,调整PC值,然后根据新的PC值从对应的 地址空间中取指令来执行。
第7章AT89S51单片机的定时器计数器
图7-4 定时器/计数器方式0的逻辑结构框图
9
方式0为13位计数器,由TLx(x = 0,1)的低5位和THx的
高8位构成。TLx低5位溢出则向THx进位,THx计数溢出则把 TCON中的溢出标志位TFx置“1”。 图7-2中,C/T*位控制电子开关决定2种工作模式。 (1)C/T*=0,电子开关打在上面,T1(或T0)为定时器工
T0分为两个独立的8位计数器TL0和TH0,TL0使用T0的
状态控制位C/T* 、GATE、TR0 ,而TH0被固定为一个8位 定时器(不能作为外部计数模式),并使用定时器T1的状态 控制位TR1,同时占用定时器T1的中断请求源TF1。
16
2.T0工作在方式3时T1的各种工作方式 一般情况下,当T1用作串口波特率发生器时,T0才工作在
方式3。T0方式3时,T1可为方式0、1、2,作为串口波特率发
生器,或不需要中断的场合。
17
图7-8
T0方式3的逻辑结构框图
(1)T1工作在方式0
T1的控制字中M1、M0 = 00时,T1工作在方式0,工作 示意图如图7-9所示。
图7-9
T0方式3时T1为方式0工作示意图
(2)T1工作在方式1 当T1的控制字中M1、M0 = 01时,T1工作在方式1,工 作示意见图7-10。
TCON字节地址88H,可位寻址,位地址为88H~8FH。格
式见图7-3。
图7-3 TCON格式
7
第6章已介绍与外中断有关的低4位。这里仅介绍高4位功能。
(1)TF1、TF0—计数溢出标志位 当计数器计数溢出时,该位置“1”。使用查询方式时,此 位可供CPU查询,但应注意查询后,用软件及时将该位清 “0”。使用中断方式时,作为中断请求标志位,进入中断服务
单片机第8章 AT89S51单片机串行通信技术
8.1.3数据缓冲寄存器SBUF
数据缓冲寄存器SBUF用于保存要发送的数据或 者从串口接收到的数据,在特殊功能寄存器区的 地址是99H。CPU执行写 MOV SBUF,A指令便 开始触发串口数据的发送。SBUF便一位一位地 发送数据,发送完成后置标志TI=1;在CPU允许 接收串行数据的时,外部串行数据经RXD送入 SBUF时,电路便自动启动接收,第9位则装入 SCON寄存器的RB8位,直至完成一帧数据后将 RI置1,当串口接收缓冲器接收到一帧数据时,可 以执行MOV A,SBUF指令进行读取。
第8章 AT89S51单片机串行通信接 口技术
单片机原理、应用与仿真
第8章 AT89S51单片机串行通信接口技术
【知识目标】
1.掌握串行口的工作原理及相关的特殊功能寄存器。 2.熟悉标准串行接口的硬件接口设计。 3.掌握串行通信程序的设计。
【技能目标】
1.掌握串行口的硬件接口电路设计及软件驱动程序设计。 2.掌握基于PROTEUS的串行通信接口电路的仿真调试。
98H
位号 SCON.7 SCON.6 SCON.5 SCON.4 SCON.3 SCON.2 SCON.1 SCON.0
单片机原理、应用与仿真
8.1.1串行口控制寄存器SCON
SM0 SM1:串行口4种工作方式的选择位。如表 8-1所示。
表8-1串行通信工作方式
SM0
单片机第3章 AT89S51单片机的指令系统
单片机第3章 AT89S51单片机的指令系统在单片机的世界里,指令系统就像是指挥单片机工作的“语言”,它决定了单片机能够完成哪些任务以及如何高效地完成这些任务。
AT89S51 单片机的指令系统丰富多样,为我们实现各种功能提供了强大的支持。
首先,让我们来了解一下指令的基本格式。
AT89S51 单片机的指令通常由操作码和操作数两部分组成。
操作码指明了要执行的操作,比如加法、减法、数据传送等;操作数则提供了操作所需的具体数据或者数据的地址。
AT89S51 单片机的指令可以分为数据传送类指令、算术运算类指令、逻辑运算类指令、控制转移类指令等几大类。
数据传送类指令是最为基础和常用的指令之一。
比如 MOV 指令,它可以实现将一个数据从一个位置传送到另一个位置。
例如 MOV A,50H ,就是将十六进制数 50H 传送到累加器 A 中。
算术运算类指令用于进行加、减、乘、除等运算。
例如 ADD A, R0 ,就是将累加器 A 的内容和寄存器 R0 的内容相加,结果存放在累加器A 中。
逻辑运算类指令则用于对数据进行与、或、异或等逻辑操作。
比如ANL A, 0FH ,就是将累加器 A 的内容和十六进制数 0FH 进行与运算。
控制转移类指令在程序的流程控制中起着关键作用。
比如JZ label ,如果累加器 A 的内容为 0 ,则程序跳转到指定的 label 处执行。
在实际编程中,我们需要根据具体的需求灵活运用这些指令。
比如,当我们要实现一个简单的加法运算时,可以使用算术运算类指令;当需要在不同的程序段之间跳转时,就需要用到控制转移类指令。
为了更好地理解和运用 AT89S51 单片机的指令系统,我们还需要了解一些指令的执行周期和寻址方式。
指令的执行周期决定了指令执行的速度。
不同的指令执行周期可能不同,这会影响程序的运行效率。
而寻址方式则决定了如何获取操作数。
AT89S51 单片机支持直接寻址、寄存器寻址、寄存器间接寻址、立即寻址等多种寻址方式。
第三章 AT89S51单片机的结构和原理
1 2 3 4 5 6 7 8 9 RESPACK-8 1K*8 P17 P16 P15 P14 P13 P12 P11 P10 P14 8 7 6 5 4 3 2 1
U1
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P3.7/RD P3.6/WR P3.5/T1 P3.4/T0 P3.3/INT1 P3.2/INT0 P3.1/TXD P3.0/RXD P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 P0.7/AD7 P0.6/AD6 P0.5/AD5 P0.4/AD4 P0.3/AD3 P0.2/AD2 P0.1/AD1 P0.0/AD0 17 16 15 14 13 12 11 10 28 27 26 25 24 23 22 21 32 33 34 35 36 37 38 39
读引脚
读引脚
图3-3 P0口的一位结构图
图3-4 P1口的一位结构图
单片机的引脚(P0口)
P0.0—P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口 和输出低8位地址复用口;不接外部程序存储器 时可作为8位准双向I/O口使用。
读锁存器 2 地址/数据 控制 =0 0 3 0
5V K
22μF C1 RST
AT89S51
K R2 200Ω
R1 AT89S51 1KΩ
R2 1KΩ
22μF C1
R1 AT89S51 1KΩ
(a)上电复位电路
(b)按键电平复位电路 图3-14 复位电路
(c)按键脉冲复位电路
第五节 I/O口应用举例
AT89S51单片机原理及应用技术第6章
为高优先级 定时器/计数 外部中断1 定时器/计数 外部中断0
器T1中断为 中断为高优 器T0中断为 中断为高优
高优先级 先级
高优先级 先级
图6-7 IP的格式
6.1 AT89S51单片机的中断系统及应用
3、中断嵌套的过程及规则
CPU 执行主程序
CPU 执行低级 中断服务程序
CPU 执行高级 中断服务程序
位。
先级控制位。控制位。 先级控制位。控制位。
PS=0,
PT1=0, PX1=0, PT0=0, PX0=0,
串行口中断 定时器/计数 外部中断1 定时器/计数 外部中断0
为低优先级 器T1中断为 中断为低优 器T0中断为 中断为低优
PS=1, 低优先级 先级
低优先级 先级
串行口中断 PT1=1, PX1=1, PT0=1, PX0=1,
图6-1 中断响应和处理过程
6.1 AT89S51单片机的中断系统及应用
6.1.1 单片机中断系统
图6-2 AT89S51中断系统结构图
6.1 AT89S51单片机的中断系统及应用
5个中断请求源,2个中断优先级,可以实现2级中断服务程序嵌套,
每一个中断源可以使用程序独立的控制为允许中断或者关闭中断;每一
(4)定时器/计数器T1计数溢出发出的中断请求,中断标志位为TF1。
(5)串行口中断请求,中断请求标志位为发送中断TI和接收中断RI。
6.1 AT89S51单片机的中断系统及应用
6.1.2 单片机的中断请求寄存器 1、定时器/计数器的控制寄存器 (TCON,88H)
D7 位地址
D6 D5 D4
D3
6.1 AT89S51单片机的中断系统及应用
AT89S51单片机原理及应用技术第4章
2.END(End of Assembly)汇编终止命令 END是源程序结束标志,终止源程序的汇编工作。整个源程序中只
能有一条END命令,且位于程序的最后。如果END出现在程序中间,其 后的源程序将不进行汇编处理。
4.1 AT89S51的汇编语言简介
4.1.3 汇编语言常用的伪指令 伪指令具有控制汇编程序的输入/输出、定义数据和符号、条件汇编
、分配存储空间等功能。下面介绍单片机汇编语言中常用的伪指令。
1.ORG(Origin)汇编起始地址命令 源程序或数据块的开始,用ORG伪指令规定程序的起始地址,指示
汇编程序开始对源程序进行汇编。如果不用ORG,则汇编得到的目标程 序将从0000H地址开始。例4-1中,规定标号START代表地址从2000H开 始,第1条指令及其后续指令汇编后的机器码都从2000H单元开始存放。
4.1 AT89S51的汇编语言简介
例4-1 结合一个汇编语言程序片段分析四分段格式,见表4-1。 表4-1 汇编语言程序片段
标号段 操作码段
操作数段
注释段
说明
ORG START: MOV
MOV MOV LOOP: ADD
2000H A,#00H R1,#5
;A←0 ;R1←5
R2,#00000010B ;R2←02H
4.1 AT89S51的汇编语言简介
用汇编语言编写的程序效率高,占用的内存单元和CPU资源少,执行 速度快;可直接调用和访问存储器、输入/输出接口以及扩展的各种芯片 ,能直接管理和控制硬件设备;能准确地掌控指令的执行时间,适用于实 时控制系统,也可以直接处理中断。 汇编语言依赖具体的机器硬件,属于低级语言范畴,程序通用性和可移植 性较差。 4.1.2 汇编语言语句及格式
AT89S51单片机原理及应用技术第2章
双功能引脚,ALE功能是输出端,PROG功能是输入端。 ALE功能:是为CPU访问外部程序存储器或外部数据存储器时提供低 8位地址锁存信号输出,将低8位地址信号锁存在外部的低8位地址锁存器中 。ALE信号是下降沿有效。当单片机正常运行时,不包括访问外部数据存 储器操作,ALE引脚一直有周期性正脉冲信号输出,信号频率固定为单片 机时钟振荡器频率fosc的1/6,此信号可用作外部定时或触发信号;每当单片
AT89S51单片机的主要特性参数如下: 与MCS-51系列产品完全兼容。 4K字节在系统编程(ISP) Flash存储器,承受10000次擦写周期。 4.0-6.0V的工作电压范围。 全静态工作方式:0MHz-33 MHz。 3级程序加密位。 128×8位内部RAM。 32个可编程I/O端口线。 2个16位定时/计数器。 5个中断源。 全双工UART串行口。 低功耗空闲和掉电方式。 掉电方式的中断唤醒功能。
2.1 AT89S51的内部结构及外部引脚特性
通用I/O端口:没有第三态,为准双向I/O端口。P1口作为通用I/O端口 输入时,应先向端口锁存器写入1(FFH),然后再输入(读引脚);作为 通用I/O端口输出时,P1口可驱动4个LS型TTL负载。
串行编程接口:引脚P1.5/MOSI、P1.6/MISO和P1.7/SCK(Serial Clock)可用于对片内Flash存储器串行编程和校验,分别是串行数据输入 、串行数据输出和串行移位脉冲(串行时钟)引脚。
另外,该引脚可接上备用电源,当主电源发生故障,降低到低电平 规定值或掉电时,该备用电源为片内RAM供电,以保证RAM中的数据不 会丢失。
单片机第3章 AT89S51单片机的指令系统
数据传送类指令是把源操作数传送到目的操作数。指令执行之 后,源操作数不改变,目的操作数修改为源操作数。所以数 据传送类操作属“复制”性质,而不是“搬家”。
本类指令不影响标志位:Cy、Ac和OV,但不包括奇偶标志位P。
1.以累加器为目的操作数的指令
MOV
第3章 AT89S51单片机的 指令系统
内容概要
AT89S51单片机使用MCS-51指令系统。 介绍指令系统寻址方式 对111条基本指令按功能分类详细讲解。 指令---是CPU按照人们的意图来完成某种操作的命令,它以
英文名称或缩写形式作为助记符。 汇编语言指令---用助记符、符号地址、标号等表示的书写
表2-3 内部RAM的可寻址位及位地址
表2-4 SFR中的位地址分布
7种寻址方式已介绍完毕。 问题:当一条指令给定后,如何来确定该指令的寻址方式?
例如: MOV A,#40H,属于立即数寻址还是寄存器寻址? 要看以哪个操作数作为参照系。 操作数分为源操作数和目的操作数。对于源操作数“#40H”
;(R6)→A,寄存器寻址 ;((R0))→A,间接寻址 ;(70H)→A,直接寻址 ;78H→A,立即数寻址
2.以Rn为目的操作数的指令
MOV Rn ,A
;(A)→Rn ,n =0~7
MOV Rn ,direct
;(direct)→Rn ,n =0~7
MOV Rn ,#data
;#data→Rn ,n =0~7
7.位寻址方式 对内部RAM和特殊功能寄存器具有位寻址功能的某位内容进行
置1和清0操作。 位地址一般以直接位地址给出,位地址符号为“bit”。 例如:MOV C,bit 其具体指令: MOV C,40H 把位地址为40H的值送到进位位C。 由于AT89S51具有位处理功能,可直接对数据位方便地实现置1、
单片机AT89S51的概述
单片机AT89S51的概述AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场介,可灵活应用于各种控制领域。
主要性能参数:·与MCS-51 产品指令系统完全兼容·4k字节在线系统编程(ISP) Flash闪速存储器·1000次擦写周期·4.0---5.5V的工作电压范围·全静态工作模式:0Hz---33MHz·三级程序加密锁·128×8字节内部RAM·32个可编程I/O口线·2个16位定时/计数器·6个中断源·全双工串行UART通道·低功耗空闲和掉电模式·中断可从空闲模式唤醒系统·看门狗(WDT)及双数据指针·掉电标识和快速编程特性·灵活的在线系统编程(ISP一字节或页写模式)功能特性概述:AT89S51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
引脚功能说明:·Vcc:电源电压·GND:地·P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
AT89S51单片机期末考试复习资料
AT89S51单⽚机期末考试复习资料单⽚机复习资料⼀、填空题1.80C51的Po⼝作为输出端⼝时,每位能驱动 8 个SL型TTL负载。
2.当80C51引脚 ALE 信号有效时,表⽰从Po⼝稳定地送出了低8位地址。
3.⼀个机器周期等于 6 个状态周期,振荡脉冲2分频后产⽣的时钟信号的周期定义为状态周期。
4.在80C51单⽚机内部RAM中,字节地址范围是20H ~ 2FH的区域称为位寻址区,⽽字节地址范围是30H ~ 7FH的⼀段区域称为通⽤RAM区。
5.80C51系列单⽚机内部数据存储器,即内RAM中位寻址区的地址范围是 20H~2FH⼯作寄存器区的地址范围是 00H~1FH 。
内R0M中寻址区的地址范围是0000H~0FFFH 。
6.80C51有 4 个并⾏I\O⼝,其中P0~P3是准双向⼝,所以由输出转输⼊时必须先写⼊ 1 。
7.80C51串⾏接⼝有4种⼯作⽅式,这可在初始化程序中⽤软件填写特殊功能寄存器SCON 加以选择。
8.若不使⽤80C51⽚内存器引脚 EA 必须接地。
9.80C51的堆栈是软件填写堆栈指针临时在⽚内RAM 内开辟的区域。
10.80C51有4组⼯作寄存器,它们的地址范围是 00H~1FH 。
11.80C51⽚内 20H~2FH 范围内的数据存储器,既可以字节寻址⼜可以位寻址。
12.计算机的系统总线有数据总线、地址总线、控制总线。
13.80C51在物理有 4 个独⽴的存储空间。
14.程序状态标志字寄存器PSW中的PSW.7的含义是进/借位标志;PSW.0的含义是奇偶标志位。
15.通常单⽚机上电复位时PC= 0000H SP=07H,通⽤寄存器采⽤第0组,这⼀组寄存器的地址范围是从00H ~07H。
16.单⽚机的存储器设计采⽤哈佛结构,它的特点是将程序存储器空间和数据存储器空间在物理上截然分开,分别寻址。
17.单⽚机系统的复位⽅式有上电复位和⼿动按键复位两种。
18.80C51单⽚机的内部硬件结构包括了:运算器、控制器、存储器、和寄存器以及并⾏I/O⼝、串⾏⼝、中断控制系统、时钟电路、位处理器等部件,这些部件通过总线相连接。
第三章 AT89S51单片机的结构和原理.
P2.7 28
14 P3.4/T0
P2.6 27
15 P3.5/T1
P2.5 26
16 P3.6/WR
P2.4 25
17 P3.7/RD
P2.3 24
18 XTAL2
P2.2 23
19 XTAL1
P2.1 22
20 GND
P2.0 21
12 13 P3.6/WR 14 P3.7/RD 15 XTAL2 16 XTAL1 17 GND 18 NC 19 P2.0 20 P2.1 21 P2.2 22 P2.3
二、AT89S51单片机的片外总线结构
I/O
1 P1.0
2 P1.1
3 4 5 6 7 8 10 11 12 13
P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RXD TXD INT0 INT1
14 T0
CB
15 16 17 18 19 ALE 30 31 29 9
T1 WR RD XTAL2 XTAL1 ALE/PROG EA/VP PSEN RESET
(外部中断0) (外部中断1) T0(定时器0的计数输入) T1(定时器1的计数输入) (外部数据存储器写脉冲) (外部数据存储器读脉冲)
第二节 AT89S51单片机的引脚及片 外总线结构
一、AT89S51单片机芯片引脚描述
1 P1.0
Vcc 40
2 P1.1
P0.0 39
3 P1.2
P0.1 38
图3-4 P1口的一位结构图
单片机的引脚(P0口)
P0.0—P0.7: 双向I/O (内置场效应管上拉)
寻址外部程序存储器时分时作为双向8位数据口 和输出低8位地址复用口;不接外部程序存储器 时可作为8位准双向I/O口使用。
第14章 AT89S51单片机的指令系统
14.3.2 指令系统分析
(二)访问程序存储器的指令(查表指令) MOVC A,@A+DPTR ; ((A)+(DPTR))A DPTR放表的首地址,A放所查数据在表中的偏移; 查表范围为64KB空间。远程查表
MOVC A,@A+PC ; ((A)+(PC))A(唯一的一条 用到PC的)
PC的值为下一条指令的地址, A放所查数据相对 PC值的偏移;查表范围为最大为256B空间 近程查 表
4
14.2 AT89S51 单片机的寻址方式
寻址方式 :CPU执行指令时获取操作数的方式 MSC-51单片机有7种不同的寻址方式 :
(1)立即寻址方式 (2)直接寻址方式 (3)寄存器寻址方式 (4)寄存器间接寻址方式 (5)变址寻址方式 (6)位寻址方式 (7)相对寻址方式
5
14.2 AT89S51 单片机的寻址方式
AT89S51单片机中可以作基址寄存器: 2个十六位寄存器,DPTR和PC AT89S51单片机中变址寄存器: 8位寄存器:累加器A 操作数存放在一个由(PC)+(A)或(DPTR)+(A)指出 的十六位地址所指的单元中(在ROM中),有以下 3种指令
MOVC A,@A+PC MOVC A,@A+DPTR JMP @A+DPTR
Direct直接寻址
@Ri间接寻址
Rn寄存器寻址 #data立即数
25
指令系统分析
在使用通用数据传送指令时,应注意以下几点 : (1)AT89S51单片机不支持工作寄存器R0~R7内容直接
传送给由地址寄存器内容指定的单元,或由地址寄存 器内容指定单元的内容送给工作寄存器R0~R7,如果 需要传送,如果在程序中需要这样的数据传送,可以 采用其他方式间接实现。 例如:希望把地址寄存器R1内容指定的单元内容传送 给工作寄存器R5,可以采用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A T89S51单片机简介
一、AT89S51单片机简介
AT89S51 为 ATMEL 所生产的可电气烧录清洗的 8051 相容单芯片,其内部程序代码容量为4KB
(一)、AT89S51主要功能列举如下:
1、为一般控制应用的 8 位单芯片
2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)
3、内部程式存储器(ROM)为 4KB
4、内部数据存储器(RAM)为 128B
5、外部程序存储器可扩充至 64KB
6、外部数据存储器可扩充至 64KB
7、32 条双向输入输出线,且每条均可以单独做 I/O 的控制
8、5 个中断向量源
9、2 组独立的 16 位定时器Array
10、1 个全多工串行通信端口
11、8751 及 8752 单芯片具有数据
保密的功能
12、单芯片提供位逻辑运算指令
(二)、AT89S51各引脚功能介绍:
VCC:
AT89S51 电源正端输入,接+5V。
VSS:
电源地端。
XTAL1:
单芯片系统时钟的反相放大器输入端。
XTAL2:
系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:
AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/Vpp:
"EA"为英文"External Access"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。
如果是使用 8751 内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。
ALE/PROG:
ALE是英文"Address Latch Enable"的缩写,表示地址锁存器启用信号。
AT89S51可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。
平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。
此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
PSEN:
此为"Program Store Enable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。
AT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
PORT0(P0.0~P0.7):
端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
其他三个I/O端口(P1、P2、
P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。
如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。
PORT2(P2.0~P2.7):
端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS 的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。
P2除了当做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。
PORT1(P1.0~P1.7):
端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
PORT3(P3.0~P3.7):
端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
P3.0:RXD,串行通信输入。
P3.1:TXD,串行通信输出。
P3.2:INT0,外部中断0输入。
P3.3:INT1,外部中断1输入。
P3.4:T0,计时计数器0输入。
P3.5:T1,计时计数器1输入。
P3.6:WR:外部数据存储器的写入信号。
P3.7:RD,外部数据存储器的读取信号。