天津大学出版社的单片机课后习题答案_第1页
天津大学出版社的单片机课后习题答案_第2页
天津大学出版社的单片机课后习题答案_第3页
天津大学出版社的单片机课后习题答案_第4页
天津大学出版社的单片机课后习题答案_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章习题答案2-2 8051单片机内部包含哪些主要逻辑部件?各自的功能是什么?答:8051单片机内部包含:1、       中央处理器CPU:它是单片机内部的核心部件,决定了单片机的主要功能特性,由运算器和控制器两大部分组成。2、       存储器:8051单片机在系统结构上采用了哈佛型,将程序和数据分别存放在两个存储器内,一个称为程序存储器,另一个为数据存储器。在物理结构上分程序存储器和数据存储器,有四个物理上相互独立的存储空间,即片内RO

2、M和片外ROM,片内RAM和片外RAM。3、       定时器/计数器(T/C):8051单片机内有两个16位的定时器/计数器,每个T/C既可以设置成计数方式,也可以设置成定时方式,并以其定时计数结果对计算机进行控制。4、       并行I/O口:8051有四个8位并行I/O接口(P0P3),以实现数据的并行输入输出。5、       串行口:8051单片机有一个全双工的串行口,可实

3、现单片机和单片机或其他设备间的串行通信。6、       中断控制系统:8051共有5个中断源,非为高级和低级两个级别。它可以接收外部中断申请、定时器/计数器申请和串行口申请,常用于实时控制、故障自动处理、计算机与外设间传送数据及人机对话等。2-3 8051单片机的存储器分哪几个空间?通过什么信号来区别不同空间的寻址?答:有四个物理上相互独立的存储空间:片内ROM地址为0000H-0FFFH此时/EA=1;片外ROM地址为0000H-0FFFFH此时/EA=0。片内数据存储器地址为00H-0FFH;片外数据存储器地

4、址为0000H-0FFFFH;区分片内片外数据存储器通过指令MOV与MOVX。2-6 内部RAM低128单元划分为哪三个主要部分?各部分主要功能是什么?   答:分为三部分:工作寄存器去,位寻址区,用户RAM区(堆栈、数据缓冲)。    工作寄存器区(00H-1FH):32个RAM单元共分四组,每组8个寄存单元(R0-R7)。寄存器常用于存放操作数及中间结果等。位寻址区(20H-2FH):此部分16个单元的每一位都有一个8位表示的位地址,位寻址取得每一个单元既可作为一般RAM单元使用,进行字节操作,也可以对单元中的

5、每一位进行位操作。用户RAM区:也是数据缓冲区,一般用于存放用户数据及作堆栈区使用。第三章习题答案3-1 MCS-51的寻址方式及特点MCS-51的寻址方式有七种:1.直接寻址:指令中直接给出操作数所在的单元地址或位地址                      P682.立即寻址:在指令中紧跟在操作码之后的字节是操作数    

6、                      P693.寄存器寻址:操作数在指令中给出的寄存器内                        

7、;          P694.寄存器间接寻址:指令中指定的寄存器内存的是操作数的地址                    P705.变址寻址:指令中给出由基址加变址形成的16位地址作为操作数的地址        &#

8、160;  P716.相对寻址:指令中给出相对偏移量,该相对偏移量与PC当前值求和得到转移地址   P72推荐精选7.位寻址:指令中给出的位地址或位寄存器里存是所寻的位操作数                   P713-2  MCS-51的指令按功能分类及各类的作用MCS-51的指令按功能分5类:1.数据传送指令:主要用于数据的传送与交换和栈操作

9、。      P742.算术运算指令:主要用来作算术四则运算、增量、减量及二十进制调整。                 P813.逻辑运算指令:主要用来作“与”、“或”、“异或”、“清除” “求反”及“左右移位”等逻辑运算。   P884.位操作指令:主要用来作 “与”、“或”、 “清除”、“置位” “求反”等布尔操作及“位传送” 操作

