51汇编笔记.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文档。上传文档
查看更多
51汇编笔记

51汇编笔记?? 2012-01-15 21:20:16|??分类:? HYPERLINK /blog/ \l m=0t=1c=fks_084071084084084070086085085095085082087067084081094075 \o 嵌入式 嵌入式|字号?订阅 ORG是Origin的缩写:起始地址,源。在汇编语言源程序的开始通常都用一条 ORG伪指令来实现规定程序的起始地址。如果不用ORG规定则汇编得到的 目标程序将从0000H开始。   例如:   ORG 2000H ? (1) 分号“;” 分隔符 这条指令到此为止 相当于C的注释符,后面可以添加注 释 (2) 程序中的标点符号,必须是在英文状态下输入,半角 (3) 标号(标号可指定除系统占用外的标号) ?? ? ?MAIN : ?待执行程序; ?? ? ? ? ? ? ? ? ? LJMP MAIN; 执行完过后跳转回标号处 (4) 程序调用: LCALL ?? ? ?LCALL DELAY;调用DELAY标号下的程序 (5) 返回指令: ?RET? ?? ? ?执行程序时遇到RET指令,返回然后执行之后的指令,如同C语言的 return? (6)子程序 ?? ? 延时程序 ?? ? DELAY: 程序代码; ?? ? ? ? ? ? ? ? ? ?RET; 返回 ?? ? ? ? ? ? ? ? ? ?END;结束子程序 (7)减一跳转指令:DJNZ (Decrese one if not zero jump to REL) ?? ? 格式: DJNZ Rn,rel; 双字节指令 ?Rn ?=255 ? ?或者 -127Rn128 ?? ? ? ? ? ? ? ? ?DJNZ direct,rel;单字节指令 ?? ? 说明:DJNZ RN,REL 是一条件转移指令,先将工作寄存器Rn中的数减“1” ,判断结果是否为“0”,不为“0”程序就跳转到行标为REL的地方执行,否则 ,为“0”就不转移,继续执行下一条指令。 ?? ?例子:延时程序 ? 延时 250*250 = 62500 个指令周期 ?? DELAY: MOV R7,#250 ?; ?工作寄存器 R7 =250 ? ? ? ?? ? ? ? ?D1:MOV R6,#250; ? 工作寄存器 R6 =250 ? ? ? ?? ? ? ? ?D2:DJNZ ?R6,D2 ?; ? while(R6) ? R6-- ?? ? ? ? ? ? ? ?DJNZ R7,D1 ? ? ; ? IF(R7-- 0) ?LJMP:D1 ?? ? ? ? ? ? ? ?RET ? ? ? ? ? ? ? ? ? ? ?; ? ?结束程序 ?? ? ? ? ? ? ? ?END ? ? ? ? ? ? ? ? ? ? ?; ? ?结束标志 (8)机器周期:计算机每访问一次存储器的时间 一个机器周期=12个震荡周期 ?? ? 震荡周期:震荡源的周期,即晶振等时间源周期,若使用12M晶振那么其? ?? ? ? ? ? ? ? ?震荡周期= 1/ 即1/12微秒 那么一个机器周期即1微秒 ?? ?指令周期: 执行一次指令所需要的机器周期,不同的指令需要的机器周期 是不一样的,我们一般需要知道与时间有关的指令的周期,如DJNZ为双周 期指令,即如果用12M晶振,执行一次DJNZ需要的时间为2微秒。 (9)外部时钟电路:当系统使用多片单片机时,为了保证每片单片机的时钟频 率是一样的,各个单片机需要在外部接入同一个时钟信号源。 (10)单片机的存储器ROW和RAM ?? ? ?ROM:READ ONLY MEMROY 只读存储器,用来存储单片机的控制程序? 和不可更改数据。 ?? ? ?RAM;READ ACCESS MEMROY随机读写存储器,一般用作单片机的功能 寄存器和工作寄存器 (11)直接寻址:MOV R6,#22; ?直接使用数所在的地址传送,R6是定义的一 ? ?? ? ? ? ? ? ? ? ? ? ? 个绝对地址。 ?? ? ? ?寄存器寻址:MOV 30H,#22; ?? ? ? ? ? ? ? ? ? ? ? ? ? ?MOV ?R6,30H; ?先把数存储在一个中间变量,然后再传送 ?? ? ? ?以累加器为目的操作数的指令 ?? ? ? ? (1)MOV A,Rn ? ?将寄存器Rn中的值传入A ?? ? ? ? (2)MOV Rn,A ? ?将累加器中的值传入寄存器Rn ?? ? ? ? (3)MOV A,direct 将直接地址中的值传入累加器A ?? ? ? ? (4)MOV A,@Ri ? 将寄存器中的值作为地址把该地址中的内容传入A ?? ? ? ? (5)MOV A,

文档评论(0)

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

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

1亿VIP精品文档

相关文档