单片机原理及接口技术(第3版)复习题

上传人:xinsh****encai 文档编号:28192640 上传时间:2021-08-23 格式:DOC 页数:22 大小:211.50KB
收藏 版权申诉 举报 下载
单片机原理及接口技术(第3版)复习题_第1页
第1页 / 共22页
单片机原理及接口技术(第3版)复习题_第2页
第2页 / 共22页
单片机原理及接口技术(第3版)复习题_第3页
第3页 / 共22页
资源描述:

《单片机原理及接口技术(第3版)复习题》由会员分享,可在线阅读,更多相关《单片机原理及接口技术(第3版)复习题(22页珍藏版)》请在装配图网上搜索。

1、单项选择题(80)1. 89C51复位后,程序计数器PC中的内容是( )。A. 0030 H B. 0000H C. FFFFH D. 不确定2. 89C51的直接寻址方式的寻址空间是( )。A. 片内RAM的低128B和 SFR B. 片内RAM和ROM的256BC. 片外RAM的低256B D. 片内、片外RAM的00FFH和SFR3. CPU访问片内RAM的指令类型用( )。A. MOVC B. MOVX C. MOV D. MOVD4. 当CPU响应定时/计数器T1的中断时,( )。A. 需用软件将TF1置1 B. 需用软件将TF1清0C. 硬件将自动对TF1置1 D. 硬件将自动对T

2、F1清05. 指令( )用于启动89C51的定时器T1。A. CLR TR1 B. MOV TR1,00H C. SETB TR1 D. MOV TR1,0FFH6. 89C51复位后,P1口状态是( )。A. 00H B. 11H C. FFH D. 10H9. 如8051的SP的内容是30H,顺序执行PUSH ACC和POP B两句指令后,( )。A. 寄存器SP中的内容为32H B. 累加器A中的内容与寄存器B中的内容是一样的C. 寄存器B中的内容与原来累加器A中的内容一样,此时A中的内容是0D. 累加器A中的内容是30H,寄存器B中的内容是31H10. 指令MOV R1, A与MOVX

3、 R1, A比较,( )。A. 指令的功能一样B. 前一条指令的目的地址在片内RAM,后一条指令的目的地址在片外RAMC. 前一条指令属于寄存器间接寻址,后一条指令属于直接寻址D. 前一条指令用于访问片内RAM,后一条指令只能访问片内的SFR区11. 当执行指令时,PC中的内容总是指示出( )。A. 正在执行的当前指令的地址 B.状态字寄存器中的内容C. 将要执行的下一条指令地址 D.中断的断点的地址 12. 当CPU响应外部中断0时,( )。A. 硬件将自动对IE0清0 B. 硬件将自动对IE0置1 C. 需用软件将IE0清0 D. 需用软件将IE0置113. 将89C51片外RAM某单元中

4、的内容送累加器A,应采用( )这样的指令。A. MOV A, DPTR B. MOVX DPTR, A C. MOV DPTR, A D. MOVX A, DPTR 14. 属于立即数寻址的指令是( )。A. MOV A,#8DH B. MOV A,40H C. MOV A,R1 D. MOV A,R015. 89C51的TMOD寄存器中的( )位用于设置定时器的工作模式。A. M1.M0 B. C/T C. GATE D. TMOD.716. 89C51的( )口作为扩展片外数据存储器时的数据总线和地址总线的一部分。A. P3 B. P2 C. P1 D. P019. 如89C51的SP的内

5、容是30H,执行LCALL SUBRTN这样的指令后,( )。A. 当前寄存器SP中的内容为32H B. 当前寄存器SP中的内容为31HC. 当前寄存器SP中的内容为SUBRTN所对应的地址单元的内容D. 内存RAM的31H.32H单元中存放SUBRTN所对应的地址20. 执行下面的指令或指令组合,( ),两(组)指令执行结果一样。A. 指令MOV R0,A和指令MOVX R0,A比较B. 指令MOV A,B和指令组合PUSH B。 MOV A,07H比较C. 指令CLR 00H和指令ANL 20H,#0FEH比较D. 指令INC A和指令组合MOV R1,#01H。 ADD A,R1比较21