10、。 P905.控制转移指令:主要用于改变程序计数器PC的值,  以控制程序执行的走向,有转移、调用及返回操作.P913-3 变址寻址和相对寻址中偏移量的异同点变址寻址 :A+DPTR   ;基址:DPTR,       变址:A           A+PC      ;基址:PC当前值, 

11、;  变址:A        变址:A  中为8位二进制无符号数偏移量(A)0,255  即00H,0FFH相对寻址:相对偏移量为8位二进制带符号数的补码                      rel -128,+127 &#

12、160;                    rel补码00H,0FFH相同点:偏移量00H,0FFH不同点:变址寻址 中偏移量为8位二进制无符号数; 相对寻址中偏移量为8位二进制带符号数的补码3-4 指出下面每条指令的寻址方式:MOV A,#30H  寄存器、立即30H 立即数MOV C,30H   寄存器、位  

13、 30H  位地址MOVX A,DPTR  寄存器、间接jC  LAB1  相对MOV  30H,R1  直接、间接  30H  字节地址MOV 30H,R5  直接、寄存器  30H 字节地址MOVC A,A+PC  寄存器、变址sjmp LAB2  相对3-5 运行下列程序后各单元及A、PSW的内容(1)1.MOV A,#2 

14、;     (A)=02 H                0000 0001(psw)MOV R1,#30H    (R1)=30H               0000 0001推荐精选MOV R

15、1,A      (R1)=(30H)=02 H      0000 0001MOV 35H,R1     (35H)=30H              0000 0001XCH A,R1        (A)

16、=30H, (R1)= 02 H   0000 0000  2.MOV A,#0F5H     (A)=0F5H              00000000MOV 30H,#9BH    (30H)=9BHMOV R0,#30H     (R0)=30HADD A,#2

17、8H      (A)=1D H              10000000ADDC A, R0     (A)=0B9H              010000013.CLR C  

18、60;          (CY)=0MOV 40H,#7AH       (40H)=7AHMOV A,#92H          (A)=92H          00000001MOV R0,#40H  

19、      (R0)=40HSUBB A,R0         (A)=92H-7AH-0=18H,(PSW)=44H4.MOV A,#79H        (A)=79H             00000001MOV 30H,#89H&

20、#160;     (30H)=89HADD A,30H         (A)=02H             11000001DA A              (A)=68H 

21、;            10000001SWAP  A           (A)=86H             100000013-6 写出能完成下列数据传送的指令R1内容传送到R0 MOV A

22、,R1;   MOV R0,A(2)内部RAM25H单元内容送到 35H单元 MOV  35H,25H或MOV A,25H ;   MOV 35H,A   MOV 35H,25H(3)内部RAM25H单元内容送到 P1口MOV A,25H ;  MOV P1,A    MOV P1,25H    MOV 90H,25H(4)内部RAM40H单元内容送外部RAM 2005H单元M

23、OV A,40H;MOV DPTR,#2005H;MOVX DPTR,A(5)外部RAM3000H单元内容送内部RAM 25H单元推荐精选MOV DPTR,#3000H; MOVX A,DPTR;MOV 25H,A(6)外部ROM1000H单元内容送内部RAM 35H单元MOV DPTR,#1000H; CLR A ;MOVC A,A+DPTR;MOV 35H,A      (7)外部ROM4000H单元内容送外部RAM4000H单元MOV DPTR,#4000H; CLR A;MOVC A,A+DPTR;MOVX DPTR,A(8)

24、外部RAM 1000H单元内容送SP堆栈指针 MOV DPTR,#1000H;MOVX A,DPTR;  MOV SP,A3-7 BCD码减法,求7954H-4157H=3797H。算法1:  Ø  999AH-4157H=5843H Ø  5843H+7954H并调整       ORG 0000HBCDS:MOV A,#9AH     

