51单片机程序练习题.pptVIP

  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文档。上传文档
查看更多
* * 1 .改正下列指令 MOV @R3,A MOV DPTR,A INC @R3 DEC DPTR ADDC #30H,A 2 改正下列指令 MOV R1,R2 MOV A,#1012H MOVC DPTR,A MOVX 40H,#30H ADD 20H,#10H 3.已知(59H)=50H,以下程序段执行后(A)=??????? ,(50H)= ????????, (51H)= ????????,(R0)=??????? 。 MOV?? A,59H MOV?? R0,A MOV?? A,#00 MOV?? @R0,A MOV?? A,#25H MOV?? 51H,A MOV?? 52H,#70H 4.以下程序段执行后(A)=???????? ,(30H)= ????????。 MOV????? 30H,#0A4H MOV????? A,#0D0H MOV????? R0,#30H MOV????? R2,#5EH ANL?????? A,R2 ORL?????? A,@R0 SWAP???? A CPL??????? A XRL?????? A,#0FEH ORL?????? 30H,A 5.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY.AC.和OV的值。 ? (1)MOV? A,@R0 ? (2)ANL? 40H,#0FH ? (3)ADD? A,R4 ? (4)SWAP? A ? (5)DEC? @R1 ? (6)XCHD?? A,@R1 6 .设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H, (26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何? CLR C MOV R2,#2 LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP JNC NEXT1 MOV @R0,#01H SJMP $ NEXT: DEC R0 SJMP $ (20H)=( ).(21H)= .(22H)= .(23H)= . CY= A= .R0= .R1= 。 二、循环程序设计举例 例1、延时程序设计 DELAY: MOV R7,#200 ;1个机器周期 DE1: MOV R6,#123 ;1 NOP ;1 DE2: DJNZ R6,DE2 ;2 DJNZ R7,DE1 ;2 RET ;2 如晶体振荡器频率为12MHz,则其延时时间为: 1+(1+1+2*123+2)*200+2=50.003ms 这是一个50ms的精确延时程序。 在RAM中,从50H开始连续存放N个单字节无符号数,N存放的R2中,试编程求这N个数的和,结果放在R4R3中。程序清单如下: NSUM: MOV R0,#50H LOOP: MOV A,R3 ADD A,@R0 MOV R3,A CLR A ADDC A,R4 MOV R4,A INC R0 DJNZ R2,LOOP RET 例2、数据求和 8.方波产生程序 用定时器T1产生一个50Hz的方波,由P1.1输出。Fosc=12Hz。 方波周期T=1/(50Hz)=0.02s=20ms 用T1定时10ms, 初值x=2^16-12×10×1000/12=D8F0H MOV TMOD,#10H SETB TR1 LOOP:MOV TH1,#0D8H MOV TL0,#0F0H JNB TF1,$ CLR TF1 CPL P1.1 SJMP LOOP 定时程序

文档评论(0)

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

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

1亿VIP精品文档

相关文档