6、. 89C51产生中断时,CPU将自动将( )装入程序计数器PC中。A. 中断入口地址 B. 累加器A的内容 C. 主程序中的断点地址D. DPTR中的内容 22. 当CPU响应串行口发送中断时,( )。A. 需用软件将TI置1 B. 需用软件将TI清0C. 硬件将自动对TI置1 D. 硬件将自动对TI清023. 单片机对ROM的操作是( )。A. 只能读 B. 只能写 C. 可读可写 D. 只能存数据24. 属于寄存器间接寻址的指令是( )。A. MOV A,40H B. MOV A,#8DH C. MOV A,R1 D. MOV A,R025. 将89C51的定时器T0设定为16位计数器定

7、时方式,则T0应工作在( )。A. 模式0 B. 模式1 C. 模式2 D. 模式326. 89C51的( )口作为扩展片外数据存储器时16位地址总线中的高8位。A. P0 B. P1 C. P2 D. P329. 如8051的SP的内容是40H,执行RET这样的指令后,( )。A. 当前寄存器SP中的内容为38H B. 当前寄存器SP中的内容为3EHC. 当前寄存器SP中的内容为RET所对应的地址单元的内容D. 内存RAM的41H、42H单元中存放RET指令所对应的PC值30. 执行下面的指令或指令组合,( ),两(组)指令执行结果一样。A. 指令DEC A和指令组合MOV R1,#01H。

8、 SUBB A,R1比较B. 指令MOV A,B和指令组合PUSH A。 POP B比较C. 指令MOV A,R0和指令MOVX A,R0比较D. 指令SETB 00H和指令ORL 20H,#01H比较31. 执行返回指令RET后,( )中的内容将会变化。A. 累加器A B. 工作寄存器 C. 程序计数器PC D. 程序存储器0000H单元32. 要开放89C51的所有中断,可用( )指令来设置IE寄存器。A. MOV IE,#00H B. MOV IE,#10H C. MOV IE,#1FH D. MOV IE,#9FH33. CPU访问片外ROM的指令类型用( )。A. MOVC B. M

9、OVX C. MOV D. PUSH34. 访问89C51特殊功能寄存器只能用( )方式。A. 立即数寻址 B. 寄存器间接寻址 C. 直接寻址 D. 变址寻址35. 定时器T0工作在模式2 计数方式,要求计一个脉冲就溢出,则计数初值为( )。A. 00H B. FFH C. 01H D. FFFFH38. 89C51的P3口除了用作外部中断、串口输入/输出等第二功能外,也可用作( )。A. 数据总线 B. 通用的I/O口 C. 地址总线高8位D. 地址总线低8位39. 如89C51的寄存器SP的内容是07H,执行PUSH A指令后,( )。A. 片内RAM 07H单元内容与累加器A的内容一样

10、 B. 片外RAM 07H单元内容与累加器A的内容一样C. 片外RAM 08H单元内容与累加器A的内容一样D. 片内RAM 08H单元内容与累加器A的内容一样40. 执行下面的指令或指令组合,( ),两(组)指令执行结果一样。A. 指令SETB 20H和指令MOV 20H,#0FFH比较B. 指令SETB 20H和指令组合MOV R0,#20H。 MOV R0,#0FFH比较C. 指令SETB 20H和指令组合MOV 20H,#11H比较D. 指令CLR A和指令组合MOV R2,A。 XRL A,R2比较41. 改变( )中的内容就可改变程序执行的方向。A. 程序计数器PC B. 累加器A

11、C. 堆栈指针SP D. 状态字寄存器PSW 42. 指令MOVC A,A+DPTR可以访问( ) 。A. 片外RAM的64 KB空间 B. 片内RAM空间 C. 程序存储器空间 D. 片内和片外的RAM空间43. 对RAM的操作是( )。A. 只能读 B. 只能写 C. 可读可写 D. 只能存数据44. 要关闭89C51的所有中断,可用( )指令来设置IE寄存器。A. MOV IE,#00H B. MOV IE,#11H C. MOV IE,#1FH D. MOV IE,#9FH45. 关于89C51定时器T1溢出标志位TF1正确的描述是( )。A. 溢出时,硬件自动将TF1清0 B. 溢出