25、0;  CLR C        SUBB A,#57H        MOV   30H,A        MOV A,#99H        SUBB A,#41H     &

26、#160;  MOV 31H,AMOV A,#54HADD A,30HDA  AMOV 20H,AMOV   A,#79HADDC A,31HDA  AMOV 21H,ACPL CMOV 2FH,CSJMP $END循环程序ORG  0000HBCDS1:   MOV 20H,#54H         MOV 21H,#79H推荐精选   

27、;          MOV 30H,#57H         MOV  31H,#41H         MOV R0,#30H         CLR C    &#

28、160;    MOV A,#9AH         SUBB A,R0         MOV 40H,A         INC R0         MOV A,#99H  

29、       SUBB A,R0         MOV 41H,ACLR C         MOV R0,#40H         MOV R1,#20H        

30、60;MOV R2,#2LOOP:    MOV A, R0         ADDC A,R1         DA  A         MOV R0,A        INC R0&#

31、160;        INC R1         DJNZ R2,LOOP         CPL C         MOV  7FH,C    SJMP $  &

32、#160;      END 3-7 顺序程序      算法2ORG  0000HBCDS1:   MOV 20H,#54H         MOV 21H,#79H         MOV 30H,#57H 

33、0;       MOV  31H,#41H         MOV R0,#30H         CLR C推荐精选         MOV A,#9AH       

34、;  SUBB A,R0           ADD A,20H              DA    A           CY)=0   

35、60;     MOV 40H,A          CPL  C          ( CY)=1         INC R0MOV A,#9AH       

36、60; SUBB A,R0   (CY)=0         ADD   A,21H         DA    A         MOV 41H,A     

37、0;                 CPL C         MOV  7FH,C         SJMP  $       

38、0; END 3-8写出下段程序中每一步A、B中的结果MOV A,#22H    ;(A)=22HMOV B,#05H     (B)=05HMOV R0,#08HMUL AB         (A)=0AAH,(B)=0         00000000MOV B,R0     

39、0;       DIV  AB       (A)=15H,(B)=02H           000000013-9 试写出完成如下操作的程序(1)   ORG  0000H     MOV DPTR,#1000H  

40、;   MOVX A,DPTR     ANL A,#11110000B     MOVX DPTR,A     SJMP   $(2)  ORL  50H,#00001111B(3)  XRL  50H,#11100000B(4)  MOV  50H,#11110000B(5) 

41、; XRL  50H,#0FFH推荐精选   3-10 30H开始的20个单元数据传送到外部3000HORG 0000H     MOV R0,#30H     MOV DPTR,#3000H     MOV R7,#20Loop1:  MOV A,R0     MOVX DPTR,A  

42、   INC R0     INC DPTR     DJNZ R7,Loop1      SJMP $     END3-11 根据R3条件转移   1ORG 0000H     Cjne R3,#15,NEQ     

43、;sjmp L1      =15NEQ: jnC L1     >15     sjmp $        <15L1:  nop            15    

44、   .         ORG 0000H     Cjne R3,#15,NEQ     sjmp HaltNEQ: jC L1      <15     sjmp Halt  L1:  nop  &

45、#160;        <15Halt:    sjmp $    15 ORG 0000H     Cjne R3,#15,NEQ     sjmp L1NEQ: jC L1推荐精选     sjmp $L1:  nop   &#

46、160;  15     ORG 0000H     Cjne R3,#15,NEQ     sjmp HaltNEQ: jnC L1     sjmp HaltL1:  nop         >15Halt:    sj

47、mp $ 3-11 根据R3条件转移   2   ORG 0000H    CLR C    MOV A,R3    SUBB A,#15    JNC   GE15  15    .       &

48、#160;     (R3)-15    ORG 0100H    CLR C    MOV A,R3    SUBB A,#15    JC   GE15      <15    .  

49、60;    (R3)-15ORG 0000H    CLR C    MOV A,#15    SUBB A,R3    JNC   GE15  15    .      15-(R3)ORG 0000H推荐精选   

