单片机基础__第三版__课后习题答案编程题..docVIP

单片机基础__第三版__课后习题答案编程题..doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(三)其它类型题  3.编写程序将RAM20H-23H单元的高4位写1,低4位写0。 分析:就是把这四个单元写入F0H。用一个DJNZ的循环。    ORG 0000H MOV R0,#1FH ;R0指向20H单元 MOV R5,#04H; 四个数 LOOP: INC R0 MOV @R0,#0F0H ; 写入 DJNZ R5,LOOP ; 循环4次 END 4.把m和m+1单元存有两个BCD数,将它们合并到m单元中,编写程序完成。 (设m=30H, 高位在30H,低数在31H)     ORG 0000H MOV A,30H ANL A,#0FH ;把它的高四位清零 SWAP A MOV 30H ,A ;高低四位调一下,放回原处 MOV A,31H ANL A,#0FH ORL A,30H ;合并起来 MOV 30H,A END 5.将内部RAM中从data单元开始的10个无符号数相加,其和送sum单元多,假定相加结果小于255。编写程序完成。 (设data=30H, sun =50H) ORG 0000H MOV R0,#2FH ; 指向前一个单元 MOV R5,#0AH ;循环10次 CLR A  ;先加到A中 LOOP: INC R0 ADD A,@R0 DJNZ R5,LOOP MOV 50H,A END 6.假定8位二进制带符号数丰于R0中,要求编写一个求补程序,所得补码入入R1中。   ORG 0000H MOV A,R0 CPL A ;按位取反 ADD A,#01H ;+1 MOV R1,A 编程题  1.把长度为10H的字符串从内部RAM的输入缓冲区inbuf向位物外部RAM的输出缓冲区outbuf传送,一直进行到遇见回车或整个字符串传送完毕。试编程实现。 ? ? ? ?     ORG? 0030H ? ? ? ? ? ? ? ? MOV? R0,#inbuf ? ? ? ? ? ? ? ? MOV? R1,#outbuf? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MOV? R4,#10H ? ? LOOP:MOV? A,@R0 ; 从内部RAM取数 CJNE? A,#0DH,LL ;是否为回车符CR ? ? ? ? ? ? ? SJMP? STOP ;是转停止传送 ? LL:? MOVX? @R1,A ;不是则传送到外部RAM ? ? ? ? ? ? INC? R0 ? ? ? ? ? ? INC? R1? ? ? ? ? ? ? DJNZ? R4,LL;沒传送完则循环 STOP:? SJMP $ 2、内部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。编程实现在表中找出最小数。 ? ? ? (3AH存放在运行程序时的最小的数)? ? ? ORG? 0030H ? ? ? ? ? ? MOV R0,#list ? ? ? ? ? ? MOV A,@R0 ;取第一个正数 ? LOOP: INC R0 ;指向下一个正数 ? ? ? ? ? ? MOV 3AH,@R0 ? ? ? CJNE A,3AH,CHK ;前一个数与后一个数比较 CHK:? JC? LOOP1 ;前一个数小,则转 ? ? ? ?? ? MOV A,@R0 ;前一个数大,取后一个数 LOOP1: XCH A,3AH ? ? ? ? ? ? CJNE A,#0FFH,LOOP ? ? ? ? ? ? XCH A,3AH ;取最小数 ? ? ? ? ? ? MOV? 3BH,A ? ? ? ? ? ? SJMP $ 3.内部RAM的X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z单元中。  若X为正奇数,Z =X+Y; 若X为正偶数,Z =X∨Y; 若X为负奇数,Z =X∧Y; 若X为负偶数,Z =X⊕Y。   分析:负数:第7位为1,正数:第7位

文档评论(0)

bhzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档