单片机原理及应用 第二章优秀课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指令寄存器、指令译码器和CPU定时控制
CPU从程序存储器内取出的指令首先要送到指令寄存器, 然后送入指令译码器,由指令译码器对指令进行译码,即 把指令转变成执行该指令所需要的信号,使计算机正确地 执行程序所要求的各种操作。
堆栈指针SP 堆栈是为暂存数据或返回地址而在RAM区专门开辟的一
个数据存放区,并按照“后进先出”的原则进行操作。 堆栈指针SP(Stack Pointer)是一个8位寄存器,用它
存放栈顶的地址。进栈时,SP自动加1,将数据压入SP所 指定的地址单元;出栈时,将SP所指示的地址单元中的数 据弹出,然后SP自动减1,因此,SP总是指向栈顶。
系统复位后,SP初始化为07H,所以第一个压入堆栈的 数据存放到08H单元,即堆栈区为从07H单元开始的一部 分连续存储单元。
SP的内容是可编程的, 因而可将堆栈区定位到内 部数据存储器的任意位置。 堆栈的大小可用“深度” 表示,用户在设定堆栈区 时应该考虑到堆栈的深度, 以便能满足子程序嵌套时 的需要。
当两个正数相加,若和超过+127时,其结果的符号由正变 负,即得出负数,这时OV=l。
OV D7c D6c 0 1 1
同理,两负数相加,结果应为负数,但因和数为-241<l28,有溢出而使结果为正数,此时OV=1。
OV D7c D6c 1 0 1
在乘法运算时,OV=1表示结果超过了255,即乘积分别 在寄存器B和A中;反之表示乘积在A中。
在除法运算时,OV=1表示除数为0,不能进行除法,反 之除数不为0,可以进行除法。
P—奇偶标志,累加器A中“1”的个数为奇数时P=1,否则
P=0;
RS1,RS0:——工作寄存器组选择控制位。
0
0
0组(内部RAM地址00H~07H)
0
1
1组(内部RAM地址08H~0FH)
1
0
2组(内部RAM地址10H~17H)
1
1
3组(内部RAM地址18H~1FH)
MCS—51单片机的零标志z不包含在PSW寄存器中,而 直接安排在累加器A中
1.2 控制器
程序计数器PC
程序计数器PC(Program Counter)是16位专用寄存 器,其内容表示下一条要执行的指令的地址,PC的内容有 自动加1的功能。当CPU顺序地执行指令时,PC的内容以 增量的规律变化着,于是当一条指令取出后,PC就指向下 一条指令的地址,如果不按顺序执行指令,转移到某地址 再继续执行指令,这时在跳转之前必须将转向的程序的入 口地址送往程序计数器,以便从该入口地址开始执行程序。 由此可见,PC实际上是一个地址指示器,改变PC中的内 容就可以改变指令执行的次序,即改变程序执行的路线。 当系统复位后,PC=0000H,CPU便从这一固定的入口地 址开始执行程序。
寄存器
累加器ACC 累加器ACC,简称累加器A,Hale Waihona Puke Baidu是一个8位寄存器,通过
暂存器与ALU相连,在算术运算和逻辑运算时,通常用累 加器A存放一个参加操作的数,作为ALU的一个输入,而 ALU的运算结果又存入累加器A中。 寄存器B
寄存器B一般用于乘、除法指令,它与累加器A配合使用。 运算前,寄存器B中存放乘数或除数;运算后,B中保存 了乘积的高位字节或商的余数部分。此外,寄存器B可作 为存放中间结果的暂存寄存器使用。
二、MCS-51系列单片机的内部结构
MCS-51系列单片机的内部结构框 图
1、CPU
CPU由运算器、控制器及一些特殊功能寄存器组组 成、其结构形式与工作原理和一般的微处理器相同。可执 行下述算术/逻辑运算。 1.1、运算器
算术与逻辑运算部件ALU ALU由加法器和其他逻辑电路等组成。它的功能是,完 成各种算术运算和逻辑运算,它可以进行加、减、乘、除、 加1、减1、比较等算术运算和与、或、非、异或、取反、 取补等逻辑运算。以及循环移位、位操作等。
数据指针DPTR
数据指针DPTR(Data Pointer)是一个16位的专用寄 存器,专门用来存放16位数据存储器的地址,以便对外部 数据存储器RAM读写数据,作间接寄存器使用。它可指 向64K字节范围内的任一存储单元,也可以分成高字节 DPH和低字节DPL两个独立的8位寄存器,这为修改 DPTR的内容提供了方便。
AC—辅助进位标志,当累加器中A3向A4有进位或错位时AC=1,否则 AC=0;
F0—用户标志位,可由用户置“1”,或置“0”,作为某一种状态的标志;
OV—溢出标志,计算机中,带符号数通常是用补码表示 的.对于单字节二进制补码,其所能表示数的范围是 -128到 +127,如果运算结果超出了这个数值范围,就称为溢出。 一般两个同号数相加或两个异号数相减,有可能发生溢出; 而两个同号数相减或两个异号数相加,则不会发生溢出。
程序状态字寄存器PSW
运算操作过程中的一些状态信息存放在程序状态字寄存器PSW中, PSW寄存器的字节地址是DOH,PSW各位的符号与定义如下:
C—进位标志(CY),有进位或借位时,C=1,否则C=0; Cy=1提示 无符号数运算超出范围。 在进行位操作时,CY作为位累加器C,也称为布尔累加器。此外,循 环移位指令和比较转移指令也会影响CY标志。
单片机原理及应用 第二章
§2.1 MCS-51单片机逻辑结构与引脚功能
一、MCS-51系列单片机的基本组成
80C51单片机包括: 面向控制的8位CPU和指令。 4K字节的程序存储器(Flash)。 128字节的数据存储器,21个特殊功能寄存器。 可编程并行I/O口PO-P3,有32位双向输入/输出线。 一个全双工串行口。 两个16位定时器/计数器。 五个中断源,两个中断优先级的中断结构。 一个片内时钟振荡器和时钟电路。 可寻址64K字节的程序存储器和64K字节的外部数据存储器。
带进位和不带进位的加法 带进位的减法 两个八位无符号数的乘法和除法 加1或减1操作 逻辑“与”、“或”、“异或”操作、字节取反操作 左右循环移位操作 半字节交换 二十进制(BCD码)调整 比较和条件转移的判断等操作 “位”操作:置位、清零、取反、条件判断、逻辑“与”、
“或”等操作
CPU从程序存储器内取出的指令首先要送到指令寄存器, 然后送入指令译码器,由指令译码器对指令进行译码,即 把指令转变成执行该指令所需要的信号,使计算机正确地 执行程序所要求的各种操作。
堆栈指针SP 堆栈是为暂存数据或返回地址而在RAM区专门开辟的一
个数据存放区,并按照“后进先出”的原则进行操作。 堆栈指针SP(Stack Pointer)是一个8位寄存器,用它
存放栈顶的地址。进栈时,SP自动加1,将数据压入SP所 指定的地址单元;出栈时,将SP所指示的地址单元中的数 据弹出,然后SP自动减1,因此,SP总是指向栈顶。
系统复位后,SP初始化为07H,所以第一个压入堆栈的 数据存放到08H单元,即堆栈区为从07H单元开始的一部 分连续存储单元。
SP的内容是可编程的, 因而可将堆栈区定位到内 部数据存储器的任意位置。 堆栈的大小可用“深度” 表示,用户在设定堆栈区 时应该考虑到堆栈的深度, 以便能满足子程序嵌套时 的需要。
当两个正数相加,若和超过+127时,其结果的符号由正变 负,即得出负数,这时OV=l。
OV D7c D6c 0 1 1
同理,两负数相加,结果应为负数,但因和数为-241<l28,有溢出而使结果为正数,此时OV=1。
OV D7c D6c 1 0 1
在乘法运算时,OV=1表示结果超过了255,即乘积分别 在寄存器B和A中;反之表示乘积在A中。
在除法运算时,OV=1表示除数为0,不能进行除法,反 之除数不为0,可以进行除法。
P—奇偶标志,累加器A中“1”的个数为奇数时P=1,否则
P=0;
RS1,RS0:——工作寄存器组选择控制位。
0
0
0组(内部RAM地址00H~07H)
0
1
1组(内部RAM地址08H~0FH)
1
0
2组(内部RAM地址10H~17H)
1
1
3组(内部RAM地址18H~1FH)
MCS—51单片机的零标志z不包含在PSW寄存器中,而 直接安排在累加器A中
1.2 控制器
程序计数器PC
程序计数器PC(Program Counter)是16位专用寄存 器,其内容表示下一条要执行的指令的地址,PC的内容有 自动加1的功能。当CPU顺序地执行指令时,PC的内容以 增量的规律变化着,于是当一条指令取出后,PC就指向下 一条指令的地址,如果不按顺序执行指令,转移到某地址 再继续执行指令,这时在跳转之前必须将转向的程序的入 口地址送往程序计数器,以便从该入口地址开始执行程序。 由此可见,PC实际上是一个地址指示器,改变PC中的内 容就可以改变指令执行的次序,即改变程序执行的路线。 当系统复位后,PC=0000H,CPU便从这一固定的入口地 址开始执行程序。
寄存器
累加器ACC 累加器ACC,简称累加器A,Hale Waihona Puke Baidu是一个8位寄存器,通过
暂存器与ALU相连,在算术运算和逻辑运算时,通常用累 加器A存放一个参加操作的数,作为ALU的一个输入,而 ALU的运算结果又存入累加器A中。 寄存器B
寄存器B一般用于乘、除法指令,它与累加器A配合使用。 运算前,寄存器B中存放乘数或除数;运算后,B中保存 了乘积的高位字节或商的余数部分。此外,寄存器B可作 为存放中间结果的暂存寄存器使用。
二、MCS-51系列单片机的内部结构
MCS-51系列单片机的内部结构框 图
1、CPU
CPU由运算器、控制器及一些特殊功能寄存器组组 成、其结构形式与工作原理和一般的微处理器相同。可执 行下述算术/逻辑运算。 1.1、运算器
算术与逻辑运算部件ALU ALU由加法器和其他逻辑电路等组成。它的功能是,完 成各种算术运算和逻辑运算,它可以进行加、减、乘、除、 加1、减1、比较等算术运算和与、或、非、异或、取反、 取补等逻辑运算。以及循环移位、位操作等。
数据指针DPTR
数据指针DPTR(Data Pointer)是一个16位的专用寄 存器,专门用来存放16位数据存储器的地址,以便对外部 数据存储器RAM读写数据,作间接寄存器使用。它可指 向64K字节范围内的任一存储单元,也可以分成高字节 DPH和低字节DPL两个独立的8位寄存器,这为修改 DPTR的内容提供了方便。
AC—辅助进位标志,当累加器中A3向A4有进位或错位时AC=1,否则 AC=0;
F0—用户标志位,可由用户置“1”,或置“0”,作为某一种状态的标志;
OV—溢出标志,计算机中,带符号数通常是用补码表示 的.对于单字节二进制补码,其所能表示数的范围是 -128到 +127,如果运算结果超出了这个数值范围,就称为溢出。 一般两个同号数相加或两个异号数相减,有可能发生溢出; 而两个同号数相减或两个异号数相加,则不会发生溢出。
程序状态字寄存器PSW
运算操作过程中的一些状态信息存放在程序状态字寄存器PSW中, PSW寄存器的字节地址是DOH,PSW各位的符号与定义如下:
C—进位标志(CY),有进位或借位时,C=1,否则C=0; Cy=1提示 无符号数运算超出范围。 在进行位操作时,CY作为位累加器C,也称为布尔累加器。此外,循 环移位指令和比较转移指令也会影响CY标志。
单片机原理及应用 第二章
§2.1 MCS-51单片机逻辑结构与引脚功能
一、MCS-51系列单片机的基本组成
80C51单片机包括: 面向控制的8位CPU和指令。 4K字节的程序存储器(Flash)。 128字节的数据存储器,21个特殊功能寄存器。 可编程并行I/O口PO-P3,有32位双向输入/输出线。 一个全双工串行口。 两个16位定时器/计数器。 五个中断源,两个中断优先级的中断结构。 一个片内时钟振荡器和时钟电路。 可寻址64K字节的程序存储器和64K字节的外部数据存储器。
带进位和不带进位的加法 带进位的减法 两个八位无符号数的乘法和除法 加1或减1操作 逻辑“与”、“或”、“异或”操作、字节取反操作 左右循环移位操作 半字节交换 二十进制(BCD码)调整 比较和条件转移的判断等操作 “位”操作:置位、清零、取反、条件判断、逻辑“与”、
“或”等操作