单片机答案.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:设计拆字程序 ;拆字程序 ORG 0000H AJMP START ORG 0030H START: MOV SP,#60H MOV R0,#38H LCALL CZSUB AJMP $ ;拆字子程序 ;入口:r0--要拆的字 ;出口:r1\r0---拆开字的高位和低位 ORG 0100H CZSUB: PUSH ACC PUSH PSW MOV A,R0 ANL A,#0F0H SWAP A MOV R1,A MOV A,R0 ANL A,#0FH MOV R0,A POP PSW POP ACC RET END 例:内部RAM 30H开头的20个 连续单元中,存放有20个数,统计 等于8的单元个数,结果放在R2中。 分析:取一个数与8比较,相等R2 加1,不相等跳过。并作20次重复 即可。 流程如右图,程序如下: ORG 1000H START: MOV R0, #30H MOV R7, #20 MOV R2, #0 LOOP:CJNE @R0,#08H,NEXT INC R2 NEXT: INC R0 DJNZ R7,LOOP SJMP $ * ? 3.三重循环延时 DELAY: MOV R7, #10 DL2: MOV R6, #200 DL1: MOV R5, #250 DJNZ R5, $ DJNZ R6, DL1 DJNZ R7, DL2 △t=((2us×250+2+1) ×200)+2+1) ×10+1 = 1006031us ≈ 1 秒 * 例:将20h-50h单元写入与地址相同的数据 ORG 0000H AJMP START ORG 0030H START: MOV SP,#60H MOV R0,#20H LP: MOV A,R0 MOV @R0,A INC R0 CJNE R0,#51H,LP AJMP $ END * 例4:将内部数据RAM中20H~3FH单元的内容传送到外部数据存储器,起始单元地址为2000H。 * 例5: 将内部RAM中从DATA单元开始的 10 个无符号数相加, 相加结果送SUM 单元保存。 * 6. * 例7:按下图线路设计跑马灯程序,要求8只LED发光二极管每次亮一个,点亮时间1s,顺次逐个地循环左移点亮,循环不止。编一控制程序实现单一发光点的顺转和逆转,点亮间隔时间都为1秒,重复循环。 * ORG 0000H AJMP START ORG 0030H START: MOV SP,#60H LP: CPL P1.0 LCALL DL1S AJMP LP ORG 0100 DL1S: MOV R6,#1 DL1: MOV R7,#250 DL0: DJNZ R7,DL0 DJNZ R6,DL1 RET END * 例8:要求每次按动按键,使外接发光二极管LED改变一次亮灭状态 解:INT0输入按键信号,P1.0输出改变LED状态。 1.跳变触发:每次跳变引起一次中断请求。 单片机 INT0 P1.0 1 +5V 利用中断显示系统故障源 ORG 0000H;复位入口 AJMP MAIN ORG 0003H ;中断入口 AJMP PINT0 ORG 0100H ;主程序 MAIN:MOV SP,#40H ;设栈底 SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 SETB IT0 ;负跳变触发中断 HERE:SJMP HERE ;执行其它任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED RETI ;返回主程序 * 例9: 通过外部中断控制八盏灯循环点亮。 通过外部中断1,在中断服务中将B寄存器里的内容左环移一位。 已知: (B)=01h,要求采用边沿触发,低优先级。 此例的实际意义:在INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,中断服务则是:依次点亮八盏灯中的一盏。 P1.0 P1.7 INT1 300?

文档评论(0)

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

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

1亿VIP精品文档

相关文档