单片机原理及应用技术 苏家建 曹柏荣 汪志锋 课后习题参考答案.doc
《单片机原理及应用技术 苏家建 曹柏荣 汪志锋 课后习题参考答案.doc》由会员分享,可在线阅读,更多相关《单片机原理及应用技术 苏家建 曹柏荣 汪志锋 课后习题参考答案.doc(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、单片机原理及应用技术 苏家建 课后习题参考答案第三章MCS-51指令系统3-1 MCS-51指令系统有哪几种寻址方式?按功能分类有哪几种指令?3-2 设A=0FH,R0=30H,片内RAM的30H=0AH, 31H=0BH, 32H=0CH,以下程序段运行后的结果?MOV A,R0 ;A=0AHMOV R0,32H ;(30H)=0CHMOV 32H,A ;(32H)=0AHMOV R0,#31H ;R0=31HMOV A,R0;A=(31H)=0BH3-3 1R0的内容传送到R1MOV A,R0MOV R1,A(2)内部RAM 20H单元的内容传送到AMOV A,20H(3)外部RAM 30
2、H单元的内容传送到R0MOV R1,#30HMOVX A,R1MOV R0,A(4) 外部RAM 30H单元的内容传送到内部RAM 20H单元MOV R1,#30HMOVX A,R1MOV 20H,A(5) 外部RAM 1000H单元的内容传送到内部RAM 20H单元MOV DPTR,#1000HMOVX A,DPTRMOV 20H,A(6)程序存储器ROM 2000H单元的内容传送到R1MOV DPTR,#2000HCLR AMOVC A,A+DPTRMOV R1,A(7) RAM 2000H单元的内容传送到内部RAM 20H单元MOV DPTR,#2000HMOVX A,DPTRMOV 2
3、0H,A(8) RAM 2000H单元的内容传送到外部RAM 30H单元MOV DPTR,#2000HMOVX A,DPTRMOV R0,#30HMOVX R0,A(9) RAM 2000H单元的内容传送到外部RAM 1000H单元MOV DPTR,#2000HMOVX A,DPTRMOV DPTR,#1000HMOVX DPTR,A3-4 设内部RAM 30H=5AH,5AH=40H,40H=00H, P1=7FH, 下面程序执行后的结果如何?MOV R0,#30H ;R0=30HMOV A,R0 ;A=(30H)=5AHMOV R1,A ;R1=5AHMOV R1,P1; (5AH)=7F
4、HMOV A,P1 ;A=7FHMOV 40H,#20H ;(40H)=20HMOV 30H,40H ;(30H)=00H3-5 编程,将内部RAM 20H-2FH共16个连续单元清零ORG 0100HMOV R0,#20HMOV R2,#16LOOP:MOV R0,#00HINC R0DJNZ R2,LOOPEND3-6编程,求出内部RAM 20H单元中的数据含“1”的个数,并将结果存入21H单元中。ORG 0100HMOV 21H,#0MOV R2,#8MOV A,20HCLR CLOOP:RLC AJC COUNTDJNZ R2, LOOPSJMP STOPCOUNT: INC 21HD
5、JNZ R2,LOOPSTOP:SJMP $END3-7编程,找出内部RAM 30H-50H单元中出现FFH的次数,并将结果存入51H单元中。ORG 0100HMOV 51H,#0MOV R0,#30HMOV R2,#20HLOOP:MOV A,R0CJNE A,#0FFH,AGAININC 51HAGAIN:INC R0DJNZ R2,LOOPSJMP $END3-8编程,计算,并将结果存入内部的30H单元ORG 0100HMOV 30H,#0MOV 31H,#0 ; i的初值MOV R0,#30HMOV R2,#11MOV A,31HLOOP:INC 31HADD A,R0MOV R0,A
6、MOV A,31HRL ADJNZ R2,LOOPSJMP $END3-9 片内RAM(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H.说明以下指令源操作数的寻址方式,及指令执行的结果MOV A,40H ;A=48H 直接寻址MOV R0,A ;R0=48H 存放器寻址MOV P1,#0F0H ;P1=0F0H直接寻址MOV R0,30H ;(48H)=38H 存放器间接寻址MOV DPTR,#3848H ;DPTR=3848H 直接寻址MOV 40H,38H ;(40H)=(38H)=40H 直接寻址MOV R0,30H ;R0=(30H)=38H 存放器寻址M
7、OV P0,R0 ;P0=38H 直接寻址MOV 18H,#30H ; (18H)=30H 直接寻址MOV A,R0 ;A=(38H)=40H 直接寻址MOV P2,P1 ;P2=0F0H直接寻址3-10设R0=32H,A=48H,片内RAM (32H)=80H,(40H)=08H.求指令运行的结果MOV A,R0 ;A=(32H)=80HMOV R0,40H ; (32H)=40H=08HMOV 40H,A ; (40H)=80HMOV R0,#35H ; R0= 35H3-11设A=83H,R0=17H,片内RAM (17H)=34H, 求指令运行的结果ANL A,#17H ;A=03HO
8、RL A,17H ; (17H)=37HXRL A ,R0 ; A=37H CPL A ;A=C8H3-12编程实现片内RAM 20H-2FH与30H-3FH中数据的对换ORG 0100HMOV R0,#20HMOV R1,#40HMOV R2,#0FHLOOP:MOV A,R0MOV R1,AINC R0INC R1DJNZ R2,LOOPMOV R0,#30HMOV R1,#20HMOV R2,#0FHLOOP1:MOV A,R0MOV R1,AINC R0INC R1DJNZ R2,LOOP1MOV R0,#30HMOV R1,#40HMOV R2,#0FHLOOP1:MOV A,R1M
9、OV R0,AINC R0INC R1DJNZ R2,LOOP1SJMP $END3-13 A=34H,(30H)=4FH,ADD A,30H执行后的结果A=83H,PSW=41H3-14 SP=25H,PC=2345H,(24H)=12H,(25H)=34H,(26)=56H,执行RET后SP=?PC=?SP=23H,PC=3412H3-15 SP=25H,PC=2345H,标号LABEL所在的地址3456H,执行LCALL LABEL后SP=?PC=?,堆栈中的数据有何变化?SP=27H (26H)=48H (27H)=23H PC=3456H第四章 程序设计根底4-1片内RAM 30H单
10、元开始存放着一组用补码表示的有符号数,数目存于20H单元。编程统计出正数,0,负数的数目,分别存到21H,22H,23H单元。ORG 0100HMOV 21H,#0MOV 22H,#0MOV 23H,#0MOV R0,#30HLOOP:MOV A,R0CJNE A,#0 ,PDINC 22HSJMP DONEPD:JB ACC.7,FUINC 21HSJMP DONEFU:INC 23HDONE:INC R0DJNZ 20H,LOOPSJMP $END4-2 片内RAM 20H-2FH.但凡满足奇偶校验的数据1的个数为偶数的数转存到片外8000H开始的数据区ORG 0100HMOV R0,#2
11、0HMOV DPTR,#8000HMOV R2,#0FHLOOP:MOV A,R0JB PSW.0,DONEMOVX DPTR,AINC DPTRDONE: INC R0DJNZ R2,LOOPSJMP $END4-3 编程,把外部 RAM 1000H-10FFH的数据传送到2000H开始的区域ORG 0100HMOV R3,#10HMOV R4,#20HMOV DPL,#00HMOV R2,#0 LOOP:MOV DPH,R3MOVX A,DPTRMOV DPH,R4MOVX DPTR,AINC DPLDJNZ R2,LOOPSJMP $END4-4片内RAM 30H单元开始存放着一组无符号
12、数,其数目在21H单元中。编程将其中最小的数存入21HORG 0100HMOV R0,#30HMOV R2,21HMOV A,30HLOOP:CJNE A,R0,PDSJMP DONEPD:JNC DONEMOV 22H,R0XCH A,22HDONE: INC R0DJNZ R2,LOOPMOV 21H,ASJMP $END4-5 编程实现片内RAM 30H单元开始的16个数按顺序颠倒过来ORG 0100HMOV R0,#30HMOV R1,#40HMOV R2,#0FHLOOP:MOV A,R0MOV R1,AINC R0INC R1DJNZ R2,LOOPMOV R2,#0FHMOV R
13、0,#40HMOV R1,#3FHLOOP1:MOV A,R0MOV R1,AINC R0DEC R1DJNZ R2,LOOP1SJMP $END4-6 编程实现片内RAM 30H单元开始的16个数,存有最小数值的所在单元的内容改为0FFHORG 0100HMOV R0,#30HMOV R2,#16MOV A,30HMOV 22H,#0 ;22H存放找到的16个数中的最小值MOV 23H,#0 ;存放最小数值的地址放到23HLOOP:CJNE A,R0,PDSJMP DONEPD:JNC DONEMOV 22H, R0MOV 23H,R0XCH A,22HDONE: INC R0DJNZ R2
14、,LOOPMOV R0,23HMOV R0,#0FFHSJMP $END4-7 编程实现P1.7=P1.6(P1.5P1.4)ORG 0100HMOV C,P1.5ANL C,/P1.4MOV 20H,CMOV C,P1.4ANL C,/P1.5ORL C,20HANL C,P1.6MOV P1.7,CEND4-8编程统计片内RAM 30H单元开始的16个数,有多少数大于40,小于80,将结果存入40H单元中ORG 0100HMOV R0,#30HMOV R2,#16MOV 40H,#0LOOP:MOV A,R0CJNE A,#40,PDSJMP DONEPD:JNC PD2SJMP DONE
15、PD2:CJNE A,#80,PD3SJMP DONEPD3:JC COUNTSJMP DONECOUNT:INC 40HDONE:INC R0DJNZ R2,LOOPSJMP $END第六章 中断系统 6-1 定时器T0和T1各有几种工作方式?请简述。答:四种。工作方式T0T1最大计数模值初值加载方式最大计数模值初值加载方式方式0213人工加载213人工加载方式1216人工加载216人工加载方式228自动加载28自动加载常用于串口通信波特率发生器方式328TH0、TL0被分成两个相互独立的8位计数器;TL0既可做定时器也可做计数器;TH0可做内部定时器。人工加载初值8位计数,无中断产生,自动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理及应用技术 苏家建 曹柏荣 汪志锋 课后习题参考答案 单片机 原理 应用技术 课后 习题 参考答案
限制150内