第2章 MCS—51系列单片机的硬件结构
2.1 综述MCS—51系列单片机的大致功能。
2.2 请结合MCS—51系列单片机的结构框图,阐明其大致组成。
2.3 学了第1章,你认为微型计算机的结构应包含有哪些部件?学了第2章,你认
为单片机至少包含有哪些部件?
2.4 综述MCS—51系列单片机各引脚的作用,并试行分类。
2.5 什么是ALU?简述MCS—51系列单片机ALU的功能与特点。
2.6 程序计数器的符号是什么?MCS—51系列单片机的程序计数器有几位?它的
位置在哪里?
2.7 何谓程序状态字?它的符号是什么?它的位置在哪里?它各位的含义是什
么?为1、为0各代表什么?各在何种场合有用?
2.8 请多看些参考书(微机、单片机方面的教材),在这基础上阐述我们“研究CPU
时序的意义”。
2.9 何谓时钟周期、机器周期、指令周期?针对MCS—51系列单片机,如采用
12MHz晶振,它们的频率和周期各是什么值?
2.10 我们通常说:“CPU执行一条指令的时间称为指令周期”。请结合CPU时序判
断:指令周期是否包含取指时间在内?再联系主教材图1-14,阐明指令取得后,是送那
里以有条不紊地实现指令操作码所规定的功能的?另外,单片机内部协调工作的最小时
间单元是不是指令周期?
2.11 试说明MCS—51系列单片机自振荡源开始是怎样逐级分频而得到周期为1us
的内部时钟脉冲的。
2.12 “一般说,PC指的是现指令的地址;严格说,PC指的是下一条指令的地址。”
请结合时序解释上述说法。
2.13 综述MCS—51系列单片机其内存可由哪几部分组成?其编址与访问的规律
是怎样的?
2.14 EA 引脚的作用是什么?在下列四种情况下,EA引脚各应接何种电平?
(1)只有片内ROM
(2)只有片外ROM
(3)有片内ROM和片外ROM
(4)有片内ROM和片外ROM,片外ROM所存为调试程度。
2.15 MCS—51系列单片机片内RAM有多少单元?有哪些用途?这些用途各占用
哪些单元?又,堆栈的栈区设在哪里?
2.16 绘图示出MCS—51系列单片机的各可寻址位,并统计共有多少个可寻址位。
2.17 何谓特殊功能寄存器?8031有哪些特殊功能寄存器?试按其用途相关联的硬
件功能单元(如CPU、并行I/O口、串行I/O口、定时器/计数器、中断控制等)进行
分类。
2.18 综述TMOD、TCON、SCON、IE、IP、PCON等6个专用寄存器的名称、
应用场合各位的定义与各位内容的更换办法。
2.19 请结合教材图2-9,综述MCS—51系列单片机定时器/计数器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 请归纳MCS—51系列单片机的定时器/计数器共有哪些用途并说清其具体用
法。
2.26 综述P0、P1、P2、P3口各有哪几种功能。
2.27 试根据P0、P1、P2、P3各口的不同用途,综述各口每一引脚具体电路的异
同。
2.28 在读回端口数据时,为什么应读锁存器内容,而不宜读引脚电平?
2.29 阐明“准双向口”这一名称所以要加用“准”字的理由。
2.30 分析有哪些MCS—51系列单片机组成的应用系统,其P2口可用作通用I/O
口。
2.31 怎样确定MCS—51系列单片机串行口的工作方式?有哪几种工作方式?请
说明各种工作方式的功能、应用场合与相应的波特率。
2.32 何谓波特率?综述MCS—51系列单片机有哪些功能部件可作为波特率发生
器,以及相应的波特率计算公式。
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 请列举MCS—51系列单片机的中断源和中断申请方法,并结合专用寄存器
IE、IP的功能详细说明如何开中断以及各中断源中断优先权的高低是如何排列确定的。
2.40 如外部中断请求INT0(INT1)采用跳变触发方式,问在响应前和响应后编程
时应作何种安排?
2.41 阐明8031单片机:
(1)响应中断的条件与响应中断后由硬件自动完成的操作。
(2)在中断过程中另有哪些不能自动完成,必需由中断服务程序处理的操作。
(3)上面(2)中的这些操作有什么意义?又为什么不设计成自动完成?
2.42 MCS—51怎样实现上电复位与操作复位?并请综述各专用寄存器复位后的状
态。
2.43 MCS—51系列单片机怎样实现掉电保护?怎样工作在节电操作方式?
2.44 如果单片机系统要求记录引脚P1.1上出现负跳变的时间,问定/计2应工作于
何种方式?专用寄存器T2CON应具有什么样的内容?
2.45 某单片机系统用于定时测试压力、温度,并用定/计0实现定时。如压力超限
和温度超限的报警信号分别由INT0、INT1 输入,中断优先权排列顺序依次为压力超
限→温度超限→定时检测,试确定专用寄存器IE和IP的内容。
2.46 上题如压力超限和温度超限的报警信号改由INT0、INT1分别输入,其它不
作改变,问IE和IP的内容将作何种改变?
第3章 MCS—51系列单片机的指令系统
和汇编语言程序
3.1 汇编指令
3.1.1 请阐明机器语言、汇编语言、高级语言三者的主要区别,进一步说明为什么
这三种语言缺一不可。
汇编指令有多少个3.1.2 请总结:
(1)汇编语言程序的优缺点和适用场合。
(2)学习微机原理课程时,为什么一定要学汇编语言程序?
3.1.3 MCS—51系列单片机的寻址方式有哪几种?请列表分析各种寻址方式的访问
对象与寻址范围。
3.1.4 要访问片内RAM,可有哪几种寻址方式?
3.1.5 要访问片外RAM,有哪几种寻址方式?
3.1.6 要访问ROM,又有哪几种寻址方式?
3.1.7 试按寻址方式对MCS—51系列单片机的各指令重新进行归类(一般根据源
操作数寻址方式归类,程序转移类指令例外)。
3.1.8 试分别针对51子系列与52子系列,说明MOV A,direct指令与MOV A,
@Rj指令的访问范围。
3.1.9 传送类指令中哪几个小类是访问RAM的?哪几个小类是访问ROM的?为
什么访问ROM的指令那么少?CPU访问ROM多不多?什么时候需要访问ROM?
3.1.10 试绘图示明MCS—51系列单片机数据传送类指令可满足的各种传送关系。
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 请统计MCS—51系列单
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论