欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    51单片微型机原理和接口教程 周思跃 著 化学工业出版社 课后答案.docx

    • 资源ID:18605338       资源大小:43.24KB        全文页数:56页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    51单片微型机原理和接口教程 周思跃 著 化学工业出版社 课后答案.docx

    1、51单片微型机原理和接口教程 周思跃 著 化学工业出版社 课后答案第一章习题答案1-1 请说明CPU的功能以及CPU是如何执行指令和程序的。答:CPU的功能是执行程序和统筹处理计算机系统中各类事务。CPU执行指令分为3步:取指令、分析指令、执行指令;计算机程序是由一条条指令按一定的顺序排列组成的,CPU执行程序的过程就是一条条指令累计执行的过程,其方式分为串行作业方式和流水线作业方式。1-2 请说明单片机内部主要是由哪些部件组成的,并说明各部件的作用。答:CPU:由控制器和运算器构成,控制器的作用是执行指令和协调系统各部件的工作;运算器的作用是进行逻辑运算和算术运算。存储器:存储计算机工作时使

    2、用的信息,即指令代码和数据代码。 I/O接口电路:具有数据缓冲、数据隔离及数据转换的功能。1-3 请问对于容量位8K的存储器芯片,它的地址线是多少根?答:8K=8192=213,故地址线为13根。另附:存储器的数据线由存储器的字长决定,例如一块32K16(存储器容量显示格式:存储单元数存储单元的字长)的存储器,其地址线为15根,数据线为16根。1-4 将十进制数78,134,分别用二进制数、十六进制数和8421BCD吗表示。答:(78)D=(1001110)B=(4E)H=(01111000)8421BCD(134)D=(10000110)B=(86)H=(000100110100)8421B

    3、CD注:8421BCD码为4位表示一个十进制数符,本质是符号不是数值,所以不可省略0。1-5 将下列真值分别转化为用8位和16位二进制数表示的原码、补码和反码。X=1000100; X8位原=X8位反=X8位补=01000100;X16位原=X16位反=X16位补=0000000001000100X= -1000100X8位原=11000100,X8位反=10111011,X8位补=10111100;X16位原=1000000001000100,X16位反=111111*1,X16位补=111111*0;X= -0111111X8位原=10111111,X8位反=11000000,X8位补=1

    4、1000001;X16位原=1000000000111111,X16位反=1111111111000000,X16位补=1111111111000001;1-6 将下列补码转化成二进制数的真值。X补=00101100; X=101100X补=11111111; X= -1X补=10000000; X= -100000001-7 已知下列补码X补和Y补,分别求X+Y补、X-Y补。并判断运算结果是否出现溢出。X补=10011001, Y补=00101100; -Y补=11010100, X+Y补=X补+Y补=11000101不溢出;X-Y补=X补+-Y补=X补-Y补=01101101溢出;X补=1

    5、1111111, Y补=10000000; -Y9位补=010000000, X+Y补=X补+Y补=01111111溢出;X-Y补=X补+-Y补=X补-Y补=01111111不溢出;X补=00110111, Y补=11100000; -Y补=00100000, X+Y补=X补+Y补=00010111不溢出;X-Y补=X补+-Y补=X补-Y补=01010111不溢出;X补=10000111, Y补=11000000; -Y补=01000000, X+Y补=X补+Y补=01000111溢出;X-Y补=X补+-Y补=X补-Y补=11000111不溢出;方法提示:由于补码是按序列排列的,所以可以直接进

    6、行加和减,即X+Y补=X补+Y补;X-Y补=X补-Y补另补码减法也可用加法实现X-Y补=X补+-Y补。上题的第2小题,由于Y8位补=10000000=28,Y=-28,所以(-Y)= 28,已不能用8位补码表示,可以先扩补位9位补码,然后进行运算,或直接用X-Y补= X补-Y补进行计算。判断结果是否溢出,可按下列方法:加法时,如果正负数相加(即两数的符号位不同),则结果肯定不溢出;如果同号数相加,结果与被加数和加数异号的则溢出(即正正相加结果为负或负负相加结果为正时)。减法时,如果同号数相减(即两数的符号位相同),则结果肯定不溢出;如果异号数相减,结果与被加数异号的则溢出(即正负相减结果为负或

    7、负正相减结果为正时)。此法比用变形补码直观,加和减都适用。第二章习题答案2-1 请说明单片机89C52内部有哪些资源。答:1个8位CPU、8KB的FLASH程序存储器、256B的SRAM数据存储器、4个8位的并行I/O口(P0,P1,P2,P3)、1个全双工串行口、中断系统(5个中断源、2个中断优先级)、3个16位的定时/计数器(T0,T1,T2)、时钟电路(时钟频率624MHZ)。2-2 为什么51系列单片机的存储器系统采用哈佛结构。答:哈佛结构指的是指令代码和数据分别存放在程序存储器和数据存储器中,两部分存储器分别采用不同的地址总线系统。单片机在工作时一般执行固定不变的应用程序代码,而作为

    8、嵌入式控制系统的核心,受限于体积要求,单片机系统一般不会带有辅助存储器(例如硬盘等),为了在断电时也能保存用户的应用程序,故需将程序固化在只读存储器中,而单片机工作时程序运行过程中的数据是变化的,所以需要放在随机访问存储器中。2-3 51单片机中的工作寄存器分布在存储器的哪个区域?答:分布在内部数据存储器的00H1FH区域。2-4 在51系列单片机中,工作寄存器分几个区?如何改变工作寄存器区?答:分为0、1、2、3四个区。修改特殊功能寄存器PSW的RS1和RS0位可改变当前工作寄存器区。2-5 特殊功能寄存器和工作寄存器在存放信息方面有和区别?答:特殊功能寄存器(SFR)中存放的是一些专用信息

    9、,这些信息与下列内容有关:计算机指令的执行条件及状态标志,定时/计数器的使用控制、中断系统的使用、并行I/O及串行I/O接口的使用。工作寄存器只是用于暂时存放指令执行过程中一般的被操作数据。2-6 特殊功能寄存器的地址空间如何?答:特殊功能寄存器(SFR)的地址为8为二进制编码,地址范围为80H0FFH,但各特殊功能寄存器的地址并非连续分布的。指令通过直接寻址的方式才能访问到。2-7 51单片机中的位寻址区在哪里?它们的地址空间如何?答:51单片机的位寻址区分布在两个地方。一部分位于内部数据存储器中字节地址为20H2FH的16个单元中,这部分包括128个位,位地址空间为00H7FH;另一部分位

    10、于字节地址能被8整除的特殊功能寄存器中, 位地址空间为80H0FFH。2-8 请指出下列位地址所在的内部数据存储器单元的字节地址或SFR名称。答: 00H 内部RAM的20H单元;(20H).020H 内部RAM的24H单元;(24H).00A0H P2;P2.00B0H P3;P3.064H 内部RAM的2CH单元;(2CH).4E6H 累加器ACC; ACC.6。提示:1) 内部数据存储器内的可寻址位,其位地址(00H7FH)与所在单元的字节地址(20H2FH)间的关系如下:位地址(字节地址20H)8DX, DX该位在字节单元中的位置(D0D7)位地址8,商20H字节地址,余数DX2) S

    11、FR中的可位寻址(位地址80H0FFH)的寄存器,其最低位的位地址与其字节地址相同。关系如下:位地址8,商*8SFR的字节地址,余数DX,DX该位在SFR中的位置(D0D7)2-9 若某51单片机应用系统将F000HFFFFH地址空间分配给它外部的I/O接口,那么该单片机应用系统最多给外部数据存储器分配多少单元?地址空间如何?答:51单片机的外部I/O接口和外部数据存储器是统一编制的,占用同一个地址空间,地址空间的容量为64KB,地址范围为0000HFFFFH。据题意,系统已将F000HFFFFH地址空间分配给它外部的I/O接口,则只剩下0000HEFFFH可分配给外部数据存储器,容量为60K

    12、B。2-10 在图2-9中的电容C,如果它取值太小,对复位电路有何影响?答:51单片机上电复位,需要在RST引脚上保持10ms以上的高电平。如果C太小,则其充电时间变短,上电后,RST引脚上高电平保持的时间太短,则单片机内部复位将不能完全完成,有些寄存器内容将变得不确定。2-11 上电复位和人工按钮复位后对内部数据存储器具有什么不同的影响?答:上电复位后,内部数据存储器中的内容为不确定的状态。人工按钮复位后,内部数据存储器中的内容不变(因为没有断电)。2-12 51应用系统中,为何要对堆栈指针SP重新设置?答:复位后(SP)=07H,则堆栈是从08H开始存放数据的。而内部数据存储器中00H1F

    13、H单元为工作寄存器区,而20H2FH单元为位寻址区,在实际的应用系统中,这些区域都可能使用到。故一般将堆栈设置在地址30H以后的单元中,所以需要对堆栈指针SP重新设置。2-13 51单片机中的I/O接口中,那个接口在作为准双向口时需要外接电阻?若对某一接口进行读引脚的操作,必须事先对该接口做什么操作?答:P0口需外接上拉电阻(因为P0是集电极开路结构)。若需对某个接口读引脚(即读取外部输入信号的状态),需要对该接口的口锁存器写入1(例如:若需要读取P1.0、P1.1、P1.2、P1.3的引脚状态时,需要先执行MOV P1, #0FH。这也是为什么复位后(P0)= (P1)=(P2)=(P3)=

    14、0FFH的道理。)第三章习题答案3-1 指令的格式是由哪些部分组成的?每部分的含义是什么?答:指令由操作码和操作数组成。在形式上操作码和操作数都是二进制代码。操作码用来表示指令的种类和功能,经由控制器中的指令译码器译码后产生控制信号。操作数是指令的操作对象,表示被操作数据或数据所在的存储单元地址。3-2 什么是寻址方式?51系列指令系统有哪些寻址方式?答:指令中给出操作数的方式叫做寻址方式。51系列机给出的寻址方式一般有7中:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址(直接寻址的一个特例地址指向位单元)。3-3 对于内部数据存储器00H1FH区域的访问有哪些寻址

    15、方式?对于外部数据存储器的访问有哪些寻址方式?对于特殊功能寄存器的访问有哪些寻址方式?答:对于内部数据存储器00H1FH区域的访问有直接寻址、寄存器寻址、寄存器间接寻址三种方式。对于外部数据存储器的访问只有寄存器间接寻址一种方式(以DPTR或R0、R1为指针)。对于特殊功能寄存器的访问只有直接寻址一种方式。同时对于内部数据存储器80H0FFH的128个单元的访问只有寄存器间接寻址一种方式(以R0、R1或SP为指针);借助于两种不同的寻址方式,可以将在地址上重合(80H0FFH)的SFR和内部RAM高128字节单元的两部分空间加以区分。3-4 51系列单片机有哪些标志位?这些标志位存放在哪里?答

    16、:51单片机在程序运行时通常需要一下标志位:Cy,AC,OV,P,RS1,RS0,它们都存放在特殊功能寄存器PSW(程序状态字寄存器)中。3-5 分析下列各指令的操作数,指出它们的寻址方式。MOV R4, 38H ;寄存器寻址,直接寻址ADD A, R1 ;寄存器寻址,寄存器间接寻址MOVC A, A+DPTR ;寄存器寻址,变址寻址(又称基址寄存器加变址寄存器间接寻址)MOVX A, DPTR ;寄存器寻址,寄存器间接寻址DEC B ;直接寻址SETB 24H ;位寻址(直接寻址的一种,只是给出的直接地址是位地址)CJNE A, #100, NEXT ;寄存器寻址,立即寻址,相对寻址ANL

    17、30H, #00H ;直接寻址,立即寻址PUSH P1 ;寄存器间接寻址(指针为SP,只是在堆栈操作指令中省略了),直接寻址堆栈操作除了用PUSH和POP指令,完全可以用其它指令来完成,举例如下:PUSH P1可用下列程序段完成INC SPMOV R0, SPMOV R0, P1 POP P1可用下列程序段完成MOV R0, SPMOV P1, R0DEC SP提示:上题答案中按操作数先后顺序给出其对应的寻址方式。3-6 下列各指令或指令组执行前有关寄存器和存储器的状态如下表,要求分析各指令或指令组执行后有关寄存器、存储器和标志位的状态。内部数据存储器和特殊功能寄存器外部数据存储器程序存储器寄

    18、存器名内容单元地址内容单元地址内容单元地址内容程序计数器内容B64H73H10H900BH12H1206H35H(PC)=1200HACC03H72H11H900AH83H1205H34HPSW80H71H00H9009HD1H1204H33H标号及标号值DPL05H70H80H9008H79H1203H32HNEXT1=0800HDPH90H9007H0CH1201H31HNEXT2=0900HSP71H36HF8H9006H23H1200H30HNEXT3=1280HR000H35H2BH9005H13HLOOP=1148HR136H34H36H9004H4DHR235H33H74H900

    19、3H2EHR3B7H32H59H9002H7FHR403H9001H54HR5F6H26H66H9000H38HR6E4H25H55HR721H24H44HP07CHP290H提示:在上表中需注意几点:(PSW)=80H,即Cy=1, AC=0, RS1=RS0=0(故当前工作寄存器区为0区)。工作寄存器区为0区时,R0R7指向内部数据存储器的00H07H,所以当指令中出现直接地址00H07H中的某个时,其初始条件即为R0R7中某个对应的寄存器的值。另,因为(DPH)=90H, (DPL)=05H, 所以(DPTR)=9005H。标号值实质上是代表标号所在处的指令在程序存储器中的地址,标号往往

    20、出现在程序转移指令中,指出转移指令的目标地址。 MOV R0,#32; (R0)=32=20H MOV 25H,R1; (25H)= 0F8H MOVX A,DPTR; (A)= 13H P=1 MOVX A,R0; (A)= 38H P=1 MOVC A,A+PC; (A)= 33H P=0 MOV A,04H; (A)= 03H P=0 XCH A,34H; (A)= 36H (34H)= 03H XCHD A,R1; (A)= 08H (36H)=0F3H PUSH DPL; (SP)=72H (72H)=05H POP DPH; (DPH)=00H (SP)=70H SUBB A,R1

    21、; (A)= 0CCH Cy=1 P=0 AC=1 OV=0 ADD A,R6; (A)= 0E7H Cy=0 P=0 AC=0 OV=0 ADDC A,36H; (A)= 0FCH Cy=0 P=0 AC=0 OV=0 MUL AB; (A)= 2CH (B)=01H INC R0; (R0)= 01H DEC A; (A)= 02H P=1 ADD A,#49H;DA A; (A)=52H Cy=0 P=1 ANL A, R1; (A)= 02H (R1)=36H P=1 ORL A,32H; (A)= 5BH P=1 ORL 26H,#35H; (26H)=77H P=0 XRL A,R

    22、0; (A)= 03H P=0 XRL A, ACC; (A)=0 P=0 XRL A,#0FFH; (A)= 0FCH P=0 CPL A; (A)=0FCH P=0 RL A; (A)=06H Cy=1 RRC A; (A)=81H Cy=1 MOV C,(25H).2; Cy=1 MOV F0,C; (PSW)=0A0H SETB RS0; (PSW)=88H CLR C; (PSW)=0 ANL C,(24H).0 Cy=0 JZ NEXT1; (PC)=1202H JC NEXT2; (PC)= 0900H CJNE A, 25H, NEXT3; (PC)= 1280H Cy=1 D

    23、JNZ R7,LOOP; (PC)= 1148H (R7)=20H LCALL 1800H; (PC)=1800H (SP)=73H (72H)=03H (73H)=12H RET; (PC)=0080H (SP)=6FH ANL C, /32H; Cy=0 (32H)=1 ,提示此处32H为位存储器 STOP: JBC P0.3, STOP; (PC)=1200H (P0)=74H JNB P0.4, NEXT1; (PC)=1203H 分析下列程序段的功能。 MOV A, R3MOV R4, A功能:将R3中的内容送入R4,即(R3)R4 MOV A, R5CPL AMOV R5, A功能

    24、:R5中的数据按位取反后送回R5 MOV A, R4MOV B, R5DIV ABMOV R4, BMOV R5, A功能:R4中的数除以R5中的数,结果商送入R5,余数送入R4 MOV C, P1.1ANL C, P1.2ANL C, /P1.3MOV P1.6, C功能:P1.1P1.2P1.6 MOV C, 0ORL C, 1MOV F0, CMOV C, 2ORL C, 3ANL C, F0MOV P1.7, C功能:(20H).0(20H).1) (20H).2(20H).3) P1.7 CLR CMOV A, R4RLC AMOV R4, AMOV A, R3RLC AMOV R3

    25、, A功能:R3、R4中的内容左移一位,R4最低位移入0,R4最高位移入R3最低位,R3最高位移出至Cy。 CLR CMOV A, R5RLC AADD A, R5MOV R5, A功能: CLR AMOV R0, AMOV R7, ALOOP: MOV R0, AINC R0DJNZ R7, LOOPSTOP: SJMP STOP功能:将内部数据存储器00H0FFH 256个单元全部清零。 PUSH ACCPUSH BPOP ACCPOP B功能:利用堆栈将ACC与B中的内容互换,即(ACC)(B) MOV R0, #30HXCHD A, R0SWAP AINC R0XCHD A, R0SW

    26、AP AMOV 40H , A功能:将ACC的低四位送入30H单元低四位,ACC的高四位送入31H的低四位,而原先30H单元的低四位送入40H单元的低四位,原31H单元的低四位送入40H单元的高四位。举例说明如下,设程序段运行前有(ACC)=12H,(30H)=34H,(31H)=56H;则程序段运行后有(30H)=32H,(31H)=51H, (ACC)= (40H)=64H;该程序段可用来将单字节BCD转压缩BCD.3-8 指出下列指令中哪些是合法指令,哪些是非法指令。MOV P1, R4 ;合法MOV R2,R4 ;非法CLR R3 ;非法RLC R5 ;非法MOV 30H, 31H ;

    27、合法MOV 00H, P ;非法ORL 40H, R7 ;非法PUSH R6 ;非法POP R0 ;非法INC DPTR ;合法注:常见的错误还有类似:MOV R0, C; ADD 30H,31H; MOV A, R5; DEC DPTR等,编程时切记勿错!3-9 按要求编制下列各程序段。将内部数据存储器30H和31H单元的内容互换。法一:MOV A, 30HXCH A ,31HMOV 30H, A法二:XCH A, 30HXCH A ,31HXCH A, 30H比较法一、法二的优缺点,你认为哪个方法更好?将寄存器R7的内容向右循环移位一次。XCH A, R7RR AXCH A, R7将寄存器

    28、R3的内容乘以4(结果不超出8为二进制数的范围)。法一:MOV A, R3MOV B, #4MUL ABMOV R3, A法二:XCH A, R3RL ARL AXCH A, R3将寄存器DPTR的内容减1。法一:判断DPL=0否?如是, DPL减1后,DPH也减1;否则,DPH不变。XCH A, DPLJNZ NOBDEC DPHNBO: XCH A, DPL DEC DPL法二:(DPH)(DPL) -1DPH,DPL(即DPTR)CLR CXCH A, DPLSUBB A, #1XCH A, DPL XCH A, DPHSUBB A, #0XCH A, DPH法三:(DPH)(DPL)+0FFFFHDPTRXCH A, DPLADD A, #0FFHXCH A, DPL XCH A, DPHADDC A, #0FFHXCH A, DPH比较以上各方法,其中法三利用了-1的补码是0FFFFH的原理,将减法改为了加法。将寄存器R6的内容压入堆栈(设寄存器工作在3区)PUSH 1EH将R4, R5寄存器连接起来循环右移一位。(设R4为高8位,R5为低8位;执行完后R4R5中的内容右移一位,R4的最低位移入R5的最高位,同时R5的最低位移入R4的最高位


    注意事项

    本文(51单片微型机原理和接口教程 周思跃 著 化学工业出版社 课后答案.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开