- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及应用 课程习题与解答 目 录 第三章习题解答 第五章习题解答 第三章习题解答 第五章习题解答 16.已知(A)=83H,(R0)=17H,(17H)=34H,请指出在执行下列程序后A的内容。 ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 所以(A)=CBH ;83H∧17H=03H→A ;34H∨03H=37H→17H ;03H⊕37H=34H ;34H求反等于CBH 解: 20.编写程序,进行两个16位数的减法:6F5DH-13B4H,结果存入片内RAM的30H和31H单元,30H存差的低8位。 CLR C MOV A,#5DH MOV R2,#B4H SUBB A,R2 MOV 30H,A MOV A,#6FH MOV R2,#13H SUBB A,R2 MOV 31H,A ;被减数低8位→A ;减数低8位→R2 ;被减数减去减数,差→A ;低8位结果→30H ;被减数高8位→A ;减数高8位→R2 ;被减数减去减数,差→A ;高8位结果→31H 解: 21.编写程序,若累加器A的内容分别满足下列条件时,则程序转至LABEL存储单元。设A中存的是无符号数。 (1)A≥10 CJNE A,#10,L1 L2:LJMP LABEL L1:JNC L2 或:CLR C SUBB A,#0AH JZ LABEL JNC LABEL ;(A)与10比较,不等则转L1 ;相等则转LABEL ;(A)大于10,也转LABEL ; ; ; ; 解: (2)A10 CJNE A,#10,L1 ; SJMP L3 ; L1:JNC L2 ; SJMP L4 ; L2:JMP LABEL ; 或:CLR C ; SUBB A,#0AH ; JNC LABEL ; 解: (3)A≤10 CJNE A,#10,L1 ; L2:LJMP LABEL ; L1:JC,L2 ; 或:CLR C ; SUBB A,#0AH ; JC LABEL ; JZ LABEL ; 请你注释 解: 25.编写程序,查找片内RAM中的20H~50H单元中是否有0AAH这一数据。若有,则51H单元置为01H;若未找到,则51H单元置为00H。 MOV R2,#31H MOV R0,#20H LOOP:MOV A,@R0 CLR C SUBB A,#0AAH JZ L1 INC R0 DJNZ R2,LOOP MOV 51H,#00H L1:MOV 51H,#00H RET ;数据块长度→R2 ;数据块首地址→R0 ;待查找的数据→A ;清进位位 ;待查找的数据是0AAH吗? ;是,转L1 ;不是,地址增1,指向下一个待查找数据 ;数据块长度减1,不等于零,继续查找 ;等于零,未找到,00H→51H ;找到,01H→51H 解: 26.编写程序,查找在片内RAM中的20H~50H单元中出现的00H的次数,并将查找结果存入51H单元。 MOV R2,#31H MOV R0,#20H MOV 51H,#00H LOOP:MOV A,@R0 ANL A,#0FFH JNZ L1 INC 51H L1:INC R0 DJNZ R2,LOOP RET 解: ;数据块长度→R2 ;数据块首地址→R0 ;51H单元清0,以记录00H的个数 ;待查的数据→A ;与0FFH相与,判断该数据是否为0 ;不为0,转L1 ;为0,00H个数增1 ;地址增1,指向下一个待查数据 ;数据块长度减1,不等于零,继续查找 ;全部查找完,返回 27.片外RAM中有一个数据块,存有若干字符、数字,首地址为SOURCE。要求将数据块传送到片内RAM以DIST开始的区域,直到遇到字符“$”时结束。(“$”也要传送,它的ASCII码为24H) MOV DPTR,#SOURCE MOV R0,#DIST L2:MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 CJNE A,#24H,L2 RET 解: ;源首地址→DPTR ;目的首地址→R0 ;传送一个字符 ; ; ;指向下一个字符 ;传送的是$字符吗?不是,就传送下一
文档评论(0)