第4章 单片机程序设计和调试.pptVIP

  1. 1、本文档共141页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.1 源程序的设计与汇编;二进制形式的机器指令称为机器语言,采用机器语言编写的程序能直接被计算机识别和执行。 由于机器语言不容易理解和记忆,所以人们通常用符号指令来编写源程序。 采用符号指令编写的程序必须通过编译软件(也叫汇编程序)或手工翻译(汇编)成机器指令的形式才能被计算机执行。前者称为机器汇编,后者称为手工汇编。;用符号指令的计算机语言称汇编语言。 符号指令也称为汇编语言指令; 采用汇编语言指令编写的程序叫做汇编语言源程序。 汇编的反过程称为反汇编。 ;图4-1 源程序的汇编与反汇编;4.1.1 伪指令;指令格式:ORG 表达式 指令功能:用于向汇编程序说明下面紧接的程序段或数据段从表达式指定的起始地址开始存放。表达式通常为十六位地址或自定义的标号地址。 通常每一个汇编语言源程序的开始,都要设置一条ORG伪指令来指定该程序在ROM中存放的起始位置。可以在源程序中使用多条ORG伪指令来规定不同程序段或数据段存放的起始地址,但要求地址值由小到大顺序排列,不允许空间重叠。;1 ORG 0000H 2 LJMP MAIN ; 转主程序 3 ORG 0003H 4 LJMP BREAK0 ; 转 中断 5 ORG 000BH 6 LJMP CLOCK ; 转定时器T0中断 7 ORG 0013H 8 LJMP BREAKl ; 转 中断 ; ②主程序: 9 ORG 0050H 10 MAIN:MOV A, #03H ; 8155初始化 …… ; ⑨控制字码表: 137 ORG 1010H 138 DB 0FEH, 06H, 20H, 00H, 0FFH, 06H, 20H, 15H ……;解:;指令格式:END 指令功能:结束汇编。放置于汇编源程序的末尾,当汇编程序遇到END伪指令时,即结束汇编。处于END之后的程序,汇编程序不会进行处理。;指令格式:符号名 EQU 表达式 指令功能:将表达式的值赋给指定的符号名。表达式通常是8位或16位的地址、数据或汇编符,如果是位地址,则必须采用位的物理地址。 符号的命名与标号的命名规定相同:可以由1~8个ASCII字符组成。首字符必须是字母,其余字符可以是字母、数字或其他特定字符,不能使用汇编语言已经定义了的符号,如指令助记符、寄存器符号名称等。 “符号名”必须先赋值后使用,一旦被赋值,就可以在源程序的任意地方使用,汇编时,汇编程序自动用表达式的值进行代真。 使用EQU伪指令有两个优点:一是当源程序中有多处引用“符号名”的地方要修改时,只要修改“符号名”赋值的指令即可;二是当“符号名”具有见字明义的名称时,可增加程序的可读性。; ORG 0100H ; 起始汇编 LEN EQU 10 ; LEN?=“10” SUM EQU 20H ; SUM?=“20H” BLOCK EQU 30H ; BLOCK?=“30H” START: CLR A ; A清0 MOV R2, #LEN ; 计数初值送R2 MOV R0, #BLOCK ; 指针初值送R0 LOOP: ADD A, @R0 ; 累加 INC R0 ; 指针加1 DJNZ R2, LOOP ; 未完继续 MOV SUM, A ; 保存结果 HERE: SJMP $ ; 动态停机 END ; 结束汇编;指令格式:符号名 BIT 位地址 指令功能:用于将位地址赋给指定的符号名。其中,位地址可用位名、物理位地址、“字节地址.位序号”、“寄存器名.位序号”等形式表示。 例如:MARK BIT F0 其中的位地址是PSW中的用户标志位F0,它也可以用0D5H、0D0H.5、PSW.5等形式表示。;指令格式:[标号:] DB 单字节数据表 指令功能:用于从标号(即汇编程序为该指令分配的首地址)对应的地址单元开始,将“单字节数据表”中的数据按从左到右的顺序依次存入ROM中,一个数据占一个存储单元。单字节数据表可以是一个或多个单字节数据、字符串或表达式(其值为单字节),表项之间用逗号分隔。项数多于一行时,可使用多条DB伪指令。;? 十六进制数:加上后缀H表示,以字母A~F开头时,在它的前面加一个前导“0”。

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档