12、时,需用软件将TF1置1C. 溢出时,硬件自动将TF1置1 D. 中断响应后必须用软件将TF1清046. 当89C51采用12MHz晶振,则引脚ALE输出的频率不会超过( )。A. 1MHz B. 1.2MHz C. 500kHz D. 2MHz49. 执行指令CJNE R0,#3CH,TABL0,下面描述正确的是( )。A. 如R0中的内容等3CH,程序跳转到TABL0处执行B. 如R0中的内容不等于3CH,程序跳转到TABL0处执行C. 如R0中的内容所指地址单元内容等于3CH,程序跳转到TABL0处执行D. 如R0中的内容所指地址单元内容不等于3CH,程序跳转到TABL0处执行50. P

13、1口地址为90H,执行下面指令或指令组合,( ),两(组)指令执行结果一样。A. 指令MOV P1,R1和指令组合MOV A,R1。 MOV P1,A比较B. 指令MOV A,P1和指令组合MOV R1,P1。 MOV A,R1比较C. 指令SETB P1.7和指令组合MOV A,#17H。 ORL P1,A比较D. 指令MOV P1,A和MOV 90H,A比较51. 89C51产生中断时,CPU将自动改变( )中的内容。A. 累加器A B. 工作寄存器 C. 程序计数器PC D. 程序存储器0000H单元52. 89C51的立即数寻址方式的寻址空间是( )。A. 片外RAM B. 程序存储器

14、 ROM C. 片内RAM D. 片内和片外RAM53. CPU访问片外RAM的指令类型用( )。A. MOVC B. MOVX C. MOV D. PUSH54. 当CPU响应定时/计数器T0的中断时,( )压入堆栈。A. 需用软件将当前PC值 B. 需用软件将中断入口地址C. 硬件自动将当前PC值 D. 硬件自动将中断入口地址55. 关于89C51定时器T1溢出标志位TF1正确的描述是( )。A. 溢出时,硬件自动将TF1置1 B. 溢出时,需用软件将TF1置1C. 溢出时,硬件自动将TF1清0 D. 中断响应后必须用软件将TF1清056. 如果要P1口作为输入口用,可以先用指令( )对P

15、1口进行操作。A. MOV P1,#0FFH B. MOV P1,#0FFHC. MOV P1,#00H D. MOV P1,#00H59. 执行查表指令MOVC A,A+PC后,当前A中的内容是( )。A. 原来A中的内容与PC中的内容之和B. 执行该指令时,当前PC所指地址单元中的内容与原来A中的内容之和C. 执行该指令时,当前指令下一条指令对应PC中的内容与原来A中的内容之和 所指地址单元的内容D. 原来A中的内容60. 执行下面的指令或指令组合,( ),两(组)指令执行结果一样。A. 指令SETB 01H和指令ORL 20H,#01H比较B. 指令SWAP A和执行四遍指令RL A比较

16、C. 指令SWAP A和执行四遍指令RLC A比较D. 指令SWAP A和执行四遍指令RRC A比较61. 在程序开始执行前,必须将其起始地址送入( )。A. 堆栈指针SP B. 状态字寄存器PSW C. 程序计数器PC D. 累加器A62. 属于直接寻址的指令是( )。A. MOV A,R1 B. MOV A,#8DH C. MOV A,40H D. MOV A,R063. 将89C51扩展程序存储器EPROM单元中常数送累加器A,应采用( )这样指令。A. MOVC A,A+DPTR B. MOVC A,DPTRC. MOVX A,A+DPTR D. MOVX A,DPTR64. 为了使中

17、断能正确返回,在中断子程序中( )指令必须成对出现。A. ADDC和SUBB B. PUSH和POP C. INC和DEC D. CJNE和DJNE65. 定时器T1工作在模式2 计数方式,要求计3个脉冲就溢出,则计数初值为( )。A. FFFCH B. FCH C. FDH D. 03H66. 89C51的特殊功能寄存器可以用( )方式进行访问。A. 寄存器间接寻址 B. 立即数寻址 C. 变址寻址 D. 直接寻址69. 执行指令MOVC A,A+DPTR后,当前A中的内容是( )。A. 原来A中的内容与DPTR中的内容之和B. 寄存器DPTR中的内容为地址的单元中内容与原来A中的内容之和C

18、. PC的内容、原来A的内容、DPTR的内容三者之和所指地址单元的内容D. DPTR的内容与原来A的内容之和所指地址单元的内容70. R1的内容为40H,执行下面的指令或指令组合,( ),两(组)指令执行结果一样。A. 指令ANL 40H,#40H和指令组合MOV A,R1。 ANL 40H,A比较B. 指令ANL A,R1和指令ANL A,#40H比较C. 指令ANL A,R1和指令MOV 40H,R1。 ANL A,40H比较D. 指令ANL A,R1和指令ANL A,#40H比较71. 执行调用指令LCALL后,( )中的内容由硬件自动改变。A. 累加器A B. 工作寄存器 C. 程序计