50、 CLR C    MOV A,#15    SUBB A,R3    JC   GE15  15    .      15-(R3)3-12 已知(SP)=53H,(PC)=37FEH 执行: ACALL 3A00H 后: (SP)=(SP)+2=55H(PC)=3A00H(SP-1)=(54H)

51、=00H ;PCL(SP)=(55H)=38H   PCH37FEH: ACALL 3A00H3800H:第四章汇编语言程序设计  思考题与习题4及答案413 试编程实现将20H单元的两位BCD数相乘,结果以BCD码的形式存于21H单元当中。4-13-1      ORG 0000H  MOV 20H,#56H  MOV A,20H  ANL A,#0FH  MOV B,A  

52、MOV A,20H  ANL A,#0F0H  SWAP A  MOV R2,A  DEC BLOOP: ADD A,R2  DA A  DJNZ B,LOOP  MOV 21H,A  SJMP $  END4-13-2  ORG 0000H推荐精选  MOV 20H,#56H  MOV A,20H  MOV R0,#21H &

53、#160;MOV 21H,#0  XCHD A,R0  MOV B,R0  SWAP A  MOV R2,A  DEC BLOOP: ADD A,R2  DA A  DJNZ B,LOOP  MOV 21H,A  SJMP $  END47 设一个加数在50H52H单元中,另一个加数在53H55H中,进位存放在位地址00中,试编程实现两数求和。ORG 000HONE  

54、;   DATA  50HTWO     DATA  53HWEI     BIT   00H        MOV R0,#ONE        MOV R1,#TWO;     

55、0; MOV C,WEI      CLR C        MOV R2,#3LOOP:   MOV A,R0        ADDC A,R1        MOV R0,A       

56、; INC R0        INC R1        DJNZ R2,LOOP        MOV WEI,C        SJMP $        END4-7-2推荐精选OR

57、G 0000HONE     DATA  50HTWO     DATA  53HWEI     BIT   00H        MOV R0,#ONE        MOV R1,#TWO  &#

58、160;    CLR C        MOV R2,#3        SETB RS0        MOV R0,#58H        CLR RS0LOOP:   MOV A,R0 

59、60;      ADDC A,R1        INC R0        INC R1        SETB RS0        MOV R0,A     &#

60、160;  INC R0        CLR RS0        DJNZ R2,LOOP        MOV WEI,C        SJMP $        END4

61、11试用除法指令将20H单元的两位BCD码变成ASCII码后存入21H和22H单元。  ORG 0000H  MOV 20H,#67H  MOV A,20H  MOV B,#10H  DIV AB  ADD A,#30H  MOV 21H,A  ORL B,#30H  MOV 22H,B  SJMP $        

62、END推荐精选41从20H单元开始存放一组带符号数,其数目已存在1FH单元。要求统计出大于0、小于0和等于0的个数并存于ONE、TWO、THREE 三个单元。       ORG 0000HONE     EQU  30HTWO     EQU  31HTHREE       EQU  32HNUM

63、  EQU  1FH        MOV NUM,#0FHMOV  R0,#20H;-1,2,34,0A0H,0.MOV R1,#ONELOOP:   MOV R1,#0INC R1CJNE R1,#34H,LOOPLOOP1:  MOV A,R0JZ  MTHREEJB ACC.7,MTWOINC ONESJMP DJNZZMTHREE: INC THREESJMP DJNZZMTW

64、O:  INC TWODJNZZ: INC R0        DJNZ NUM,LOOP1;NUM=0FHSJMP $        END45在用JMP指令实现128分支的程序中,试用LJMP代替AJMP指令。修改后的程序有何特点?最多能实现多少分支?4-5AJMP指令表  128分支占128*2=256 字节MEMORYLJMP指令表  可以实现256/3=85 

