MCS—51系列单片机习题_第1页
MCS—51系列单片机习题_第2页
MCS—51系列单片机习题_第3页
MCS—51系列单片机习题_第4页
MCS—51系列单片机习题_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 2 章 MCS51 系列单片机的硬件结构 第 2 章 MCS51 系列单片机的硬件结构 2.1 综述综述 MCS51 系列单片机的大致功能。系列单片机的大致功能。 2.2 请结合请结合 MCS51 系列单片机的结构框图,阐明其大致组成。系列单片机的结构框图,阐明其大致组成。 2.3 学了第学了第 1 章,你认为微型计算机的结构应包含有哪些部件?学了第章,你认为微型计算机的结构应包含有哪些部件?学了第 2 章,你认 为单片机至少包含有哪些部件? 章,你认 为单片机至少包含有哪些部件? 2.4 综述综述 MCS51 系列单片机各引脚的作用,并试行分类。系列单片机各引脚的作用,并试行分类。 2.5 什么是什么是 ALU?简述?简述 MCS51 系列单片机系列单片机 ALU 的功能与特点。的功能与特点。 2.6 程序计数器的符号是什么?程序计数器的符号是什么?MCS51 系列单片机的程序计数器有几位?它的 位置在哪里? 系列单片机的程序计数器有几位?它的 位置在哪里? 2.7 何谓程序状态字?它的符号是什么?它的位置在哪里?它各位的含义是什 么?为 何谓程序状态字?它的符号是什么?它的位置在哪里?它各位的含义是什 么?为 1、为、为 0 各代表什么?各在何种场合有用?各代表什么?各在何种场合有用? 2.8 请多看些参考书 (微机、 单片机方面的教材) , 在这基础上阐述我们 “研究请多看些参考书 (微机、 单片机方面的教材) , 在这基础上阐述我们 “研究 CPU 时序的意义” 。时序的意义” 。 2.9 何谓时钟周期、机器周期、指令周期?针对何谓时钟周期、机器周期、指令周期?针对 MCS51 系列单片机,如采用系列单片机,如采用 12MHz 晶振,它们的频率和周期各是什么值?晶振,它们的频率和周期各是什么值? 2.10 我们通常说: “我们通常说: “CPU 执行一条指令的时间称为指令周期” 。 请结合执行一条指令的时间称为指令周期” 。 请结合 CPU 时序判 断:指令周期是否包含取指时间在内?再联系主教材图 时序判 断:指令周期是否包含取指时间在内?再联系主教材图 1-14,阐明指令取得后,是送那 里以有条不紊地实现指令操作码所规定的功能的?另外, 单片机内部协调工作的最小时 间单元是不是指令周期? ,阐明指令取得后,是送那 里以有条不紊地实现指令操作码所规定的功能的?另外, 单片机内部协调工作的最小时 间单元是不是指令周期? 2.11 试说明试说明 MCS51 系列单片机自振荡源开始是怎样逐级分频而得到周期为系列单片机自振荡源开始是怎样逐级分频而得到周期为 1us 的内部时钟脉冲的。的内部时钟脉冲的。 2.12 “一般说,“一般说,PC 指的是现指令的地址;严格说,指的是现指令的地址;严格说,PC 指的是下一条指令的地址。 ” 请结合时序解释上述说法。 指的是下一条指令的地址。 ” 请结合时序解释上述说法。 2.13 综述综述 MCS51 系列单片机其内存可由哪几部分组成?其编址与访问的规律 是怎样的? 系列单片机其内存可由哪几部分组成?其编址与访问的规律 是怎样的? 2.14 EA 引脚的作用是什么?在下列四种情况下,引脚的作用是什么?在下列四种情况下,EA 引脚各应接何种电平?引脚各应接何种电平? (1)只有片内)只有片内 ROM (2)只有片外)只有片外 ROM (3)有片内)有片内 ROM 和片外和片外 ROM (4)有片内)有片内 ROM 和片外和片外 ROM,片外,片外 ROM 所存为调试程度。所存为调试程度。 2.15 MCS51 系列单片机片内系列单片机片内 RAM 有多少单元?有哪些用途?这些用途各占用 哪些单元?又,堆栈的栈区设在哪里? 有多少单元?有哪些用途?这些用途各占用 哪些单元?又,堆栈的栈区设在哪里? 2.16 绘图示出绘图示出 MCS51 系列单片机的各可寻址位,并统计共有多少个可寻址位。系列单片机的各可寻址位,并统计共有多少个可寻址位。 2.17 何谓特殊功能寄存器?何谓特殊功能寄存器?8031 有哪些特殊功能寄存器?试按其用途相关联的硬 件功能单元(如 有哪些特殊功能寄存器?试按其用途相关联的硬 件功能单元(如 CPU、并行、并行 I/O 口、串行口、串行 I/O 口、定时器口、定时器/计数器、中断控制等)进行 分类。 计数器、中断控制等)进行 分类。 2.18 综述综述 TMOD、TCON、SCON、IE、IP、PCON 等等 6 个专用寄存器的名称、 应用场合各位的定义与各位内容的更换办法。 个专用寄存器的名称、 应用场合各位的定义与各位内容的更换办法。 2.19 请结合教材图请结合教材图 2-9,综述,综述 MCS51 系列单片机定时器系列单片机定时器/计数器计数器 0、1 的结构与 工作原理。 的结构与 工作原理。 2.20 定时器定时器/计数器计数器 0 已预置为已预置为 FFFFH,并选定用于方式,并选定用于方式 1 的计数器方式,问此时 定时器 的计数器方式,问此时 定时器/计数器计数器 0 的实际用途将是什么?的实际用途将是什么? 2.21 定时器定时器/计数器计数器 0 如用于下列定时,晶振为如用于下列定时,晶振为 12MHz,试为定时器,试为定时器/计数器计数器 0 编 制初始化程序。 编 制初始化程序。 (1)50ms (2)25ms 2.22 定时器定时器/计数器计数器 0 已预置为已预置为 156,且选定用于方式,且选定用于方式 2 的计数器方式,现在的计数器方式,现在 TO 引脚上输入周期为引脚上输入周期为 1ms 的脉冲,问:的脉冲,问: (1)此时定时器)此时定时器/计数器计数器 0 的实际用途是什么?的实际用途是什么? (2)在什么情况下,定时器)在什么情况下,定时器/计数器计数器 0 溢出?溢出? 2.23 设设fosc=12MHz,定时器,定时器/计数器计数器 0 的初始化程序和中断服务程序如下:的初始化程序和中断服务程序如下: ;主程序;主程序 MOV TH0,#0DH MOV TL0,#0D0H MOV TMOD,#01H SETB TR0 ;中断服务程序;中断服务程序 000B MOV TH0,#0DH MOV TL0,#0D0H RETI 请回答: (请回答: (1)该定时器)该定时器/计数器工作于什么方式?计数器工作于什么方式? (2)相应的定时时间或计数值是多少?)相应的定时时间或计数值是多少? (3)为什么在中断服务程序中要重置定时器)为什么在中断服务程序中要重置定时器/计数器的初值?计数器的初值? 2.24 综述定综述定/计计 0、定、定/计计 1、定、定/计计 2 各有哪几种工作方式,相应的工作特征与用法。各有哪几种工作方式,相应的工作特征与用法。 2.25 请归纳请归纳 MCS51 系列单片机的定时器系列单片机的定时器/计数器共有哪些用途并说清其具体用 法。 计数器共有哪些用途并说清其具体用 法。 2.26 综述综述 P0、P1、P2、P3 口各有哪几种功能。口各有哪几种功能。 2.27 试根据试根据 P0、P1、P2、P3 各口的不同用途,综述各口每一引脚具体电路的异 同。 各口的不同用途,综述各口每一引脚具体电路的异 同。 2.28 在读回端口数据时,为什么应读锁存器内容,而不宜读引脚电平?在读回端口数据时,为什么应读锁存器内容,而不宜读引脚电平? 2.29 阐明“准双向口”这一名称所以要加用“准”字的理由。阐明“准双向口”这一名称所以要加用“准”字的理由。 2.30 分析有哪些分析有哪些 MCS51 系列单片机组成的应用系统,其系列单片机组成的应用系统,其 P2 口可用作通用口可用作通用 I/O 口。口。 2.31 怎样确定怎样确定 MCS51 系列单片机串行口的工作方式?有哪几种工作方式?请 说明各种工作方式的功能、应用场合与相应的波特率。 系列单片机串行口的工作方式?有哪几种工作方式?请 说明各种工作方式的功能、应用场合与相应的波特率。 2.32 何谓波特率?综述何谓波特率?综述 MCS51 系列单片机有哪些功能部件可作为波特率发生 器,以及相应的波特率计算公式。 系列单片机有哪些功能部件可作为波特率发生 器,以及相应的波特率计算公式。 2.33 何谓串行通信、单工、半双工、全双工、发送、接收、异步通信、同步通信、 起始位、停止位、空闲位、一帧信息、同步字符、双机通信、多机通信。 何谓串行通信、单工、半双工、全双工、发送、接收、异步通信、同步通信、 起始位、停止位、空闲位、一帧信息、同步字符、双机通信、多机通信。 2.34 试简述:试简述: (1)并行通信、串行通信的优缺点。)并行通信、串行通信的优缺点。 (2)民间步通信、同步通信的优缺点。)民间步通信、同步通信的优缺点。 (3)异步、多机通信时如何鉴别地址帧与数据帧。)异步、多机通信时如何鉴别地址帧与数据帧。 2.35 在串行异步通信时, 传送具有一位偶校验位的在串行异步通信时, 传送具有一位偶校验位的 ASCII 码字符, 传送速率为码字符, 传送速率为 2400 波特,问每秒传送的字符数最多可为多少个?某帧传送的为英文字母波特,问每秒传送的字符数最多可为多少个?某帧传送的为英文字母 T,请写出该帧信 息的二进制代码。 ,请写出该帧信 息的二进制代码。 2.36 在串行异步通信时,要传送在串行异步通信时,要传送 8 位数据位数据 3BH,另采用偶校验位,另采用偶校验位 1 位,请写出该 帧信息的二进制代码。 位,请写出该 帧信息的二进制代码。 2.37 在串行异步通信时,传送最高位为奇校验位的在串行异步通信时,传送最高位为奇校验位的 ASCII 码,采用码,采用 1 位起始位和位起始位和 1 位停止位,若位停止位,若 ASCII 码为码为 39H,请写出该帧信息的二进制代码。,请写出该帧信息的二进制代码。 2.38 如异步通信,每个字符由如异步通信,每个字符由 11 位组成,串行口每秒传送位组成,串行口每秒传送 250 个字符,问波特率 为多少? 个字符,问波特率 为多少? 2.39 请列举请列举 MCS51 系列单片机的中断源和中断申请方法,并结合专用寄存器系列单片机的中断源和中断申请方法,并结合专用寄存器 IE、IP 的功能详细说明如何开中断以及各中断源中断优先权的高低是如何排列确定的。的功能详细说明如何开中断以及各中断源中断优先权的高低是如何排列确定的。 2.40 如外部中断请求如外部中断请求 INT0(INT1)采用跳变触发方式,问在响应前和响应后编程 时应作何种安排? )采用跳变触发方式,问在响应前和响应后编程 时应作何种安排? 2.41 阐明阐明 8031 单片机:单片机: (1)响应中断的条件与响应中断后由硬件自动完成的操作。)响应中断的条件与响应中断后由硬件自动完成的操作。 (2)在中断过程中另有哪些不能自动完成,必需由中断服务程序处理的操作。)在中断过程中另有哪些不能自动完成,必需由中断服务程序处理的操作。 (3)上面()上面(2)中的这些操作有什么意义?又为什么不设计成自动完成?)中的这些操作有什么意义?又为什么不设计成自动完成? 2.42 MCS51 怎样实现上电复位与操作复位?并请综述各专用寄存器复位后的状 态。 怎样实现上电复位与操作复位?并请综述各专用寄存器复位后的状 态。 2.43 MCS51 系列单片机怎样实现掉电保护?怎样工作在节电操作方式?系列单片机怎样实现掉电保护?怎样工作在节电操作方式? 2.44 如果单片机系统要求记录引脚如果单片机系统要求记录引脚 P1.1 上出现负跳变的时间, 问定上出现负跳变的时间, 问定/计计 2 应工作于 何种方式?专用寄存器 应工作于 何种方式?专用寄存器 T2CON 应具有什么样的内容?应具有什么样的内容? 2.45 某单片机系统用于定时测试压力、温度,并用定某单片机系统用于定时测试压力、温度,并用定/计计 0 实现定时。如压力超限 和温度超限的报警信号分别由 实现定时。如压力超限 和温度超限的报警信号分别由 INT0、INT1 输入,中断优先权排列顺序依次为压力超 限温度超限定时检测,试确定专用寄存器 输入,中断优先权排列顺序依次为压力超 限温度超限定时检测,试确定专用寄存器 IE 和和 IP 的内容。的内容。 2.46 上题如压力超限和温度超限的报警信号改由上题如压力超限和温度超限的报警信号改由 INT0、INT1 分别输入,其它不 作改变,问 分别输入,其它不 作改变,问 IE 和和 IP 的内容将作何种改变?的内容将作何种改变? 第3章 MCS51 系列单片机的指令系统 第3章 MCS51 系列单片机的指令系统 和汇编语言程序 和汇编语言程序 3.1 汇编指令汇编指令 3.1.1 请阐明机器语言、汇编语言、高级语言三者的主要区别,进一步说明为什么 这三种语言缺一不可。 请阐明机器语言、汇编语言、高级语言三者的主要区别,进一步说明为什么 这三种语言缺一不可。 3.1.2 请总结:请总结: (1)汇编语言程序的优缺点和适用场合。)汇编语言程序的优缺点和适用场合。 (2)学习微机原理课程时,为什么一定要学汇编语言程序?)学习微机原理课程时,为什么一定要学汇编语言程序? 3.1.3 MCS51系列单片机的寻址方式有哪几种?请列表分析各种寻址方式的访问 对象与寻址范围。 系列单片机的寻址方式有哪几种?请列表分析各种寻址方式的访问 对象与寻址范围。 3.1.4 要访问片内要访问片内 RAM,可有哪几种寻址方式?,可有哪几种寻址方式? 3.1.5 要访问片外要访问片外 RAM,有哪几种寻址方式?,有哪几种寻址方式? 3.1.6 要访问要访问 ROM,又有哪几种寻址方式?,又有哪几种寻址方式? 3.1.7 试按寻址方式对试按寻址方式对 MCS51 系列单片机的各指令重新进行归类(一般根据源 操作数寻址方式归类,程序转移类指令例外) 。 系列单片机的各指令重新进行归类(一般根据源 操作数寻址方式归类,程序转移类指令例外) 。 3.1.8 试分别针对试分别针对 51 子系列与子系列与 52 子系列, 说明子系列, 说明 MOV A, direct 指令与指令与 MOV A, Rj 指令的访问范围。指令的访问范围。 3.1.9 传送类指令中哪几个小类是访问传送类指令中哪几个小类是访问 RAM 的?哪几个小类是访问的?哪几个小类是访问 ROM 的?为 什么访问 的?为 什么访问 ROM 的指令那么少?的指令那么少?CPU 访问访问 ROM 多不多?什么时候需要访问多不多?什么时候需要访问 ROM? 3.1.10 试绘图示明试绘图示明 MCS51 系列单片机数据传送类指令可满足的各种传送关系。系列单片机数据传送类指令可满足的各种传送关系。 3.1.11 请选用指令,分别达到下列操作:请选用指令,分别达到下列操作: (1)将累加器内容送工作寄存器)将累加器内容送工作寄存器R6。 (2)将累加器内容送片内)将累加器内容送片内 RAM 的的 7BH 单元。单元。 (3)将累加器内容送片外)将累加器内容送片外 RAM 的的 7BH 单元。单元。 (4)将累加器内容送片外)将累加器内容送片外 RAM 的的 007BH 单元。单元。 (5)将)将 ROM007BH 单元内容送累加器。单元内容送累加器。 3.1.12 区分下列指令的不同功能:区分下列指令的不同功能: (1)MOV A,#24H 与与 MOV A,24H (2)MOV A,R0 与与 MOV A,R0 (3)MOV A,R0 与与 MOVX A,R0 3.1.13 设片内设片内 RAM30H 单元的内容为单元的内容为 40H; 片内片内 RAM40H 单元的内容为单元的内容为 10H; 片内片内 RAM10H 单元的内容为单元的内容为 00H; (P1)=0CAH 请写出下列各指令的机器码与执行下列指令后的结果(指各有关寄存器、请写出下列各指令的机器码与执行下列指令后的结果(指各有关寄存器、RAM 单 元与端口的内容) 。 单 元与端口的内容) 。 MOV R0,#30H MOV A,R0 MOV R1,A MOV B,R1 MOV R0,P1 MOV P3,P1 MOV 10H,#20H MOV 30H,10H 3.1.14 已知: (已知: (A)=35H, (, (R0)=6FH, (, (P1)=FCH, (, (SP)=C0H,试分别写出 下列指令的机器码及执行各条指令的结果: ,试分别写出 下列指令的机器码及执行各条指令的结果: (1)MOV R6,A (2)MOV R0,A (3)MOV A,#90H (4)MOV A,90H (5)MOV 80H,#81H (6)MOVX R0,A (7)PUSH A (8)SWAP A (9)XCH A,R0 3.1.15 已知: (已知: (A)=02H, (, (R1)=7FH, (, (DPTR)=2FFCH,片内,片内 RAM(7FH) =70H,片外,片外 RAM(2FFEH)=11H,ROM(2FFEH)=64H,试分别写出下列指令的 机器码及执行各条指令的结果。 ,试分别写出下列指令的 机器码及执行各条指令的结果。 (1)MOV A,R1 (2)MOVX DPTR,A (3)MOVC A,A+DPTR (4)XCHD A,R1 3.1.16 已知: (已知: (A)=78H, (, (R1)=78H, (, (B)=04H,C=1,片内,片内 RAM(78H)=DDH, 片内 , 片内 RAM(80H)=6CH,试分别写出下列指令的机器码及执行各条指令的结果(如涉 及标志位,也要写出) 。 ,试分别写出下列指令的机器码及执行各条指令的结果(如涉 及标志位,也要写出) 。 (1)ADD A,R1 (2)ADDC A,78H (3)SUBB A,#77H (4)INC R1 (5)DEC 78H (6)MUL AB (7)DIV AB (8)ANL 78H,#78H (9)ORL A,#0FH (10)CRL 80H,A 3.1.17 已知:已知: C=0, 累加器和, 累加器和 R1 内容分别为无符号数甲和乙, 问: 执行指令内容分别为无符号数甲和乙, 问: 执行指令 ADDC A,R1 后,进位位、符号位和溢出位将各为何值?累加器的内容为何,该如何读取?后,进位位、符号位和溢出位将各为何值?累加器的内容为何,该如何读取? (1)甲为)甲为 02H,乙为,乙为 FFH (2)甲方)甲方 01H,乙为,乙为 F0H 3.1.18 已知:已知:C=0,累加器和,累加器和 R1 内容分别为被码表示的带符号数甲和乙,问:执 行指令 内容分别为被码表示的带符号数甲和乙,问:执 行指令 ADDC A,R1 后,进位位、符号位和溢出位将各为何值?累加器的内容为何, 该如何读取? 后,进位位、符号位和溢出位将各为何值?累加器的内容为何, 该如何读取? (1)甲为)甲为 78H,乙为,乙为 05H (2)甲为)甲为 88H,乙为,乙为 FBH (3)甲为)甲为 78H,乙为,乙为 69H (4)甲为)甲为 88H,乙为,乙为 97H (5)甲为)甲为 7FH,乙为,乙为 FEH (6)甲为)甲为 7FH,乙为,乙为 80H 3.1.19 已知:已知:C=0,累加器和,累加器和 R1 内容分别为无符号数甲和乙,问:执行指令内容分别为无符号数甲和乙,问:执行指令 SUBB A,R1 后,进位位、符号位和溢出位将各为何值?累加器的内容为何,该如何读取?后,进位位、符号位和溢出位将各为何值?累加器的内容为何,该如何读取? (1)甲为)甲为 02H,乙为,乙为 FFH (2)甲方)甲方 FFH,乙为,乙为 02H 3.1.20 已知:已知:C=0,累加器和,累加器和 R1 内容分别为补码表示的带符号数甲和乙,问:执 行指令 内容分别为补码表示的带符号数甲和乙,问:执 行指令 SUBB A,R1 后,进位位、符号位和溢出位将各为何值?累加器的内容为何, 该如何读取? 后,进位位、符号位和溢出位将各为何值?累加器的内容为何, 该如何读取? (1)甲为)甲为 02H,乙为,乙为 01H (2)甲为)甲为 01H,乙为,乙为 02H (3)甲为)甲为 FFH,乙为,乙为 FEH (4)甲为)甲为 FEH,乙为,乙为 FFH (5)甲为)甲为 04H,乙为,乙为 FFH (6)甲为)甲为 FFH,乙为,乙为 04H (7)甲为)甲为 7FH,乙为,乙为 C1H (8)甲为)甲为 C1H,乙为,乙为 7FH 3.1.21 请对下列各组数分别计算“与” 、 “或” 、 “异或”的结果:请对下列各组数分别计算“与” 、 “或” 、 “异或”的结果: (1)10011010 和和 00001111 (2)11010011 和和 01011010 (3)11001100 和和 00110011 (4)10101010 和和 11111111 3.1.22 为达到下列要求,请说明应采用何种逻辑操作、采用什么操作数。要求不得 改变各未涉及位的内容。 为达到下列要求,请说明应采用何种逻辑操作、采用什么操作数。要求不得 改变各未涉及位的内容。 (1)使累加器的最低位置“)使累加器的最低位置“1” (2)清除累加器的高)清除累加器的高 4 位位 (3)使)使 A.2 和和 A.3 置“置“1” (4)清除)清除 A.3、A.4、A.5、A.6 3.1.23 请总结运用“与” 、 “或” 、 “异或”指令对字节内容进行修改的各种办法。请总结运用“与” 、 “或” 、 “异或”指令对字节内容进行修改的各种办法。 3.1.24 写出下列各条指令的机器码,并逐条写出依次执行每一条后的结果和写出下列各条指令的机器码,并逐条写出依次执行每一条后的结果和 PSW 的内容:的内容: (1)CLR A (2)MOV A,#9BH (3)MOV B,#0AFH (4)ADD A,B 3.1.25 请详细说明请详细说明 RET 和和 RETI 这两条指令的区别。这两条指令的区别。 3.1.26 已知: (已知: (A)=0, (, (R1)=40H,片内,片内 RAM(30H)=01H,FIRST=2000H, SECOND=2050H,试分别写出下列指令的机器码及执行各条指令的结果:,试分别写出下列指令的机器码及执行各条指令的结果: (1)FIRST:AJMP SECOND (2)FIRST:LJMP SECOND (3)FIRST:SJMP SECOND (4)FIRST:JZ SECOND (5)FIRST:CJNE A,30H, SECOND (6)FIRST:LCALL SECOND (7)SECOND:DJNZ R1,FIRST 3.1.27 已知:已知:P1.7=1,A.0=0,C=1,FIRST=1000H,SECOND=1020H,试分别写 出下列指令的机器码及执行各条指令的结果: ,试分别写 出下列指令的机器码及执行各条指令的结果: (1)MOV 26H,C (2)CPL A.0 (3)CLR P1.7 (4)ORL C,/P1.7 (5)FIRST:JC SECOND (6)FIRST:JNB A.0,SECOND (7)SECOND:JBC P1.7,FIRST 3.1.28 要选用工作寄存器要选用工作寄存器 3 组,请采用三种不同的指令实现之。组,请采用三种不同的指令实现之。 3.1.29 列举三种能使累加器列举三种能使累加器 A 内容清零的指令,并比较其优、缺点。内容清零的指令,并比较其优、缺点。 3.1.30 16 位地址共涉及两个字节,请统计在哪些场合按照“先低后高”规则处理, 哪些场合却按照“先高的低”规则。 位地址共涉及两个字节,请统计在哪些场合按照“先低后高”规则处理, 哪些场合却按照“先高的低”规则。 3.1.31 分组讨论:分组讨论: (1)算术操作类指令对标志位的影响。)算术操作类指令对标志位的影响。 (2)逻辑操作类指令对字节内容的修改。)逻辑操作类指令对字节内容的修改。 (3)程序转移类指令长转移、绝对转移、短转移、绝对转移与相对转移、无条件)程序转移类指令长转移、绝对转移、短转移、绝对转移与相对转移、无条件 转移与条件转移的区分;绝对转移指令机器码与转移范围的确定;相对转移指令相对偏 移量的计算;散转指令的查表转移;调用与返主指令的堆栈操作;比较转移指令的格式 与功用。 转移与条件转移的区分;绝对转移指令机器码与转移范围的确定;相对转移指令相对偏 移量的计算;散转指令的查表转移;调用与返主指令的堆栈操作;比较转移指令的格式 与功用。 (4)位操作类指令中直接寻址位的表示方式。)位操作类指令中直接寻址位的表示方式。 3.1.32 请统计请统计 MCS51 系列单片机有哪些指令可用于数据输入与输出?系列单片机有哪些指令可用于数据输入与输出? 3.1.33 请统计请统计 MCS51 系列单步机有哪些指令可用于修改并行系列单步机有哪些指令可用于修改并行 I/O 口端口寄存器 的内容? 口端口寄存器 的内容? 3.1.34 综述综述 MCS51 系列单片机指令系统的特点、 所长和所短。 已学系列单片机指令系统的特点、 所长和所短。 已学 Z80 的学生, 试比较两种指令系统的优、缺点。 的学生, 试比较两种指令系统的优、缺点。 3.1.35 请按请按 MCS51 系列单片机指令的大类,分别统计其单字节、双字节、三字 节指令数和单周期、双周期、四周期指令数。 系列单片机指令的大类,分别统计其单字节、双字节、三字 节指令数和单周期、双周期、四周期指令数。 3.1.36 试按图试按图 3-1 所示的格式, 整理出所示的格式, 整理出 MCS51 系列单片机各种指令的速查表 (由 机器码的第一字节查指令,或倒查) 。 系列单片机各种指令的速查表 (由 机器码的第一字节查指令,或倒查) 。 3.1.37 请解释下列名词:请解释下列名词: 机器码机器码 助记符助记符 操作码操作码 操作数操作数 源程序源程序 目标程序目标程序 汇编程序汇编程序 汇编语言汇编语言 汇编语言程序汇编语言程序 汇编指令汇编指令 汇编汇编 机器汇编机器汇编 人工汇编人工汇编 3.1.38 经过汇编后,下列各条语句的标号将是什么数值?经过汇编后,下列各条语句的标号将是什么数值? ORG 2000H TABLE:DS 10 WORD:DS 15,20,25,30 FANG:EQU 1000H BEGIN:MOV A,R0 3.1.39 下列程序段经汇编后,从下列程序段经汇编后,从 2000H 开始的各有关存储单元的内容将是什么?开始的各有关存储单元的内容将是什么? ORG 2000H TAB:DS 5 DB 10H,10 DW 2100H ORG 2050H DW TAB DB “WORK” 3.1.40 下列程序段经汇编后,从下列程序段经汇编后,从 1000H 开始的各有关存储单元的内容将是什么?开始的各有关存储单元的内容将是什么? ORG 1000H TAB1:EQU 1234H TAB2:EQU 3000H DB “START” DW TAB1,TAB2 3.2 汇编语言程序汇编语言程序 3.2.1 综述汇编语言程序的书写格式。综述汇编语言程序的书写格式。 3.2.2 要将片内要将片内 RAM 0FH 单元的内容传送去专用寄存器单元的内容传送去专用寄存器 B,对,对 0FH 单元的寻址可 有三种办法: 单元的寻址可 有三种办法: (1)R 寻址寻址 (2)R 间址间址 (3)direct 寻址寻址 请分别编出相应程序,比较其字节数、机器周期数和优缺点。请分别编出相应程序,比较其字节数、机器周期数和优缺点。 3.2.3 设(设(R0)=7EH, (, (DPTR)=10FEH 片内片内 RAM 7E 单元的内容为单元的内容为 0FFH 7F 单元的内容为单元的内容为 38H 试为下列程序的每条指令注释其执行结果。试为下列程序的每条指令注释其执行结果。 INC R0 INC R0 INC R0 INC DPTR INC DPTR INC DPTR 3.2.4 试编程:引用“与”运算,判断某试编程:引用“与”运算,判断某 8 位二进制数是奇数还是偶数。位二进制数是奇数还是偶数。 3.2.5 试编程:引用“或”运算,使任意试编程:引用“或”运算,使任意 8 位二进制数的符号位必为“位二进制数的符号位必为“1” 。” 。 3.2.6 请思考:引用“异或”运算,怎样可使一带符号数的符号位改变、数据位不 变;怎样可使该数必然变“ 请思考:引用“异或”运算,怎样可使一带符号数的符号位改变、数据位不 变;怎样可使该数必然变“0” 。” 。 3.2.7 要选择工作寄存器组,可有几种编程办法?要选择工作寄存器组,可有几种编程办法? 3.2.8 某压力测试的线性处理程序如下,如某压力测试的线性处理程序如下,如 A/D 转换器的输出为转换器的输出为 02H,问执行程序 后( ,问执行程序 后(A)=? MOV P1,#0FFH MOV A,P1 MOVC A,A+PC TAB:DB 00H DB 00H DB 01H DB 02H DB FEH END 3.2.9 设设 ROM、片内、片内 RAM、片外、片外 RAM 各有关单元的内容示如下图,问执行下列 程序段后( 各有关单元的内容示如下图,问执行下列 程序段后(A)=? 0000 AJMP 030H ORG 0030H 0030 MOV R0,#32H MOV A,R0 MOV R1,A MOVX A,R1 MOVC A,A+DPTR 片内片内 RAM 片外片外 RAM ROM 3.2.10 若在片内若在片内 RAM 30H 单元中有单元中有 2 位压缩的位压缩的 BCD 码码 95H, 问执行下列程序后, 问执行下列程序后, 片内片内 RAM 30H 单元的内容是什么?单元的内容是什么?31H、32H 的内容又是什么?并写出的内容又是什么?并写出 BCD 码十进 制调整的过程。 码十进 制调整的过程。 MOV R0,#30H MOV A,R0 ANL A,#0FH MOV R3,A MOV A,R0 SWAP A ANL A,#0FH ADD A,R3 DA A MOV R0,A MOV R3,A INC R0 ANL A,#0FH MOV R0,A INC R0 MOV A,R3 ANL A,#0F0H SWAP A MOV R0,A RET 3.2.11 有程序如下:有程序如下: CLR C CLR RS1 CLR RS0 MOV A,#38H MOV R0,A MOV 29H,R0 SETB RS0 MOV R1,A MOV 26H,A MOV 38H,C 请: (请: (1)区分哪些是位操作指令?哪些是字节操作指令?)区分哪些是位操作指令?哪些是字节操作指令? (2)写出程序执行后,片内)写出程序执行后,片内 RAM 有关单元的内容。有关单元的内容。 (3)译成机器码。)译成机器码。 (4)按汇编语言程序的标准格式书写,要求有各条指令的存放地址和必要的注)按汇编语言程序的标准格式书写,要求有各条指令的存放地址和必要的注 释。释。 (5)如)如fosc=12MHz,计算这段程序并存于一个字节。,计算这段程序并存于一个字节。 3.2.12 试编程:将两个试编程:将两个 4 位二进制数并存于一个字节。位二进制数并存于一个字节。 3.2.13 试编程:将存于片内试编程:将存于片内 RAM 40H、41H 单元中的单元中的 16 位数求补,结果放回原 单元(低字节放 位数求补,结果放回原 单元(低字节放 40H 单元) 。单元) 。 3.2.14 试编程:有两双字节压缩的试编程:有两双字节压缩的 BCD 码数相加,设该两待加数分别按先低后高 原则存放在 码数相加,设该两待加数分别按先低后高 原则存放在 30H、31H 和和 40H、41H 单元,和要求放回单元,和要求放回 30H、31H 单元。单元。 3.2.15 试编程: 将累加器试编程: 将累加器 A 内容低内容低 4 位送片外位送片外 RAM 7AH 单元, 高单元, 高 4 位送片外位送片外 RAM 7BH 单元,单元,7AH、7BH 单元的高单元的高 4 位均清零。位均清零。 3.2.16 试编程:将片内试编程:将片内 RAM 50H、51H 单元两个无符号数中较小的数存于单元两个无符号数中较小的数存于 60H 单 元。 单 元。 3.2.17试编程: 将片内试编程: 将片内RAM 60H69H单元中的单元中的 10个数相加, 和的低个数相加, 和的低8位存入位存入7EH, 高 , 高 8 位存入位存入 7FH。 3.2.18 试编程:统计从片内试编程:统计从片内 RAM 60H 单元起所存单元起所存 60 个数中“个数中“0”的个数,并存入 工作寄存器 ”的个数,并存入 工作寄存器 R7。 3.2.19试编程: 将试编程: 将ROM中自中自2000H单元起的单元起的100个数, 按序移至片外个数, 按序移至片外RAM自自2080H 单元起的内存区间去。单元起的内存区间去。 3.2.20 试编程: 将试编程: 将 ROM 中以中以 TAB 为初址的为初址的 32 个单元的内容依次传送到片外个单元的内容依次传送到片外 RAM 以以 00H 为初址的区域去(规定用查表指令) 。为初址的区域去(规定用查表指令) 。 3.2.21 试编写一段子程序,将片外试编写一段子程序,将片外 RAM 20H 单元中压缩的单元中压缩的 BCD 码转换成共阴的 七段笔划信息码,存于片内 码转换成共阴的 七段笔划信息码,存于片内 RAM 20H、21H 单元,以待显示(七段笔划信息码的最高单元,以待显示(七段笔划信息码的最高 位为位为 0) 。) 。 3.2.22 请编一将请编一将 A 中内容乘中内容乘 10 的程序,要求:的程序,要求: (1)不可用)不可用 MUL 指令指令 1)乘积)乘积255 2)乘积)乘积255 (2)可用)可用 MUL 指令指令 1)乘积)乘积255 2)乘积)乘积255 规定乘积放在片内规定乘积放在片内 PAM 的的 30H 单元或单元或 30H、31H 单元。单元。 3.2.23 教材例教材例 3.4 是按总和仍为两位是按总和仍为两位 BCD 码、无溢出进行编程的;如有溢出,请 重编程序。 码、无溢出进行编程的;如有溢出,请 重编程序。 3.2.24 设教材例设教材例 3.6 程序中的多字节数为程序中的多字节数为 010000H, 试剖析程序执行的经过与结果。, 试剖析程序执行的经过与结果。 3.2.25 教材例教材例 3.7 如不是两个数、而是如不是两个数、而是 n 个数,请重编程序。 (如有二数相等,不 必建起标志位) 。 个数,请重编程序。 (如有二数相等,不 必建起标志位) 。 3.2.26 CJNE 指令执行何种操作?上述例指令执行何种操作?上述例 3.7 示出的程序为什么不用这一指令?如 改用这一指令,程序将作何种改动?并请将重编后的汇编语言源程序译成机器码。 示出的程序为什么不用这一指令?如 改用这一指令,程序将作何种改动?并请将重编后的汇编语言源程序译成机器码。 3.2.27 设晶振为设晶振为 12MHz,请详细剖析(包括计算)下列程序段的性质和用途:,请详细剖析(包括计算)下列程序段的性质和用途: 0B0 79 63 DELAY:MOV R1,#63H 0B2 00 DL1:NOP 0B3 00 NOP 0B4 D9 FC DJNZ R1,DL1 0B6 22 RET 3.2.28 请编写一个能延时请编写一个能延时 1.5ms的子程序,要列出计算。的子程序,要列出计算。Tcy=1us。 3.2.29 请编写两段子程序,分别用指令延时法和定时器定时请编写两段子程序,分别用指令延时法和定时器定时 10ms,设晶振为,设晶振为 12MHz。 3.2.30 设晶振为设晶振为12MHz, 请编写二段子程序, 分别用指令延时法和定时器实现, 请编写二段子程序, 分别用指令延时法和定时器实现30ms 延时。延时。 3.2.31 某单片机系统:某单片机系统:fosc=12MHz,定,定/计计 0 用于用于 20ms定时,定定时,定/计计 1 用于用于 100 次计 数,定 次计 数,定/计计 0 和定和定/计计 1 均要求重复工作。问:均要求重复工作。问: (1)外部计数脉冲应从何引脚输入?)外部计数脉冲应从何引脚输入? (2)试编能达到上述要求的程序。)试编能达到上述要求的程序。 3.2.32 请回答: 教材例请回答: 教材例 3.19 为什么近 “为什么近 “TH0、 TL0、 TH0” 的次序读, 却不按 “” 的次序读, 却不按 “TL0、 TH0、TL0”的次序读。”的次序读。 3.2.33 阅读下列程序阅读下列程序 (1)说明该程序的功能。)说明该程序的功能。 (2)填出所缺的机器码。)填出所缺的机器码。 (3)试修改程序,使片内)试修改程序,使片内 RAM 的内容达到右下图所示的结果。的内容达到右下图所示的结果。 7A_ MOV R2,#0AH _ _ MOV R0,#50H E4 CLR A E6 LOOP:MOV R0,A 08 INC R0 DA_ _ DJNZ R2,LOOP DONE:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论