19、数器PC D. 程序存储器0000H单元72. 89C51的寄存器间接寻址方式的寻址空间是( )。A. 特殊功能寄存器 SFR B. 片内和片外RAM的00FFHC. 片内RAM的80H FFH D. 片内RAM的低128B和片外RAM73. 将89C51累加器A中的内容送片外RAM某单元,应采用( )这样的指令。A. MOV A, DPTR B. MOVX DPTR, AC. MOV DPTR, A D. MOVX A, DPTR74. 当执行中断返回指令RETI时,( )弹出,送程序计数器PC。A. 硬件自动将当前栈顶2字节内容 B. 硬件自动将指令RETI对应的地址C. 需用软件将当前栈

20、顶2 字节内容 D. 硬件自动在ROM中找断点地址75. 用指令( )可以让正在计数的定时器T0停止计数。A. CLR TR0 B. MOV TR0,00H C. SETB TR0 D. MOV TR0,0FFH76. 89C51内部RAM位地址( )对应字节地址21H的最低一位。A. 00H B. 01H C. 08H D. 10H79. 执行指令DJNZ R1,TABL1,下面描述正确的是( )。A. R1中的内容如不等于零,程序跳转到TABL1处执行B. R1中的内容减1如不等于零,程序跳转到TABL1处执行C. R1中的内容加1如有溢出,程序跳转到TABL1处执行D. R1中的内容减1

21、如等于零,程序跳转到TABL1处执行80. R1的内容为50H,执行下面的指令或指令组合,( ),两(组)指令执行结果一样。A. 指令ORL 50H,#40H和指令组合MOV A,R1。 ORL 50H,A比较B. 指令ORL A,R1和指令ANL A,#50H比较C. 指令ORL A,R1和指令MOV 50H,R1。 ORL A,50H比较D. 指令ORL A,R1和指令ORL A,#50H比较7. 89C51单片机系统的扩展RAM和I/O口是按( )编址的。A. 外部数据存储器统一 B. 外部RAM和内部RAM统一C. RAM区和I/O口地址区分别 D. 外部程序存储器统一8. A/D转换

22、器ADC0809与MC14433比较,则( )。A. ADC0809的转换精度高 B. ADC0809的转换速度快C. MC14433的转换速度快 D. ADC0809的抗干扰能力强17. 器件( )可以用作扩展89C51片外数据或程序存储器的地址锁存器。A. 8155A B. 27128 C. 6264 D. 74LS37318. D/A转换器是将( )的器件。A. 模拟信号转换成数字信号 B. 多路数字信号集中传输C. 数字信号转换成模拟信号 D. 输出信号与8051进行隔离27. 外扩片外存储器时,8031的引脚PSEN(29脚)应该与片外( )相连。A. EPROM的数据输出选通线 B

23、. RAM的写选通信号线C. EPROM的片选线 D. RAM的片选线28. 要选择ADC0809的IN3通道进行转换,则ADDA、ADDB、ADDC按顺序为( )。A. 010 B. 011 C. 111 D. 11036. 要选择ADC0809的IN6通道进行转换,则ADDC、ADDB、ADDA按顺序为( )。A. 001 B. 110 C. 011 D. 11137. 如果要确定8155的工作状态,应当将适当的命令字写入( )。A. 8155的PA 口 B. 8155的状态寄存器 C. 8155的PC 口D. 8155的指令寄存器47. 共阴极LED显示7,应向各控制端dp、g、f、e、

24、d、c、b、a送入( )信号。A. 01111101 B. 00000111 C. 00000110 D. 0111011148. A/D转换器ADC0809与MC14433比较,则( )。A. ADC0809的转换精度高 B. MC14433的转换精度高C. MC14433的转换速度快 D. ADC0809的抗干扰能力强57. 共阴极LED显示6,应向各控制端dp、g、f、e、d、c、b、a送入( )信号。A. 01111101 B. 00000110 C. 00000111 D. 0111011158. A/D转换器是将( )的器件。A. 数字信号转换成模拟信号 B. 多路模拟信号集中传输