65、; 个分支  特点:各分支可在64KB存储器中转移。 42设自变量X为一无符号数,存放在内部RAM的VAX单元,函数Y存放在FUNC单元,请编出满足如下关系的程序: X    X50推荐精选Y=    5X   50X202X   X20        ORG 0000HVAX    &#

66、160; EQU  30HFUNC     EQU  31H        MOV VAX,#55;15;20;25;50;55        MOV A,VAX        CJNE A,#20,DO1DO1: JNC  DO2MOV

67、B,#2        MUL AB        SJMP MEMDO2:   CJNE A,#50,DO3DO3:   JNC  MEM        MOV B,#5        MUL AB

68、MEM:   MOV FUNC,A                     SJMP $        ENDXYXY152X=30=14H50X=50=32H205X=100=64H55X=55=37H255X=125=7DH   43外部RAM从

69、2000H到2100H有一数据块,请编出将它们传送到外部RAM3000H到3100H区域的程序。4-7  ORG 0000HMOV DPTR,#2000HMOV P2,#30HMOV R0,#00HMOV R2,#0LOOP:MOVX A,DPTRMOVX R0,AINC DPTRINC R0DJNZ R2,LOOP                0FF-0推荐精选MOVX A,DPTR  

70、60;             (DPTR)=2100HINC P2                       31HMOVX R0,ASJMP $END44在内部RAM中,有一个以BLOCK为始址的数据块,块长在LEN单元。请用查表指令

71、编一程序,先检查它们若是16进制中的AF,则把它们变为ASC码;若不是,则把它们变为00H。4-4BLOCK  EQU 31HLEN    EQU 30HN      EQU 30       ORG 0000H       MOV R0,#BLOCKMOV LEN,#N       MO

72、V R2,LENLOOP:  MOV A,R0       CJNE A,#0AH,DO1DO1:   JNC DO2       SJMP DO5DO2:   CJNE A,#0FH,DO3       SJMP DO4DO3:    JC  DO4DO5:

73、    MOV A,#0SJMP NEXT      DO4:    MOV DPTR,#TABCLR CSUBB A,#0AHMOVC A,A+DPTRNEXT:   MOV R0,AINC R0DJNZ R2,LOOPSJMP $TAB:   DB 'A','B','C','D','E','F'END

74、0;推荐精选46试编写一个子程序将字符串:“MCS51 Microcntrol”装入外部RAM 8000H开始的显示缓冲区。4-9ORG 0000HMOV DPTR,#TABMOV P2,#80HMOV R0,#00HMOV R2,#19LOOP:   MOV A,#0MOVC A,A+DPTRMOVX R0,AINC R0INC DPTRDJNZ R2,LOOPSJMP $tab:    DB 'MCS-51 Microcontrol'END410将内部RAM的AAA单元中8位无符号二进制数转换成用BCD码

75、表示的十进制数。(要求用连续除10的方法实现)4-10ORG 0000H                       ORG 1000HAAA  DATA   0FFH            

76、0;    AAA EQU    0FFH    MOV A,#AAA                      MOV  A,#AAA    MOV B,#0AH   

77、                   MOV R0,#30H    DIV AB                        &

78、#160; MOV B,#0AH       MOV 30H,B                       DIV AB    MOV B,#0AH        &#

79、160;             MOV R0,B    DIV AB                         INC R0    

80、MOV 31H,B                       JNZ LOOP    MOV 32H,A                  

81、0;    SJMP  $    SJMP $                          END    END  49求8个数的算数平均值Y=(Xi)/8 (i=0,7)&

82、#160; ORG 0000H  MOV SP,#6FH推荐精选  CALL ZHISHU  MOV R2,#0  QIU HEA  MOV R3,#0  QIU HE B  MOV R0,#30H  MOV R4,#08LOOP:   MOV A,R0   JZ NEXT  MOV B,#08H  DIV AB &#

