欢迎来到天天文库
浏览记录
ID:50337812
大小:666.00 KB
页数:51页
时间:2020-03-08
《单片机原理及控制技术 教学课件 作者 王君 第3章MCS51系列单片机的指令系统及汇编语言程序设计续.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言是一种面向CPU指令系统的程序设计语言,它采用指令系统的助记符来表示操作码和操作数,用符号地址来表示操作数的地址,因而很容易为人们识别、记忆和读/写,给编程带来很大方便。用汇编语言编写的程序可以直接利用硬件系统的特性,直接对位、字节、字、寄存器、存储单元和I/O等进行处理,同时也能直接使用CPU指令系统和指令系统提供的各种寻址方式编写出高质量的程序,这种程序不但占用内存空间小,而且执行速度快。所以很多计算机高级技术人员大量使用汇编语言来编写计算机系统程序,实时通信程序和实时控制程序等。3.4汇编语言程序设计3.4.1汇编语言伪指令伪指令又称汇编程序控制译码指令,属说明性汇编指令。“
2、伪”字体现在汇编时不产生机器指令代码,不影响程序的执行,仅产生供汇编时用的某些命令,在汇编时执行某些特殊操作。MCS-51单片机汇编语言程序设计中,常用的伪指令(七条):ORG—定位伪指令END—结束汇编伪指令EQU—赋值伪指令DB—定义字节指令DW—定义数据字指令DS—定义存储区指令DATA—地址赋值伪指令BIT—位定义指令1、起始地址伪指令ORGORGaddr16用于规定目标程序段或数据块的起始地址,设置在程序开始处。例:org0000hljmpmainorg0100hmain:…….2、汇编结束伪指令END告诉汇编程序,对源程序的汇编到此结束。一个程序中只出现一次,在程序的最末尾。例
3、:……end3、赋值伪指令EQU告诉汇编程序,将汇编语句操作数的值赋予本语句的标号。格式:标号名称EQU数值或汇编符号“标号名称”在源程序中可以作数值使用,也可以作数据地址、位地址使用。例:led_lampequp1.0counterequ100display_addrequ2000h………….movr0,#countermovdptr,#display_addrmovc,led_lamp程序最末尾指令ljmpmain存放于0000H开始的单元4.定义字节数据伪指令DB格式:[标号:]DB字节数据表功能:字节数据表可以是多个字节数据、字符串或表达式。例如:ORG1000HTAB:DB2BH
4、,0A0H,‘A’,2*4;表示从1000H单元开始的地方存放数据2BH,0A0H,41H,08H5.定义字数据伪指令DW格式:[标号:]DW字数据表功能:DW定义的数据项为字,包括两个字节。例如:ORG1000HDATA:DW324AH,3CH;表示从1000H单元开始的地方存放数据32H,4AH,00H;3CH6.定义空间伪指令DS格式:[标号:]DS表达式功能:从指定的地址开始,保留多个存储单元。如:ORG1000HBUF:DS50;TAB:DB22H;22H存放在1032H单元.表示从1000H开始的地方预留50个(1000H~1031H)存储字节空间.7.地址赋值伪指令DATA格
5、式:符号名DATA表达式功能:将表达式的值或某个特定汇编符号定义为一个指定的符号名,可以先使用后定义,并且用于双字节数据定义.例如:DELADATA0356HLCALLDELA;执行指令后,程序转到0356H单元执行8.位定义伪指令BIT格式:字符名称BIT位地址功能:将位地址赋给指定的字符名称。其中,位地址表达式可以是绝对地址,也可以是符号地址。例如:EX1BITPl.0EX2BIT02H汇编以后,位地址P1.0、02H分别赋给变量EX1和EX2。其后的编程中EX1和EX2可作位地址使用。分析问题。根据给出的问题,熟悉和明确问题的要求,明确已知条件及对运算和控制的要求,建立数学模型。确定
6、解题算法。根据实际问题的要求和指令系统的特点,选择解决问题的方法。算法是程序设计的依据,它决定了程序的正确性和程序的质量。画出程序流程图。程序流程图就是用各种规定的图形、流程线和简洁的文字表达解题步骤的一种图形。它直观、清晰地体现了程序设计思路,是程序的逻辑设计过程。资源分配。算法确定后,要为每一个变量、各种指针、计数器等分配工作单元,定义数据类型和数据结构。根据程序流程图及资源分配情况,写出汇编语言源程序。上机调试。一、单片机汇编语言程序设计的基本步骤如下:3.4.2结构化程序设计汇编语言源程序的一般结构:在程序设计中将会遇到各种类型的程序,但不论程序如何复杂,都可以分为如下基本结构:顺
7、序程序:顺序程序是最简单、最基本的程序结构,其特点是按指令的排列顺序一条条地执行,直到全部指令执行完毕为止。分支程序:分支程序是通过转移指令对相应条件的判断实现改变程序的执行方向的设计方法。循环程序:在程序中需要反复的执行的程序段,为了避免在程序中多次的编写,可以通过利用条件转移或无条件转移指令来控制程序的执行。子程序结构:二、单片机汇编语言程序主要的几种程序设计方法:【例】将30H单元内的两位BCD码拆开并转换成ASC
此文档下载收益归作者所有