25、67. 共阳极LED显示8,应向各控制端dp、g、f、e、d、c、b、a送入( )信号。A. 10000000 B. 00000000 C. 01111111 D. 1111111168. A/D转换器ADC0809与MC14433比较,则( )。A. ADC0809的转换精度高 B. ADC0809的转换速度慢C. MC14433的抗干扰能力强 D. ADC0809的抗干扰能力强C. 模拟信号转换成数字信号 D. 输入信号与8051进行隔离77. 当8155的PA和PB口工作在选通I/O方式时,此时PC口( )。A. 作为PA和PB口的联络信号 B. 为输出口 C. 为输入口D. 也可以工作

26、在选通I/O方式78. A/D转换器MC14433的( )。A. 转换精度与10位二进制的相当 B. 属逐次逼近型转换器C. 转换结果不能直接由8031数据总线输入 D. 数据输出信号是三态的1. B 2. A 3. C 4. D 5. C 6. C 7. A 8. B 9. B 10. B11. C 12. A 13. D 14. B 15. A 16. D 17. D 18. C 19. A 20. C21. A 22. B 23. A 24. D 25. B 26. C 27. A 28. D 29. B 30. D31. C 32. D 33. A 34. C 35. B 36. C

27、37. D 38. B 39. D 40. D41. A 42. C 43. C 44. A 45. C 46. D 47. B 48. B 49. D 50. D51. C 52. B 53. B 54. C 55. A 56. A 57. A 58. C 59. C 60. B61. C 62. C 63. A 64. B 65. C 66. D 67. A 68. C 69. D 70. D71. C 72. D 73. B 74. A 75. A 76. C 77. A 78. C 79. B 80. D二、程序解释(32)对每小题程序中划线的指令含义(或指令作用)进行解释,并说明程序

28、的作用。1. 程序解释 ORG 100HMOV A,R0 ;R0的内容送A ANL A,#0FHMOV R1,A MOV A,R0SWAP A ;A的内容高低4位交换 ANL A,#0FHMOV R2,A SJMP $ ;等待 END该程序的作用是:将原R0中数据按照高低4位分成两个字节,低位字节保存在R1中,高位字节保存到R2中。2. 程序解释 ORG 30HMOV R0,#data1 ; data1送R0 MOV R1,#data2MOVR2,#2CLR CLOOP: MOVA,R0SUBB A,R1 ;(A)-(C)-(R1)A MOV R0,A INC R0 INC R1DJNZR2,

29、LOOP ;(R2)-1不等于零,跳LOOP处 SJMP $ END该程序的作用是:将data1中的双字节数据减去data2中的双字节数据,结果保存到data1中3. 程序解释 ORG 30HVAR DATA 30HFUNCDATA 31HMOV A,VAR ;30单元的内容送A JZ DONE ;A为零转移JNB ACC.7,POSI ;A的最高位为0(正数)转移MOV A,#0FFH ;提示:0FFH表示-1SJMP DONEPOSI:MOV A, #01HDONE:MOV FUNC,ASJMP $END该程序的作用是:判断30H单元中的内容,结果放在31H单元中。大于0放1,小于0放-1

30、,等于零放0。 4. 程序解释 ORG 100HMOV A, R3 RL A ;A左循环一位(即乘2)MOV DPTR,#BRTAB ;绝对转移地址表起始地址送DPTR JMP A+DPTR ;(PC)=(A)+(DPTR) BRTAB:AJMPROUT000AJMPROUT001 AJMPROUT002 AJMPROUT127END该程序的作用是:本程序完成128分支转移操作,根据R3中的数值转移到相应的128个分支程序中。5. 程序解释 ORG 0030H MOV R0, #22H ; 立即数22H送R0 MOV R0, #00H INC R0 ; R0中的内容加1 MOV R0, #01

31、H INC R0MOV R0, #02H ; 02H送24H单元 SJMP $END该程序的作用是:向单片机内部RAM的22H,23H,24H单元分别送数据00,01,02。 6. 程序解释 ORG 0030H MOV A, 20H MOV B, 21H DIV AB ; A除以B MOV 31H, A ; 商送30H单元 IMOV 31H,B ; 余数送31H单元SJMP$ END该程序的作用是:将20H单元中有一个二进制数除以21H单元中二进制数,商保存到30H单元,余数保存到31H。7. 程序解释CHENGJIDATA 1000HGRADA DATA20HGRADB DATA 21H M