83、160;ADD A,R2  MOV R2,A  MOV A,B  ADD A,R3        MOV R3,ANEXT:   INC R0        DJNZ R4,LOOP        MOV A,R3    

84、0;   MOV B,#08H        DIV AB        ADD A,R2        MOV R2,A        MOV R3,B        

85、SJMP $  ZHISHU:  MOV 30H,#0FFH  MOV 31H,#0FFH  MOV 32H,#0FFH          MOV 33H,#0FFH  MOV 34H,#0FFH  MOV 35H,#0FFH  MOV 36H,#0FFH  MOV 37H,#0FFH  MOV 38H,#0FEH;F

86、H  MOV 39H,#0FFH  RET  END推荐精选416设逻辑运算表达式为其中变量A、B、C分别为P10、P14、定时器溢出标志TF1,D、E、F分别为22H2、22H3的位地址、外部中断标志IF1,输出变量Y为P15,请编写程序用软件方法实现上述逻辑功能。4-16-1A1       BIT  P1.0B1       BIT  P1.4C1&#

87、160;      BIT  TF1D            BIT  22H.2E            BIT  22H.3F        BIT

88、0; IE1Y            BIT  P1.5   ORG  0000HMOV C,B1ORL C,/C1CPL CANL C,A1MOV F0,CMOV C,EORL C,/FCPL CANL C,DORL C,F0MOV Y,CSJMP $END 4-17  A-T 20个合法字符,散转程序设计。解:    

89、60; 方法1:键盘键入A-T按ASCII码考虑,则有: 字母ASCII码地址表中的偏移量字母ASCII码地址表中的偏移量A41H(41H-41H)*2=0K4BH(4BH-41H)*2=14HB42H(42H-41H)*2=02HL4CH(4CH-41H)*2=16HC43H(43H-41H)*2=04HM4DH(4DH-41H)*2=18H推荐精选D44H(44H-41H)*2=06HN4EH(4EH-41H)*2=1AHE45H(45H-41H)*2=08HO4FH(4FH-41H)*2=1CHF46H(46H-41H)*2=0AHP50H(50H-41H)*2=1E

90、HG47H(47H-41H)*2=0CHQ51H(51H-41H)*2=20HH48H(48H-41H)*2=0EHR52H(52H-41H)*2=22HI49H(49H-41H)*2=10HS53H(53H-41H)*2=24HJ4AH(4AH-41H)*2=12HT54H(54H-41H)*2=26H 方法2:字母自定义地址表中的偏移量字母自定义地址表中的偏移量A1H(1H-1H)*2=0K0BH(0BH-01H)*2=14HB2H(2H-1H)*2=02HL0CH(0CH-01H)*2=16HC3H(3H-1H)*2=04HM0DH(0DH-01H)*2=18HD4H(4H-1

91、H)*2=06HN0EH(0EH-01H)*2=1AHE5H(5H-1H)*2=08HO0FH(0FH-01H)*2=1CHF6H(6H-1H)*2=0AHP10H(10H-01H)*2=1EHG7H(7H-1H)*2=0CHQ11H(11H-01H)*2=20HH8H(8H-1H)*2=0EHR12H(12H-01H)*2=22HI9H(9H-1H)*2=10HS13H(13H-01H)*2=24HJ0AH(0AH-1H)*2=12HT14H(14H-01H)*2=26H 按方法1编程如下:       

92、0; ORG   1000HMAIN:   CJNE  A,#41H,DO1    ;方法2  #01H         SJMP DO2DO1:        JC   ERR       

93、;      CJNE  A,#54H,DO3  ;方法2  #14H         SJMP DO2DO3:    JNC  ERR          H)=38H    DO2: &#

94、160;  CLR  C         SUBB A,#41H        ;方法2#01H         ADD  A,ACC         MOV  DPTR

95、,#ADDLAB         MOV  R2,A推荐精选         MOVC A,A+DPTR         MOV R3,A         INC R2    &#

