网站大量收购独家精品文档,联系QQ:2885784924

[理学]指令.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]指令

汇编指令 用最原始的方法循环点亮 ORG 0000H LOOP: MOV P1,#0FEH LCALL DELAY MOV P1,#0FDH LCALL DELAY MOV P1,#0FBH LCALL DELAY MOV P1,#0F7H LCALL DELAY MOV P1,#0EFH LCALL DELAY MOV P1,#0DFH LCALL DELAY MOV P1,#0BFH LCALL DELYA MOV P1,#07FH LCLALL DELAY LJMP LOOP Delay: mov r6, #0 mov r7, #0 DelayLooP: djnz r7, DelayLoop djnz r6, DelayLoop ret end 用 循 环 指 令 实 现 ORG 0000H LJMP START ORG 0030H START:mov a, #0FEh mov r5, #8 Output: mov P1, a RL a call Delay djnz r5, Output Ljmp START Delay: mov r6, #0 mov r7, #0 DelayLooP:djnz r7, DelayLoop djnz r6, DelayLoop ret end C语言 #include stdio.h #include reg51.h #define uchar unsigned char #define uint unsigned int uchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(uint time) //延时程序 { unsigned int j=0; for(;time0;time--) { for(j=0;j125;j++) {;} } } void main() //主程序 { while(1) { uchar i=0; while(i8) { P0=table[i]; i++; delay(200); } } } 传送指令 项目实施-电路设计 项目实施—编写程序 ——循环移位指令 RL A RR A RLC A RRC A 项目实施 要求:8个发光二极管实现流水灯显示效果,使用循环移位指令;用单步运行观察每一次移位的结果 程序: ORG 0000H L: MOV A,#0FEH MOV P1,A ACALL DELAY RL A MOV P1,A ACALL DELAY …… …… SJMP L 跳转指令 项目分析 要求:设内部RAM的30H单元和31H单元各自存放着一个无符号数,比较它们是否相等,如果相等,则P1.0连接的灯点亮,否则P1.1连接的灯点亮。 分析:核心是比较两个数是否相等,进而执行不同的功能 结论:前面的程序是逐条顺序执行的,但在实际使用中,很多程序需要判断分支,这些分支都是靠各种控制转移指令来实现的。 项目实施 要求:若30H单元和31H单元中的数相等,则P1.0连接的灯点亮,否则P1.1连接的灯点亮。 电路:与前面项目相同,P1口通过发相器连接8个发光二极管, 程序思路:如果两个数相等,那么相减之后差必为0,否则差不为0,因此采用累加器是否为0的条件来判断 程序: ORG 0000H START: MOV A,30H CLR C SUBB A,31H JZ NEXT MOV P1,#0FDH SJMP EXIT NEXT: MOV P1,#0FEH EXIT: SJMP $ END CJNE MOV

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档