单片机第4章.ppt

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

第4章 汇编语言程序设计 第4章汇编语言程序设计 4.1 汇编语言的构成 例:P156 ORG 0001H MDA DATA 20H MDB DATA 21H MDC DATA 22H MOV A,MDA ACALL SQR MOV R1,A MOV A,MDB ACALL SQR ADD A,R1 MOV MDC ,A SJMP $ SQR: ADD A,#01H MOVC A,@A+PC RET SQRTAB:DB 0,1,4,9,16 DB 25,36,49,64,81 END 例:在HEX单元中存有两个十六进制数,试通过编程分别把它们转换成ASCII码存入ASC和ASC+1单元。 ORG 1200H PUSH HEX ACALL HASC POP ASC MOV A,HEX SWAP A PUSH ACC ACALL HASC POP ASC+1 SJMP $ HASC: DEC SP DEC SP POP ACC ANL A,#0FH ADD A,#07H MOVC A,@A+PC PUSH ACC INC SP INC SP RET ASCTAB: DB ‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’ DB ‘8’,‘9’,‘A’,‘B’,‘C’,‘D’,‘E’,‘F’ END NEXT: INC DPTR DJNZ R2 , LOOP SJMP $ END SJMP NEXT NEXT1: INC GRADA ;小于95大于等于90,GRADB+1 ;大于95 GRADA+1 INC GRADB ;循环是否结束 ;修改指针 景凛袄笨做暇赴缅稗兆殷扩壳腑炕圾宾洲绰叉裁刮残椭计框撂游温嘿傣这单片机第4章单片机第4章 4.4 循环和查表程序设计 一、循环程序设计 循环程序的构成: 4、循环结束:存放循环所得的结果及恢复各单元的初值 程序中含有可重复执行的程序段,反复使用。 1、循环初始化:完成准备条件;循环次数的设定 2、循环处理:循环程序的工作程序。 3、循环控制:在循环体内,条件转移指令,判断循环是否结束。 噎水贤啪硼忌荧芥叭酵抨钞辊扁矫浦嚣城战媒茬陨载痘杂战懦咯庇贼里装单片机第4章单片机第4章 例: 设有10组三字节被加数和加数,分别放在BLOCK1和BLOCK2为始址的两个数据块中,请编程求10组数的和(设和仍然为三字节),并把和放回从BLOCK1位起始地址的数据块中。 ORG 0500H BLOCK1 DATA 20H BLOCK2 DATA 40H MOV R0 ,#BLOCK1 MOV R1, #BLOCK2 MOV R2 ,0AH LOOP:MOV R3,#03H ;被加数块始址送R0 ;加数块始址送R1 ;加法组数送R2 ;加数字节数送R3 署航革蛇遣男慎斌兽玄由淖拔隅程莎琳写股疚五环帜茵寄仗殆蟹解讳阵骗单片机第4章单片机第4章 CLR C LOOP1 :MOV A , @R0 ADDC A ,@R1 MOV @R0 , A INC R0 INC R1 DJNZ R3 ,LOOP1 DJNZ R2 ,LOOP ;存和数字节 ;修改倍加数指针 ;修改加数指针 ;若一组未完,则转LOOP1 SJMP $ END ;清零 ;被加数送A ;加一个字节 ;若十组未完,则转LOOP 泼钵愁啥豢赴豆奢嗓龄陌蔽巫矣遁捧动俗缄挝豌蛾蛙敞曹橱榴扰钾佳知齿单片机第4章单片机第4章 例2: 设单片机89C51内部RAM开始地址为30H的数据块中有64个无符号数,试编一个程序能使它们按从小到大排序。冒泡法,也称两两比较法。 e1 e2 e3 e4 e5 e6 70 30 40 0 62 256 70 30 40 0 256 62 70 30 40 256 0 62 70 30

文档评论(0)

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

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

1亿VIP精品文档

相关文档