96、160;    MOV A,R2         MOVC A,A+DPTR         MOV DPL,A         MOV DPH,R3         CLR  A

97、         JMP A+DPTRADDLAB:  DW  AAAA,BBBB,CCCC,DDDD,EEEE,FFFF,GGGG,HHHH,IIII,JJJJ         DW  KKKK,LLLL,MMMM,NNNN,OOOO,PPPP,QQQQ,RRRR,SSSS,TTTTERR: AAAA:BBBB:TTTT:   

98、;   注:程序中变址(A)<0FFH。第五章输入/输出和中断 部分习题参考答案5-2什么叫I/O接口?I/O接口的作用是什么?I/O接口是计算机和外设进行数据交换的桥梁。I/O接口的作用:锁存作用:防止由于CPU速度快,外设慢而产生的丢数现象隔离作用:防止DB上的信息重叠变换作用:在CPU与外设之间进行信息类型、电平、传送接收方式变换联络作用:在CPU与外设之间进行联络,Ready Busy5-3 I/O端口有哪两种编址方式?各有什么特点?I/O端口编址方式:统一编址、独立编址统一编址:I/O接口与内存储器采用一套地址,完全相存储器单元一样处理,

99、使用访问存储器的指令。如:movx 类指令。独立编址:采用一套与存储器不同的地址,利用/MREQ(存储器请求)和/IORQ(输入输出请求), CPU 有专门的I/O指令 如:IN, OUT 。5-4 I/O数据有哪四种传送方式?无条件传送方式条件传送方式(查询方式)推荐精选中断方式存储器直接存取(DMA)方式5-6 结合图5-17说明DMA传送的工作过程外设向DMAC发DMA申请DMAC向CPU发BUSRQCPU发BUSAK响应DMAC发存储器地址和读写信号DMA控制结束,恢复CPU对总线控制5-13 中断允许寄存器IE各位的定义是什么?请写出允许定时器/计数器T

100、/C1溢出中断的指令。IE.8:EA,中断允许触发器IE.4:ES,串行口中断允许位IE.3:ET1, 定时器/计数器1中断允许位IE.2:EX1,外部中断1允许位IE.1:ET0, 定时器/计数器0中断允许位IE.0:EX0, 外部中断1允许位允许定时器/计数器T/C1溢出中断的指令:Setb ET1Setb EASetb TR15-17 MCS-51的中断处理程序能否存储在64kB程序存储器的任何区域?若可以,则如何实现?可以。实现方法:在中断向量入口处,放一条长跳转指令,跳转到中断服务程序处。      第六章习题参考

101、答案6-18051单片机内部有四个8位并行I/O口,命名为P0、P1、P2、P3。这4个并行I/O口都可以作准双向通用I/O口,即先执行一条指令MOV P1,#0FFH。P0、P2和P3口还有复用的第二功能。每个口都包含一个(8位)锁存器(即特殊功能寄存器P0P3),一个输出驱动器,和两个三态缓冲器。推荐精选P0口功能:可作通用I/O口,是漏级开路的。因此必须外接上拉电阻,以保证“1”信号正常输出。也可作为分时作为地址/数据总线使用。P1口功能:可作通用I/O口,也是一个“准双向”口,作输入口时要先将输出驱动管截止。P2口功能:可用作通用I/O口,与P1口类似,也可用作高8位地址总线。P3口功能:可用作通用I/O口,另外,还有其第二功能。6-2“读锁存器”指令是P0P3作目的操作数的指令,能实现“读修改写”口锁存器的操作。“读引脚”指令的特点是:P0P3 作为源操作数出现在指令中,但在读引脚数据之前,必须对所读的口或口位的D锁存器写入“1”。要正确读引脚数据,必须先写一条MOV  PX,#0FFH指令或能对所读的口或口位的D锁存器写入“1”的指令,而后紧接着写指令。 6-3在单片机实时应用系统中,定时

温馨提示

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

评论

0/150

提交评论