32、OVGRADA,#00HMOV GRADB,#00H MOVR2,#100 MOVDPTR,#CHENGJI ;1000H送DPTR LOOP:MOVXA,DPTRCJNEA,#60,LOOP1 LOOP1: JNC NEXT1INC GRADB ;21H单元的内容加1 SJMP NEXTNEXT1: INC GRADANEXT: INC DPTRDJNZ R2,LOOP ;(R2)-1R2 不为零,转移 SJMP $END该程序的作用是 本程序完成对100个数(如100个学生成绩)的过滤统计,成绩在60以上的学生统计到GRADA,60的学生统计到GRADB。8. 程序解释LEN DATA 2

33、0HSUM DATA 21H BLOCK DATA 22HCLR A ;A清0 MOV R2,LEN MOV R1,#BLOCK LOOP:ADD A,R1 ;(A)+(R1)A INC R1CHECK:DJNZ R2,LOOP ;LEN个单元未加完,继续 MOV SUM,A SJMP $ END该程序的作用是:完成BLOCK单元开始的LEN单元中数据个数的累加,累加结果保存到SUM单元中。 9. 程序解释XX DATA 40HYY DATA41HMOVA,XX JZ DONE MOVR0,#0FFH ;提示:0FFH表示-1 JNB ACC.7,NEG ;若A 0,则转向NEGMOVR0,#

34、01H ; 01送R0 NEG:MOV A, R0DONE:MOV YY,A ;(A)送41H单元 SJMP$ END该程序的作用是:判断40H单元中的内容,结果放在41H单元中。大于0放1,小于0放-1,等于0放0。 10. 程序解释ONEDATA 30HTWO DATA 31H ;TWO地址定义为31H MAXDATA 32HCLRC ;C清零 MOV A,ONESUBB A,TWO ;(A)-(31H)结果送A JNC XMAX YMAX:MOV A,TWO SJMP DONE XMAX:MOV A,ONEDONE:MOV MAX,A 该程序的作用是:本程序完成ONE和TWO的两个单元中

35、的数的比较,大数存入 MAX单元中。 11. 程序解释BLOCK1 DATA 20HBLOCK2 DATA 40H MOV R0,#BLOCK1 MOV R1,#BLOCK2 MOV R2,#03 CLR CLOOP: MOV A,R0 ;被加数送A ADDC A,R1 ;带进位加法 MOV R0,A ;和送(R0) INC R0 INC R1 DJNZ R2,LOOP1 SJMP $ END该程序的作用是:内部RAM中BLOCK1(20H)开始的三字节数与BLOCK2(40H)开始的两个三字节数相加,和数存放到BLOCK1开始的单元。 12. 程序解释SHIFT:MOV DPTR,#TABJ

36、 MOV A,R2 RL A ;A乘2 ADD A,R2 JMP A+DPTR ;跳转到(A)+(DPTR)PC TABJ:LJMP PRG0 ; 跳转到 PRG0 LJMP PRG1LJMP PRGN该程序的作用是:根据内部RAM中R2数据转向不同的子程序,R2=0转PRG0,R2=1转PRG1, R2=N转PRGN 13. 程序解释START:CLR AMOV R2,#10 MOV R1,#21H ;21H送R1 NEXT: ADD A,R1 ;(A)+(R1)A INC R1 DJNZ R2,NEXT ;未加完,跳转 MOV22H,A SJMP $ END该程序的作用是:完成21H单元开

37、始的10个数据块的累加,结果保存到22H单元。14. 程序解释LEN DATA 20HMAX DATA 21H ADDR DATA 30H MOV MAX,#00H MOV R0,#ADDR LOOP: MOV A,R0 CJNE A,MAX,NEXT1 ;(A)与(MAX)比较,不等去NEXTNEXT1: JC NEXT ;C=1 去NEXT MOV MAX,ANEXT: INC R0 ;R0内容加1 DJNZ LEN,LOOP SJMP $ END该程序的作用是:内部RAM中ADDR(30H)开始的x个数据的比较,将最大的数字送MAX单元。x由LEN(20H)单元给出。 15. 程序解释

