单片机程序分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机程序分析

有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H。要求将该字符串中每一个字符加偶校验位。(以调用子程序的方法来实现。) 源程序如下: ORG 1000H MOV R0,#40H MOV R7,#10 NEXT: MOV A, ① ACALL SEPA MOV @R0,A INC R0 DJNZ ② ,NEXT SJMP $ SEPA: ADD A,#00H ③ PSW.0,SRET ORL A, ④ SRET: ⑤ @R0 ② R7 ③ JNB ④ #80H ⑤ RET 4设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?(8分) MOV R0,#30H ;R0=30H MOV A,@R0 ;A=5AH MOV R1,A ;R1=5AH MOV B,R1 ;B=5AH MOV @R1,P1 ;(5AH)=7FH MOV A,P1 ;A=7FH MOV 40H,#20H ;(40H)=20H MOV 30H,40H ;(30H)=20H 解:每一条指令执行后的结果如注释字段所标。最后结果为:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。 四、程序阅读与分析题 1、试阅读下面的程序,指出该程序结束后累加器ACC和寄存器TH0的值,并说明该程序完成了怎样的功能。 ORG 0000H MOV SP,#60H MOV A,#10H MOV TH0,#20H PUSH ACC PUSH TH0 POP ACC POP TH0 END 答:利用堆栈交换了ACC和TH0的内容,(A)=20H,(TH0)=10H 2、程序段如下,试说明其功能。 MOV R0,#50H MOV R1,#60H MOV A,@R0 ADD A,@R1 MOV @R0,A INC R0 INC R1 MOV A,@R0 ADDC A,@R1 MOV @R0,A MOV 00H,C 答:双字节无符号数加法。被加数存放在内部RAM的51H、50H单元,加数存放在内部RAM的61H、60H单元,相加的结果存放在内部RAM的51H、50H单元,进位存放在位寻址区的00H位中。 五、综合应用题 3、设80C51单片机晶振频率为6MHz,定时器T0工作于方式1。要求80C51以中断方式工作并在P1.0引脚输出周期为500微秒的方波。试:计算初值、编写含有初始化功能的主程序和完成方波输出的中断服务程序。 答:机器周期为2微秒。定时时间250微秒。需要计数N=125 初值为65536-125=65411=FF83H,所以(TH0)=FFH,(TL0)=83H 工作方式设置:0000 0001B,即(TMOD)=01H 主程序: 中断服务程序: (整体结构!) MOV TMOD,#01H MOV TH0,#0FFH MOV TH0,0FFH MOV TL0,#83H MOV TL0,#83H CPL P1.0 SETB EA RETI SETB ET0 SETB TR0 SJMP $   四、读程序(每小题4分,共20分)   1.执行下列程序段中第一条指令后,(1)(P1.7)=__0__ (P1.3)=__0___,(P1.2)=____0_____;执行第二条指令后,(2)(P1.5)=_____1____,(P1.4)=_____1____,(P1.3)=______1___.   ANL P1,#73H   ORL P1,#38H   2.下列程序段执行后,(A)=__0DH_______,(B)=_____11H____.   MOV A,#0FBH   MOV B,#12H   DIV AB   3.下列程序段执行后,(R0)=____7EH_____,(7EH)=__FFH_______,(7FH)=____3FH_____.   MOV R0,#7FH   MOV 7EH,#0   MOV 7FH,#40H   DEC

文档评论(0)

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

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

1亿VIP精品文档

相关文档