1.3、微机原理关键基础知识
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断请求可以响应,也可以屏蔽掉。这种控制可以通过中断控制指令来 实现。MCS-51具有可屏蔽中断功能。
②、非屏蔽中断: CPU对NMI中断输入线上来的中断请求是不可屏蔽(或控制)的, 一旦发生,CPU必须响应。 ③、软件中断: 软件中断是指人们可以通过相应的中断指令使CPU响应中断,CPU 只要执行这种指令就转入相应中断服务程序执行,以完成相应的中断功 能。即中断源为软件指令。如:Intel 8088\8086等CPU。
(2)、几个特殊功能寄存器SFR
PSW(Program Status Word):存放指令执行后的有关状态。
PSW7 CY AC F0 RS1 RS0 OV PSW0 P
CY(Carry):用于表示加减运算中有无进位或借位。 F0(Flag Zero):是供用户设定标志状态信息的标志位。 RS1和RS0:用于选择工作寄存器组。 OV(Overflow):用于指示补码运算过程中是否发生了溢出。 P(Parity):指示运算结果(A)中1的个数的奇偶性。(凑偶数) 以上各位中,CY、AC、OV、P在指令执行过程中自动形成, F0、RS1和RS0由用户设定。
(3)、 Memory Spaces
存储空间: MCS-51系列单片机采用程序存储器和数据存储器相互独立的编址方式。它 具有三个相互独立的存储空间: ①程序存储空间:0000H~0FFFFH共64KB,包括片内和片外两部分。 ②片外数据存储空间: 0000H~0FFFFH共64KB,包括片外RAM和I/O端口。 ③片内数据存储器:00H~7FH共128字节的片内RAM。和片外RAM独立。 程序存储空间:片内和片外ROM 是混合编址的,一共64KB。 FFFFH 1000H
(2)、几个特殊功能寄存器SFR
SP(Stack Pointer):堆栈指针。 堆栈是在片内RAM中为子程序调用和中断操作而开辟的 临时暂存区,用于保护断点和保护现场。 保护断点:即保护子程序调用或中断操作结束后程序应 返回到的主程序中原来被打断处的下一条指令的地址。 保护现场:即将子程序或中断服务程序中用到的寄存器 或RAM单元中的内容保护起来,以免影响主程序的执行。 堆栈的操作:先进后出、后进先出,向上增长。 栈底的地址是固定的,由SP的初值决定。 栈顶的地址是动态的,由SP的当前值决定。每向堆栈中放 入一个数,SP自动加1;每从堆栈中取走一个数,SP自动减1。 SP象一个地址指针,始终指示着堆栈中最上面的那个数据。
即0000H~0FFFH的4KB
空间,片内和片外ROM都可 占用(视EA确定),但只有一 0FFFH ~
个被实际使用。
片内ROM 0000H EA=1
~
片外ROM
片外ROM EA=0
(4)、Timing of Microcontroller
时序:时序就是CPU在执行指令时所需要的控制信号的时间顺 序。在执行指令是,CPU首先要到程序存储器中取出需要执行 指令的指令码,然后对指令译码,并由时序部件产生一系列 控制信号去完成指令的执行。这些控制信号在时间上的相互 关系就是CPU时序。
定时精度的提高方法: * * * 从溢出中断申请到响应中断进入中断子程序的误差TS1的确定: 在中断子程序中,停止计数,并读取当前计数值N1。N1=TS1。 修正方法:由于T0/T1是加计数器,所以把N1加入定时初值即可。 避免T0/T1上的中断嵌套:将T0设为唯一m
时钟周期:时钟周期又称振荡期周期。T=1/fosc。
机器周期:实现特定功能所需要的时间,通常由若干个时钟 周期构成。MCS-51单片机的机器周期是固定的,均由12个时 钟周期组成。
指令周期:执行一条指令所需要的时间。不同指令所包含的 机器周期数是不同的。单周期指令、双周期指令和四周期指 令三种。
1.3 微机原理基础知识
MCS-51系列单片机性能概述 几个特殊功能寄存器SFR 存储空间 时序的概念 定时/计数器 中断系统 I/O接口
(1)、MCS-51 单片机 general Description
High Performance HMOS Process Internal Timers/ Event Counters 2-Level Interrupt Priority Structure 32 I/O Lines (Four 8-bit Ports) Boolean Processor Programmable Full Duplex Serial Port 128×8-bit Internal RAM 4 K byte On-Chip ROM/EPROM Power Control Mode 64K External Program Memory Space 64K External Data Memory Space
(5)、Timer/ Counters
定时/计数器控制寄存器TCON: TCON用于控制T0和T1的计数启停、并提供中断标志位。 TCON的各位定义如下:
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TR0:T0的软件运行控制位,由软件置位或清零。 当GATE=0时:TR0单独控制T0。TR0=1:计数,TR0=0:停止。 当GATE=1时:由TR0∧(GATE∨INT0)控制T0。1:计数,0:停止。 TF0 : T0 的溢出中断申请标志位。 T0 溢出,硬件自动置位 TF0 ,该标志位 可由软件查询,也可由软件清零或置位。在CPU响应该中断申请后,硬件 自动清零TF0。 TR1:T1的软件运行控制位,由软件置位或清零。(功能同TR0) TF1:T1的溢出中断申请标志位。 (功能同TF0)
(5)、Timer/ Counters
定时功能的程序设计:
T0/T1定时初值的确定:已知定时值为“T”秒。 * 先确定一个计数脉冲(机器周期)的时间“t”;
*
*
再确定“T”秒定时值所对应的脉冲(机器周期)数“N”;
最后确定定时初值“Y”。 Y=2n –N
其中“2n”为定时/计数器的溢出值,这表示在“Y”的基础上再来“N” 个脉冲溢出,而来这N个脉冲正好需要“T”秒的时间。
(5)、Timer/ Counters
定时/计数器工作方式寄存器TMOD: TMOD的功能:TMOD决定三件事:定时/计数器工作模式的选择、工作方 式的选择、是否为T0/T1设定门控功能。 TMOD的定义:低四位用于编程T0,高四位用于编程T1 GATE C/T M1 M0 GATE C/T M1 M0 C/T位:定时或计数工作模式选择位:1——计数;0——定时。 M1、M0:工作方式选择位:共有4种工作方式 01—方式1:THx的8位和TLx的8位构成16位的定时/计数器。
(6)、Interrupt System
中断源:是指引起中断的设备或部件,或发出中断请求信号的源泉。
①、外部设备中断源:用于外部I/O设备和CPU之间的实时数据传送。
要求外部设备在输入/输出完一个数据时能自动产生一个“中断请求”电信 号。如:串行中断、键盘中断、打印机中断等。
②、控制对象中断源:用于实时控制系统,被控对象用作中断源。
中断:是指CPU暂停正在执行的程序的执行,转而为紧急 事件服务(执行中断服务子程序),并在服务完后又回到 原程序继续执行的过程。 中断的过程:当计算机正常执行某一程序时,突然发生了 紧急事件,则此紧急事件可以要求CPU停止执行当前程序, 而转去执行预先编好的另一段转门处理该紧急事件的程序 (中断服务子程序)。此过程为“中断申请”;CPU响应 该申请,并把当前程序的应执行的下一条指令的地址“断 点”入堆栈保护,然后转去执行中断服务子程序。此过程 为“中断响应”。中断服务子程序执行完毕,从堆栈中取 出“断点”到PC中,程序又转回原先执行的程序继续往下 正常执行。此过程为“中断返回”。
(5)、Timer/ Counters
注意事项:
计数溢出后自动置位相应的中断请求标志位TF0/TF1,但溢出 后若不关断定时/计数器,它们将从0开始继续循环计数。
可以对T0/T1进行读写操作。写入计数初值、读出当前实时计 数值。16位分两次完成。在计数过程中读取计数值,应连读两 次,校验高位字节读出值相同时才有效。 计数模式:对T0/T1管脚上送入的外部脉冲进行计数。外部脉 冲的每一个正跳变使计数内容加1。 复位状态:T0=0000H、T1=0000H、TMOD=00H、TCON=00H。
(2)、几个特殊功能寄存器SFR
PC(Program Counter):存放下一条需要执行的指令的内存 地址,能自动加1。
DPTR(Data Pointer):DPTR是16位寄存器。寻址范围64KB。 DPTR主要用来存放片外RAM的地址,也可用来存储片外或片 内ROM的地址,以用来访问程序中的常数表。 PCON(Power Control):电源控制寄存器。 PD:掉电控制位。PD=1,进入掉电工作方式。 IDL:空闲控制位。IDL=1,进入空闲工作方式。 硬件复位后,退出掉电工作方式,各SFR状态复位,但片内 RAM内容不变。发生中断时,CPU便从激活空闲方式指令的 下一条指令开始继续执行程序。
10—方式2:可自动重装初值的8位定时器。TLx溢出时,THx→TLx。
GATE:门控位。用于决定T0/T1是否需要外部硬件触发信号。 GATE=0:“软件”单独控制计数器启停。T0/T1分别由TR0/TR1控制。
GATE=1:“软件+门控”联合控制计数器启停。软件:TR0/TR1。门 控:INT0/INT1引脚上的外加信号。当TRx=1且INTx=1时,Tx 才进行计数。
(4)、Timing of Microcontroller
单字节双周期指令:MOVX A,@DPTR; MOVX @DPTR,A 第一阶段按PC地址读片外ROM得指令码到IR,然后译码控制 第二阶段的执行,第二阶段按DPTR读片外RAM得数据到A。
(5)、Timer/ Counters
IE、IP、SP:中断相关操作。决定T0/T1的中断优先级和中断允许状态。
初始化顺序:SP→IP →TMOD → T0/T1 →TCON →IE 有关定时/计数器的程序一般分为三部分: 初始化程序段:各相关SFR赋初值。 主程序:一般与T0/T1无关。 CPU和T0/T1可以并行工作。 T0/T1中断服务子程序:重装初值、溢出标志事件的处理。
8051内部有两个16位可编程的定时/计数器T0和T1。
定时模式:源信号来自于系统内部的时钟信号,又称机器 周期计数器,可用来产生一定的定时时间。
计数模式:源信号来自于系统外部事件的脉冲信号,又称 外部事件计数器,可用来控制或监测外部事件的发生次数。 最大定时/计数值:T0和T1都是16位加计数器,最大值为 216-1=65535。即当T0或T1的计数值达到65535时,再来 1个脉冲,T0或T1就会由全“1”翻转到全“0”,此时它会 以中断的形式立即告知CPU计数已满。所以通过给T0或T1 设置不同的初值,即可获得不同的定时时间或外部时间计 数次数。
要求CPU及时采集系统的控制参量、越限参数以及要求发送或接收数据。 ③、故障中断源:用于出错、故障等紧急处理。如除数为0、掉电处理等。 ④、定时脉冲中断源:定时/计数器的溢出中断。用于定时或计数外部事 件的发生次数。
(6)、Interrupt System
①、可屏蔽中断:
是指CPU可以控制的一类中断。CPU对INT中断请求输入线上输入的
(5)、Timer/ Counters
定时/计数器的初始化过程:
定时/计数器一般工作于中断方式,也可工作于查询方式。 和定时/计数器相关的SFR:
TMOD:决定定时/计数工作模式、工作方式、启停控制方式。
TCON:控制T0/T1计数的启停。 T0/T1:写入计数初值,以决溢出时的脉冲数,产生不同的定时/计数值。
②、非屏蔽中断: CPU对NMI中断输入线上来的中断请求是不可屏蔽(或控制)的, 一旦发生,CPU必须响应。 ③、软件中断: 软件中断是指人们可以通过相应的中断指令使CPU响应中断,CPU 只要执行这种指令就转入相应中断服务程序执行,以完成相应的中断功 能。即中断源为软件指令。如:Intel 8088\8086等CPU。
(2)、几个特殊功能寄存器SFR
PSW(Program Status Word):存放指令执行后的有关状态。
PSW7 CY AC F0 RS1 RS0 OV PSW0 P
CY(Carry):用于表示加减运算中有无进位或借位。 F0(Flag Zero):是供用户设定标志状态信息的标志位。 RS1和RS0:用于选择工作寄存器组。 OV(Overflow):用于指示补码运算过程中是否发生了溢出。 P(Parity):指示运算结果(A)中1的个数的奇偶性。(凑偶数) 以上各位中,CY、AC、OV、P在指令执行过程中自动形成, F0、RS1和RS0由用户设定。
(3)、 Memory Spaces
存储空间: MCS-51系列单片机采用程序存储器和数据存储器相互独立的编址方式。它 具有三个相互独立的存储空间: ①程序存储空间:0000H~0FFFFH共64KB,包括片内和片外两部分。 ②片外数据存储空间: 0000H~0FFFFH共64KB,包括片外RAM和I/O端口。 ③片内数据存储器:00H~7FH共128字节的片内RAM。和片外RAM独立。 程序存储空间:片内和片外ROM 是混合编址的,一共64KB。 FFFFH 1000H
(2)、几个特殊功能寄存器SFR
SP(Stack Pointer):堆栈指针。 堆栈是在片内RAM中为子程序调用和中断操作而开辟的 临时暂存区,用于保护断点和保护现场。 保护断点:即保护子程序调用或中断操作结束后程序应 返回到的主程序中原来被打断处的下一条指令的地址。 保护现场:即将子程序或中断服务程序中用到的寄存器 或RAM单元中的内容保护起来,以免影响主程序的执行。 堆栈的操作:先进后出、后进先出,向上增长。 栈底的地址是固定的,由SP的初值决定。 栈顶的地址是动态的,由SP的当前值决定。每向堆栈中放 入一个数,SP自动加1;每从堆栈中取走一个数,SP自动减1。 SP象一个地址指针,始终指示着堆栈中最上面的那个数据。
即0000H~0FFFH的4KB
空间,片内和片外ROM都可 占用(视EA确定),但只有一 0FFFH ~
个被实际使用。
片内ROM 0000H EA=1
~
片外ROM
片外ROM EA=0
(4)、Timing of Microcontroller
时序:时序就是CPU在执行指令时所需要的控制信号的时间顺 序。在执行指令是,CPU首先要到程序存储器中取出需要执行 指令的指令码,然后对指令译码,并由时序部件产生一系列 控制信号去完成指令的执行。这些控制信号在时间上的相互 关系就是CPU时序。
定时精度的提高方法: * * * 从溢出中断申请到响应中断进入中断子程序的误差TS1的确定: 在中断子程序中,停止计数,并读取当前计数值N1。N1=TS1。 修正方法:由于T0/T1是加计数器,所以把N1加入定时初值即可。 避免T0/T1上的中断嵌套:将T0设为唯一m
时钟周期:时钟周期又称振荡期周期。T=1/fosc。
机器周期:实现特定功能所需要的时间,通常由若干个时钟 周期构成。MCS-51单片机的机器周期是固定的,均由12个时 钟周期组成。
指令周期:执行一条指令所需要的时间。不同指令所包含的 机器周期数是不同的。单周期指令、双周期指令和四周期指 令三种。
1.3 微机原理基础知识
MCS-51系列单片机性能概述 几个特殊功能寄存器SFR 存储空间 时序的概念 定时/计数器 中断系统 I/O接口
(1)、MCS-51 单片机 general Description
High Performance HMOS Process Internal Timers/ Event Counters 2-Level Interrupt Priority Structure 32 I/O Lines (Four 8-bit Ports) Boolean Processor Programmable Full Duplex Serial Port 128×8-bit Internal RAM 4 K byte On-Chip ROM/EPROM Power Control Mode 64K External Program Memory Space 64K External Data Memory Space
(5)、Timer/ Counters
定时/计数器控制寄存器TCON: TCON用于控制T0和T1的计数启停、并提供中断标志位。 TCON的各位定义如下:
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TR0:T0的软件运行控制位,由软件置位或清零。 当GATE=0时:TR0单独控制T0。TR0=1:计数,TR0=0:停止。 当GATE=1时:由TR0∧(GATE∨INT0)控制T0。1:计数,0:停止。 TF0 : T0 的溢出中断申请标志位。 T0 溢出,硬件自动置位 TF0 ,该标志位 可由软件查询,也可由软件清零或置位。在CPU响应该中断申请后,硬件 自动清零TF0。 TR1:T1的软件运行控制位,由软件置位或清零。(功能同TR0) TF1:T1的溢出中断申请标志位。 (功能同TF0)
(5)、Timer/ Counters
定时功能的程序设计:
T0/T1定时初值的确定:已知定时值为“T”秒。 * 先确定一个计数脉冲(机器周期)的时间“t”;
*
*
再确定“T”秒定时值所对应的脉冲(机器周期)数“N”;
最后确定定时初值“Y”。 Y=2n –N
其中“2n”为定时/计数器的溢出值,这表示在“Y”的基础上再来“N” 个脉冲溢出,而来这N个脉冲正好需要“T”秒的时间。
(5)、Timer/ Counters
定时/计数器工作方式寄存器TMOD: TMOD的功能:TMOD决定三件事:定时/计数器工作模式的选择、工作方 式的选择、是否为T0/T1设定门控功能。 TMOD的定义:低四位用于编程T0,高四位用于编程T1 GATE C/T M1 M0 GATE C/T M1 M0 C/T位:定时或计数工作模式选择位:1——计数;0——定时。 M1、M0:工作方式选择位:共有4种工作方式 01—方式1:THx的8位和TLx的8位构成16位的定时/计数器。
(6)、Interrupt System
中断源:是指引起中断的设备或部件,或发出中断请求信号的源泉。
①、外部设备中断源:用于外部I/O设备和CPU之间的实时数据传送。
要求外部设备在输入/输出完一个数据时能自动产生一个“中断请求”电信 号。如:串行中断、键盘中断、打印机中断等。
②、控制对象中断源:用于实时控制系统,被控对象用作中断源。
中断:是指CPU暂停正在执行的程序的执行,转而为紧急 事件服务(执行中断服务子程序),并在服务完后又回到 原程序继续执行的过程。 中断的过程:当计算机正常执行某一程序时,突然发生了 紧急事件,则此紧急事件可以要求CPU停止执行当前程序, 而转去执行预先编好的另一段转门处理该紧急事件的程序 (中断服务子程序)。此过程为“中断申请”;CPU响应 该申请,并把当前程序的应执行的下一条指令的地址“断 点”入堆栈保护,然后转去执行中断服务子程序。此过程 为“中断响应”。中断服务子程序执行完毕,从堆栈中取 出“断点”到PC中,程序又转回原先执行的程序继续往下 正常执行。此过程为“中断返回”。
(5)、Timer/ Counters
注意事项:
计数溢出后自动置位相应的中断请求标志位TF0/TF1,但溢出 后若不关断定时/计数器,它们将从0开始继续循环计数。
可以对T0/T1进行读写操作。写入计数初值、读出当前实时计 数值。16位分两次完成。在计数过程中读取计数值,应连读两 次,校验高位字节读出值相同时才有效。 计数模式:对T0/T1管脚上送入的外部脉冲进行计数。外部脉 冲的每一个正跳变使计数内容加1。 复位状态:T0=0000H、T1=0000H、TMOD=00H、TCON=00H。
(2)、几个特殊功能寄存器SFR
PC(Program Counter):存放下一条需要执行的指令的内存 地址,能自动加1。
DPTR(Data Pointer):DPTR是16位寄存器。寻址范围64KB。 DPTR主要用来存放片外RAM的地址,也可用来存储片外或片 内ROM的地址,以用来访问程序中的常数表。 PCON(Power Control):电源控制寄存器。 PD:掉电控制位。PD=1,进入掉电工作方式。 IDL:空闲控制位。IDL=1,进入空闲工作方式。 硬件复位后,退出掉电工作方式,各SFR状态复位,但片内 RAM内容不变。发生中断时,CPU便从激活空闲方式指令的 下一条指令开始继续执行程序。
10—方式2:可自动重装初值的8位定时器。TLx溢出时,THx→TLx。
GATE:门控位。用于决定T0/T1是否需要外部硬件触发信号。 GATE=0:“软件”单独控制计数器启停。T0/T1分别由TR0/TR1控制。
GATE=1:“软件+门控”联合控制计数器启停。软件:TR0/TR1。门 控:INT0/INT1引脚上的外加信号。当TRx=1且INTx=1时,Tx 才进行计数。
(4)、Timing of Microcontroller
单字节双周期指令:MOVX A,@DPTR; MOVX @DPTR,A 第一阶段按PC地址读片外ROM得指令码到IR,然后译码控制 第二阶段的执行,第二阶段按DPTR读片外RAM得数据到A。
(5)、Timer/ Counters
IE、IP、SP:中断相关操作。决定T0/T1的中断优先级和中断允许状态。
初始化顺序:SP→IP →TMOD → T0/T1 →TCON →IE 有关定时/计数器的程序一般分为三部分: 初始化程序段:各相关SFR赋初值。 主程序:一般与T0/T1无关。 CPU和T0/T1可以并行工作。 T0/T1中断服务子程序:重装初值、溢出标志事件的处理。
8051内部有两个16位可编程的定时/计数器T0和T1。
定时模式:源信号来自于系统内部的时钟信号,又称机器 周期计数器,可用来产生一定的定时时间。
计数模式:源信号来自于系统外部事件的脉冲信号,又称 外部事件计数器,可用来控制或监测外部事件的发生次数。 最大定时/计数值:T0和T1都是16位加计数器,最大值为 216-1=65535。即当T0或T1的计数值达到65535时,再来 1个脉冲,T0或T1就会由全“1”翻转到全“0”,此时它会 以中断的形式立即告知CPU计数已满。所以通过给T0或T1 设置不同的初值,即可获得不同的定时时间或外部时间计 数次数。
要求CPU及时采集系统的控制参量、越限参数以及要求发送或接收数据。 ③、故障中断源:用于出错、故障等紧急处理。如除数为0、掉电处理等。 ④、定时脉冲中断源:定时/计数器的溢出中断。用于定时或计数外部事 件的发生次数。
(6)、Interrupt System
①、可屏蔽中断:
是指CPU可以控制的一类中断。CPU对INT中断请求输入线上输入的
(5)、Timer/ Counters
定时/计数器的初始化过程:
定时/计数器一般工作于中断方式,也可工作于查询方式。 和定时/计数器相关的SFR:
TMOD:决定定时/计数工作模式、工作方式、启停控制方式。
TCON:控制T0/T1计数的启停。 T0/T1:写入计数初值,以决溢出时的脉冲数,产生不同的定时/计数值。