38、MOV A,R0ANL A,#0FH ;0FH与A相与,结果送A MOV DPTR,#ASCTABMOVC A,A+DPTR ;查表 MOV R0,A ; 查表结果存入R0 SJMP $ASCTAB:DB 0, 1, 2, 3, 4 DB 5, 6, 7, 8, 9 DB A, B, C, D, E , F END该程序的作用是:将R0中低4位的0F的十六进制数据转换成ASCTAB中的编码存放到R0中。16. 程序解释 ORG 100HMERG:MOVX A,R0 ; 读片外RAM第一字节ANL A,#0FHSWAP A ;高低4位相互交换 MOV B,A INC R0MOVX A,R0 AN

39、L A,#0FHORL A,B ;A或B, 结果送A DEC R0 MOVX R0,A SJMP $ END该程序的作用是:将R0指向的两个字节的低4位和并为一个字节,保存到原R0指向的存储单元。 17. 程序解释START:MOV DPTR,#DTATABMOVA,R4 ;(R4)A ADD A,DPL ;(DPL)+(A)A MOVDPL,ACLR A ;清AADDCA,DPHMOVDPH,A CLR A MOVCA,A+DPTR MOVR5,A RETDTATAB: DB ;元素表格,高字节在前 DB END该程序的作用是:根据R4中的内容(元素序号)在DTATAB表格中查表,将查表得到

40、的数据存入R5中。18. 程序解释START:MOV A, R0ACALL SQR ;调用子程SQR MOV R2,AMOV A, R1 ACALL SQRADD A,R2 ;(R2)+(A)A MOV R2,A SJMP $SQR: ADD A,#01HMOVC A,A+PC ;查平方表 RETSQRTAB:DB 0,1,4,9,16 ;平方表 DB 25,36,49,64,81 END该程序的作用是:将R0和R1中的两个个位数进行平方元算,然后相加,和存入R2中。19. 程序解释MOV R2,#0AHMOV R0,#50HCLR ALOOP: MOV R0,A ;(A)(R0) INC R

41、0DJNZ R2,LOOP ;(R2)-1不等于0,跳转 RET ;子程序返回 END 该程序的作用是: 将50H59H单元置0 20. 程序解释CONT:MOV R0, #10 ;10送R0 MOV 31H,#00HMOV R1,#01HCLOP:MOV A,R1CLR CRLC A ;乘2 ADD A,31H ;(A)+(31H)结果送A MOV 31H,A INC R1 DJNZ R0,CLOPRETEND该程序的作用是: 将110十个数乘2后再累加,结果送31H单元。 21. 程序解释DLAY:MOV R7,#02H ;02H送R7 DL:MOVR6,#0FFHDL1:DJNZ R6,

42、DL1 ;(R6)-1不为零转移。DJNZ R7,DL RETEND ;程序结束伪指令 该程序的作用是:利用R6,R7实现双循环延时子程序22. 程序解释MATH DATA 1000H PASS DATA 20HNOPASS DATA 21H MOV PASS,#00HMOV NOPASS,#00H MOV R2,#0C8HMOV DPTR,#MATHLOOP:MOVX A, DPTR ;片外单元(DPTR)ACJNE A,#60,LOOP1 ;(A)不等于60转移 LOOP1: JNC NEXT1NEXT: INC NOPASS SJMP NEXT2NEXT1: INC PASS ;PASS

43、单元内容加1 NEXT2: INC DPTR DJNZ R2,LOOP RET END该程序的作用是:完成1000H开始的200(C8H)个数的过滤统计,在60及以上的统计到PASS,60的到NOPASS。 23. 程序解释CLEAN:MOV DPTR,#1000H ; 设置数据区首地址 MOVR2,#51HCLR ACLOOP:MOVX DPTR, A ; 0 (DPTR) INC DPTR DJNZR2,CLOOP ; R2-1不为零转移 RET END该程序的作用是:将外部RAM1000H1050H单元的内容清零。24. 程序解释DMOV:MOV DPTR,#2000HMOV R2,#00HDLOOP:MOVX A,DPTR ;设置源数据区首地址MOV DPH,#30H ;置目的数据区高8位地址 MOVX DPTR,A MOV DPH,#20HINC DPTR ;指向下一个数据单元 DJNZ R2,DLOOP END该程序的作用是:将2000H20FFH的数据块传送到3000H30FFH单元 25. 程序解释LOK1:MOV 21H,0 M

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!