单片机原理与接口技术课后习题第二章参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章练习题参考答案
1:什么叫单片机周期?机器周期与时钟频率有什么关系?当时钟频率分别为12MHz和6MHz时,一个机器周期是多少?
答:机器周期是80C51单片机工作的基本定时单位,简称机周。一个机器周期含有12个时钟周期,当时钟频率为12MHz时,机器周期1us;当时钟频率为6MHz时,机器周期为2us。
2:80C51单片机复位的条件是什么?复位后PC、SP和P0~P3的值是什么?
答:80C51单片机复位的条件是RST引脚保持2个机器周期以上的高电平。
3:80C51 ROM空间中,0000H~0023H有什么用途?用户应怎样安排?
答:0000H~0023H是80C51系统专用单元,其中0000H为CPU复位地址,0003H~0023H 是5个中断源服务程序入口地址,用户不能安排其他内容。一般来讲,从0030H以后,用户可以自由安排。
4:堆栈的作用是什么?在堆栈中存储数据时有什么原则?如何理解?SP是什么寄存器?SP中的内容是什么?
答:堆栈是CPU用于暂时存放特殊数据的“仓库”。如子程序断口地址、中断断口地址和其他需要保存的数据。
堆栈中数据存取按先进后出、后进先出的原则。相当于冲锋枪的子弹夹,子弹一粒粒压进去,射击时,最后压进去的子弹先打出去(后进先出),最先压进去的子弹后打出去(先进后出)。
SP称为堆栈指针,专用于指出堆栈顶部的地址。无论存入还是取出数据,
SP始终指向堆栈最顶部数据的地址。
5:P0作为输出口时,有什么要求?
答:用做输出时,P0应外接上拉电阻。
6.设N1=+1001011B,N2=-1010100B,求:N1,N2的真值、 N1,N2的原码、N1,N2的反码和N1,N2的补码。
解:
真值:N1=+1001011B,N2= -1010100B
原码:N1=01001011B,N2= B
反码:N1=01001011B,N2= B
补码:N1=01001011B,N2= B
说明:在计算机中,数的正负在最高位分别用“0”、“1”表示。8位微型计算机中约定,最高位D7表示符号,其他7位表示数值。为了区别原来的数与它在计算机中的表示形式,我们将已经数码化了的带符号的数称为机器数,而把原来的数称为机器数的真值。
7.8051片内数据存储器RAM空间较小,仅用8位地址寻址,最大寻址范围为256个单元(00H-FFH),按使用情况不同可分为低128B单元和高128B单元(80H-FFH),片内数据存储器低128B按用途不同又可分为三个区域:地址从_00_H到_1F_H为通用寄存器区,地址从_20_H到_2F_H为位寻址区,地址从_30_H到_7F_H为用户区,用户区为真正的数据缓冲区,可用来暂存用户数据或当作堆栈使用。
答:8051片内数据存储器RAM空间较小,仅用8位地址寻址,最大寻址范围为256个单元(00H-FFH),按使用情况不同可分为低128B单元和高128B单元(80H-FFH),片内数据存储器低128B按用途不同又可分为三个区域:地址从00H到1FH为通用寄存器区,地址从20H到2FH为位寻址区,地址从30H到7FH为用户区,用户区为真正的数据缓冲区,可用来暂存用户数据或当作堆栈使用。
8.简述80C51单片机内部结构和引脚功能。
答:内部结构:由一个8位CPU、128B内RAM、21个特殊功能寄存器,4个8位并行I/O口、两个16位定时/计数器,一个串行输入输出口和时钟电路等组成。
引脚功能:共有40个引脚,除了电源、接地、时钟端和32条I/O端线外,有4个控制引脚:ALE(地址锁存允许)、PSEN(外ROM读选通)、RST(复位)、EA(内外ROM选择)。
9.简述80C51存储空间配置和功能。
答:80C51有三个不同的存储空间,分别是64KB ROM,64KB外RAM和256B片内RAM,用不同的指令和控制信号实现操作。1)ROM共有64KB,60KB在片外,4KB在片内。ROM主要用于存放程序,CPU读ROM中程序以程序计数器PC作为16位地址指针;用户读ROM中数据用MOVC指令,控制信号是PSEN和EA。2)外RAM共64KB,读写外RAM用MOVX指令,控制信号是P3口中的WR和RD。3)内RAM共有128B,可分为工作寄存器区(00H-1FH)、位寻址区(20H-2FH)和数据缓冲区(30H-3FH)。4)特殊功能寄存器(SFR)共有21个,离散地分布在高128B片内RAM80H-FFH中。5)程序计数器PC不属于特殊功能寄存器,不可访问,主要用于CPU读ROM16位地址指针。
10.累加器的功能是什么?A与Acc有何区别?
答:累加器Acc是80C51单片机中最常用的寄存器,许多指令的操作数取自于Acc,许多运算的结果存放在Acc中,乘除法指令必须通过Acc进行。
A是累加器的指令助记符,仅用于书写指令。Acc是累加器的寄存器名,代表了累加器的字节地址。凡是有累加器参与操作的指令,用A表示时属于寄存器寻址,用Acc表示时属于直接寻址。寄存器寻址指令字节少,执行速度快。例如:MOV 40H,A和MOV 40H,Acc 这两条指令,功能相同,都是把A中的内容送入内RAM 40H单元中。但前一条指令的指令长度为2个字节,指令执行时间是1个机器周期;而后一条指令的指令长度为3个字节,指令执行时间是2个机器周期。
11.简述单片机CPU读存储器的步骤过程。
答:存储器的读操作:例如,若要将存储器40H中的内容50H读出,其简化过程如下:首先CPU将地址码40H送到地址总线上,经存储器地址译码器选通地址为40H的存储单元;2)CPU发出“读”信号,存储器读/写控制开关将数据传输方向拨向“读”;3)存储器将地址为40H的存储单元中的数据50H送到数据总线上;4)CPU将数据总线上的数据50H读人指定的某一寄存器。
12.简述单片机CPU写存储器的步骤过程。
答:存储器的写操作:例如,若要将数据ABH写入存储器地址为CDH的存储单元中,其简化过程如下:
1)CPU将地址码CDH送到地址总线上,经存储器地址译码器选通地址为CDH的存储单元;2)CPU将数据ABH送到数据总线上;3)CPU发出“写”信号,存储器读/写控制开关将数据传送方向拨向“写”;4)存储器将数据总线上的数据ABH送人已被选中的地址为CDH的存储单元中。
13.DPTR是什么寄存器?它是如何组成的?主要功能是什么?
答:数据指针DPTR是一个16位的特殊功能寄存器。由两个8位寄存器DPH、DPL组成,DPH是DPTR高8位,DPL是DPTR低8位,既可合并作为一个16位寄存器,又可分开按8位寄存器单独操作。相对于地址指针,DPTR称为数据指针。但实际上DPTR主要用于存放一个16位地址,作为访问外部存储器(外RAM和ROM)的地址指针。
14.PC是否属于特殊功能寄存器?它有什么作用?PC的基本工作方式有几种?
答:PC是一个16位的地址寄存器,用于存放将要从ROM中读出的下一字节指令码的地址,因此也称为地址指针。PC的基本工作方式有:1)自动加1。CPU从ROM中每读一个字节,自动执行PC+1→PC 。2)执行转移指令时,PC会根据该指令要求修改下一次读ROM新的地址。3)执行调用子程序或发生中断时,CPU会自动将当前PC值压入堆栈,将子程序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被压入堆栈的PC值,继续执行原顺序程序指令