单片机课后习题答案 胡汉才编

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.25

单片机内部由哪几部分电路组成?各部分电路的主要功能是什么?

解:单片机内部由CPU、存储器和I/O接口等电路组成。CPU的主要功能是对二进制数进行算术和逻辑运算、执行指令(从ROM中取指令,对指令译码,发各种控制信号使CPU和其他部分协调一致的工作,完成指令的功能),存储器由ROM和RAM组成,ROM的主要功能是存储单片机应用系统的程序,RAM的主要功能是存储实时数据或作为通用寄存器、堆栈、数据缓冲区。I/O接口的主要功能是负责单片机和外设、外部存储器间的通信。

第二章

存在的错别字问题:“振荡”写出“推荡”;“芯片”写成“蕊片”。

2.3、程序状态字PSW各位的定义是什么?

解:PSW的各位定义如下:

Cy:进位标志位;AC:辅助进位位;

F0:用户标志位;RS1、RS0:寄存器选择位;

OV:溢出标志位;P:奇偶标志位;

PSW1:未定义。

2.4、什么叫堆栈?8031堆栈的最大容量是多少?MCS51堆栈指示器SP有多少位,作用是什么?单片机初始化后SP中的内容是什么?

解:堆栈:符合“先进后出”或“后进先出”存取规律的RAM区域。

8031堆栈的最大容量是128B;

MCS-51堆栈指针SP有8位,作用是存放栈顶(/栈低)地址;

单片机初始化后(即单片机复位后)SP中的内容是07H。

存在的问题:1、堆栈的定义中,未答出“RAM区域”,而用了“部件”;

2、只说了“单片机初始化后(即单片机复位后)SP中的内容是栈底地址”,未说明具体值07H;

3、8031堆栈的最大容量错成128M或256B。

2.5、数据指针DPTR有多少位,作用是什么?

解:数据指针DPTR有16位;作用是存放ROM或外部RAM的地址。

2.7、8051片内RAM容量有多少?可以分为哪几个区?各有什么特点?

解:8051的片内RAM容量有128B;分为三个区:工作寄存器区、位寻址区和便笺区;

存在的问题:1、8051的片内RAM容量错成256B。

2.8、8051的特殊功能寄存器SFR有多少个?可以位寻址的有哪些?

解:8051的SFR有21个,可位寻址的有11个:ACC、B、PSW、IP、P3、IE、P2、SCON、P1、TCON 和P0。

存在的问题:SFR有21个错成了26个;可位寻址的SFR中多了一个T2CON,个别同学甚至在T2CON 用了一个“+”号。

2.11、8051和片外RAM/ROM连接时,P0和P2口各用来传送什么信号?为什么P0口需要采用片外地址锁存器?

解:8051和片外RAM/ROM连接时,P0口用来分时地传送片外RAM/ROM的低8位地址信号和8位数据信号,P2口用来传送片外RAM/ROM的高8位地址信号;因为P0口在访问片外RAM/ROM的一个机器周期内,要先传送地址信号,后传送数据信号,所以P0口需要片外地址锁存器。

存在的问题:对第二问,1、未回答;2、答成了“增加数据输入的可靠性”;3、答成了“只有P0口是真正的双向口,故它具有较大的负载能力”;4、“因P0口输出的地址不能一直保持,故在ALE 下降沿被锁存,以便空中引脚去传送随后而来的片外存储器读写数据”中的“空中”应改为“空出”。

2.12、8051的ALE线的作用是什么?8051不和片外RAM/ROM相连时ALE线上输出的脉冲频率是多少?可以做什么用?

解:8051的ALE线用于锁存P0口输出的片外RAM/ROM的低8位地址;8051不和片外RAM/ROM相连时,ALE线上输出脉冲的频率是fosc/6(fosc是8051的时钟频率),该脉冲信号可用作外部时钟源或作为定时脉冲源使用。

存在的问题: 1、ALE的作用错为“ALE每次出现,CPU就进行一次取指操作”;

2、有同学漏掉了“/6”。

2.13、8051的线的作用是什么?和的作用是什么?

解::片外ROM的选通线;

:片外RAM的读选通线;

:片外RAM的写选通线。

存在的问题:1、、为读写控制端,漏掉“片外RAM”;

2、、的作用错成“是读写数据”;

3、、的作用错成“控制2#芯片”,2#芯片在哪里?

2.16、复位方式下,程序计数器PC中的内容是什么?这意味着什么?

解:复位方式下,程序计数器PC中的内容是0000H,这意味着8051在复位后,总是从0000H处执行程序(即从存储在地址为0000H的ROM单元中的指令开始执行程序)。

存在的问题:“意味着的含义”没有将最重要的含义答出,如答成“意味着PC从0000H开始计数”、“从这个初始状态工作”。

2.22、时钟周期、机器周期和指令周期的含义是什么?MCS51的一个机器周期包含多少个时钟周期?

解:时钟周期:单片机所用时钟脉冲频率的倒数;

机器周期:实现特定功能所需的时间,通常由若干时钟周期构成;

指令周期:执行一条指令所需的时间,通常由若干机器周期构成;

MCS-51的一个机器周期包含12个时钟周期。

存在的问题: 1、时钟周期的定义答成“由振荡电路产生”;

“MCS-51的一个机器周期包含12个时钟周期”中的一个漏掉;还有同学答成了Z80的机器周期的构成。

第三章

3.3、MCS-51共有哪七种寻址方式?各有什么特点?

解:MCS-51的七种寻址方式及特点如下:

直接寻址:操作数的地址在指令码中;

立即寻址:操作数在指令码中;

寄存器寻址:操作数所在的寄存器号在指令码中;

寄存器间(接寻)址:操作数地址所在的寄存器号在指令码中;

变址寻址:操作数所在ROM单元的地址等于基地址加偏移量,其中基地址在PC或DPTR中,偏移量在A中;

相对寻址:用于相对转移指令,指令码中含有相对地址偏移量;

位寻址:操作数是8位二进制数中的某位。

3.4解:1.MOV A, #40H

2.MOV A, 40H

3.MOV A, @R1

4.MOV A, R3

5.MOVC A, @A+PC

6.SJMP LOOP

立即寻址,将立即数40H送累加器A;

直接寻址,将地址为40H的内部RAM单元的内容送累加器A;

寄存器间址,将地址为R1的值的内部RAM单元的内容送累加器A;

寄存器寻址,将寄存器R3的值送累加器A;

变址寻址,将地址为(A+PC)的ROM单元的内容送累加器A;

相对寻址,将(PC+LOOP)送PC。

3.5、内部RAM的00H单元可以有哪几种寻址方式?特殊功能寄存器中的操作数有几种寻址方式?请举例说明。

解:寻址内部RAM 00H单元的寻址方式有:

直接寻址,如MOV A,00H;

寄存器寻址,如:在PSW中的RS1=0、RS0=0时,MOV A,R0;

寄存器间址,如:在PSW中的RS1=0、RS0=0、R1=0时,MOV A,@R1;

SFR的寻址方式有:

直接寻址,如MOV 20H,ACC或MOV 20H,0E0H中的源操作数;

寄存器寻址(只适用于A、B),如MOV 20H,A中的源操作数;

位寻址,如SETB ACC.7。

3.13、试问如下程序执行后累加器A和PSW中的内容是什么?

1. MOV A,#0FEH

2. MOV A,#92H

ADD A,#0FEH ADD A,#0A4H

解:

A=FCH,PSW=C0H;

A=36H,PSW=84H。

相关文档
最新文档