单片机51第四章.ppt

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

4.1 80C51汇编语言程序设计基础 4.1 80C51汇编语言程序设计基础 程序结构 模块设计 开发方法 自底向上开发:首先对最底层模块进行编码,测试和调试。这些模块正常工作后,就可以用它们来开发较高层的模块。 自顶向下开发:首先对最高层进行编码和调试。 4.1.2 80C51汇编语言的伪指令 1. 汇编起始地址伪指令 汇编起始地址伪指令的一般格式如下: ORG表达式 例: ORG 3000H START:MOV A,#7AH 解:这段程序汇编后目标代码在存储器中存放的起始地址是3000H。 4.1.2 80C51汇编语言的伪指令 2. 汇编结束伪指令 汇编结束伪指令一般格式如下: 格式1:〈字符名称〉END〈表达式〉 格式2:〈字符名称〉END或者END 该指令是汇编语言源程序的结束标志,在END以后所写的指令,汇编程序都不予处理。因此,在一个源程序中只允许出现一个END语句,它必须放在整个程序的最后。 4.1.2 80C51汇编语言的伪指令 3. 赋值伪指令 赋值伪指令一般格式如下: 〈字符名称〉EQU〈表达式〉 该指令的功能是将“表达式”赋给“字符名称”。 例:LOOPEQU2007H;LOOP=2007H 解:用EQU指令给一个字符名称赋值之后,在整个程序中该字符名称的值都是固定的,不能更改。若需更改,需用伪指令DL重新定义赋值。 4.1.2 80C51汇编语言的伪指令 4. 数据地址定义指令 数据地址定义指令一般格式如下: 〈字符名称〉DATA〈表达式〉 DATA伪指令的功能与EQU有些相似,使用时要注意它们有以下区别: ①EQU伪指令必须先定义后使用,而DATA伪指令可以后定义先使用; ②用EQU伪指令可以把一个汇编符号赋给一个字符名称,而DATA只能把数据赋给字符名称; ③DATA伪指令可将一个表达式的值赋给一个字符名称,所定义的字符名称也可以出现在表达式中,而EQU定义的字符则不能这样使用。DATA伪指令在程序中常用来定义数据地址。 4.1.2 80C51汇编语言的伪指令 5.定义标号值伪指令 定义标号值伪指令一般格式如下: 〈字符名称〉DL〈表达式〉 例:COUNT DL4064H ;定义标号COUNT的值为4064H COUNT DL COUNT+3 ;重新定义COUNT的值为4064H+3 解:DL和 EQU的功能都是将表达式值赋予标号,但两者有差别:可用DL语句在同一源程序中给同一标号赋予不同的值,即可更改已定义的标号值;而用EQU语句定义的标号,在整个源程序中不能更改。 4.1.2 80C51汇编语言的伪指令 6.定义字节伪指令 定义字节伪指令一般格式如下: 〈字符名称〉 DB 〈表达式或表达式列表〉 定义字节伪指令是在程序存储器的某一部分存入一组8位二进制数,或者将一个数据表格存入程序存储器中。这个伪指令在汇编以后,将影响程序存储器的内容。 例:ORG4000H TABLE DB45H,67,100,32,00,-2 4.1.2 80C51汇编语言的伪指令 7. 定义字伪指令 定义字伪指令一般格式如下: 〈字符名称〉 DW 〈表达式或表达式表〉 DW是从指定的地址开始定义若干16位数据,且把字的高字节数存入低地址单元,低字节数存入高地址单元,按顺序连续存放。 例:DW 7064H,1234H,209H 说明:表示按顺序存入70H,64H,12H,34H,02H,09H。 4.1.2 80C51汇编语言的伪指令 8. 定义存储区伪指令 定义存储区伪指令一般格式如下: 〈字符名称〉 DS 〈表达式〉 定义存储区伪指令是从指定的地址开始,保留若干字节的内存空间以作备用。汇编时,对这些单元不赋值。 例:ORG 4000H DS 9H DB 86H,A7H 4.1.2 80C51汇编语言的伪指令 9. 位地址符号伪指令 位地址符号伪指令一般格式如下: 〈字符名称〉 BIT 〈位地址〉 位地址符号伪指令是对位地址赋予所规定的字符名称。 说明:其中,位地址可以是绝对地址,也可以是符号地址。 例:A1 BIT P2.1 A2 BIT P3.0 例:8051单片机常用伪指令的应用举例。 ORG 6070H BUFFER DS 45H DW “E F” DW 1100H,209H,-814 解:① 汇编后程序将6070H至60B4H空间作为缓冲区空间; ② (60B5H)= ‘E’,(60B6H)= ‘F’;

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档