- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 单片机汇编语言程序设计 3.1 概述 MCS-51单片机的编程语言可以是汇编语言也可以是高级语言(如C语言)。 高级语言编程快捷,但程序长,占用存储空间大,执行慢; 汇编语言产生的目标程序简短,占用存储空间小,执行快,能充分发挥计算机的硬件功能。 无论是高级语言还是汇编语言,源程序都要转换成目标程序(机器语言)单片机才能执行。? 支持写入单片机或仿真调试的目标程序有两种文件格式:BIN文件和 HEX文件 ·BIN文件是由编译器生成的二进制文件,是程序对应的机器码. ·HEX文件是由INTEL公司定义的一种格式。HEX文件需通过符号转换程序OHS51进行转换 目前很多公司将编辑器、汇编器、编译器、连接/定位器、符号转换程序做成集成软件包,用户进入该集成环境,编辑好程序后,只需点击相应菜单就可以完成上述的各步,如WAVE、KEIL。 基本概念: 汇编的主要任务: 1)确定程序中每条汇编语言指令的机器码 2)确定每条指令在存储器中的存放地址 3. 宏指令 二.常用伪指令及功能: 1.起始指令 ORG nn 功能:定义程序或数据块的起始地址。指示此语句后面的程序或数据块以nn为起始地址,连续存放在程序存储器中。 3. 字定义 标号:DW (字常数或表达式) 作用: 指示在程序存储器中以标号为 起始地址的单元里存放的数为字数据 (即16位的二进制数),例如: GH :DW 1234H,5678H,08 5. 等值指令 标号 EQU(数值表达式) 定义常量,一般用于为标号或标识符赋值。例如: X1 EQU 2000H X2 EQU 0FH … MAIN: MOV DPTR,#X1 ; DPTR=2000H ADD A,#X2 ; A=A+0FH 6. 位定义 标号 BIT [位地址] 作用: 同EQU指令,不过定义的是位操作地址。 例如 AIC BIT P1.1。 3-2 汇编语言程序设计步骤 一.确定方案和计算方法 二.了解应用系统的硬件配置、性能指标 三.建立系统数学模型,确定控制算法和操作步骤 四.合理分配存储器单元和了解I/O接口地址 3-3 顺序程序设计 顺序程序(简单程序),程序只有一条路径。 如前面介绍的查表法求平方值等 例3-3 分解压缩式BCD码,使其成为非压缩式BCD码。 ORG 0100H MOV R0,#40H ;设指针 MOV A,@R0 ;取一个字节 MOV R2,A ;暂存 ANL A,#0FH ;高半字节清0 INC R0 MOV @R0,A ;保存数据个位 1. 利用转移地址表实现转移 例3-7 根据R3的内容转向对应的程序,R3的内容为0~n (n128),处理程序的入口地址(符号地址)分别为PR0~PRn 。 分析:将PR0—PRn入口地址(16位)存在表格中,每一项占两个字节,PRi在表中的偏移量为2i,因此将R3的内容乘2即得PRi在表中的偏移地址,从偏移地址2i和2i+1两个单元分别取出PRi的高八位地址和低八位地址送DPTR寄存器,用JMP @A+DPTR指令(A先清零)即转移到PRi入口地址执行。 ORG 0000H MOV A,R3 ;R3→A ADD A,ACC ;A*2 MOV DPTR,#TAB PUSH ACC MOVC A,@A+DPTR ;取地址表中高字节 MOV B,A ;暂存于B INC DPTR POP ACC MOVC A,@A+DPTR ;取地址表中低字节 MOV DPL,A MOV DPH,B ;DPTR=0220H CLR A ;A=0 JMP @A+DPTR ;转移 TAB:DW PR0,PR1,PR2,…..,PRn ;转移地址表 END 例 3-9 设计一个延时10ms的延时子程序,已知单片机使用的晶振为6MHz。 ORG 0020H MOV R0,#0AH ;外循环10次
您可能关注的文档
最近下载
- 莫同-云计算技术及应用-思考题答案-北大软微-2018秋季整理.pdf VIP
- 函数的单调性、奇偶性、周期性与对称性(10题型+高分技法+限时提升练)解析版-2025年高考数学复习专练(新高考通用).pdf VIP
- 2025 年秋新统编版道德与法治八年级上册全册教案.pdf
- 致杜拉维特洁具商务标1 bid letter.pdf VIP
- ZCC11800技术规格书-工程参考.pdf VIP
- 小学生心理健康(课件)六年级主题班会通用版.pptx VIP
- 仓储管理技能与库存物料控制.pptx VIP
- 《车载网络技术》课件.pptx VIP
- 2023版42001-2023人工智能管理体系中文版 .pdf VIP
- 人防区域给排水、通风、消防、电气、防化等管线施工预埋方案.doc VIP
原创力文档


文档评论(0)