第3章程序设计(本科).ppt
《第3章程序设计(本科).ppt》由会员分享,可在线阅读,更多相关《第3章程序设计(本科).ppt(49页珍藏版)》请在第壹文秘上搜索。
1、单片机微型计算机与单片机微型计算机与接口技术接口技术连接连接/定位器定位器L51汇编语言汇编语言源程序源程序汇编器汇编器A51符号转换程序符号转换程序OHS51绝对地址绝对地址目标程序目标程序 .BINC语言程序语言程序浮浮动动地地址址目目标标程程序序编译器编译器C51 HEX图图 3-1 两种语言源程序转换成目标程序两种语言源程序转换成目标程序 汇编:将汇编语言汇编:将汇编语言源程序源程序转换成机器语言转换成机器语言目标目标程序的程序的过程称为汇编。过程称为汇编。( (翻译)翻译) 汇编程序:能将汇编语言汇编程序:能将汇编语言源程序源程序转换成机器语言转换成机器语言目标目标 程序的系统软件称
2、为汇编程序。程序的系统软件称为汇编程序。 (翻译官)翻译官) 汇编语言源程序:用户用汇编语言助记符编的应用程汇编语言源程序:用户用汇编语言助记符编的应用程 序。序。目标程序:计算机能识别的机器码程序目标程序:计算机能识别的机器码程序4保留字节保留字节 标号:标号:DS (数值表达式)(数值表达式)作用:作用: 指示在程序存储器中保留以标号为起始地指示在程序存储器中保留以标号为起始地址的若干字节单元,其单元个数由数值表达式指定。址的若干字节单元,其单元个数由数值表达式指定。例如例如 L1:DS 32 ; 从从L1地址开始保留地址开始保留32个存储单元。个存储单元。7. 汇编结束汇编结束 END作
3、用:作用: 指示源程序段结束。指示源程序段结束。 END 指令放在程序的最后。指令放在程序的最后。A51 汇编程序还有一些其它的伪指令,列在教材表汇编程序还有一些其它的伪指令,列在教材表 3-1中,以备查阅。中,以备查阅。000EH000FH000EH000FH000EH000FH000EH000FH分析分析: 外部数据存储器的数外部数据存储器的数据操作只能用据操作只能用MOVX指令,指令,且只能和且只能和A之间传送,因此之间传送,因此必须用一个中间环节作暂存,必须用一个中间环节作暂存,设用设用20H单元。用单元。用R0、R1指指示两单元的低八位地址,高示两单元的低八位地址,高八位地址由八位地
4、址由P2指示。编程过指示。编程过程如左图:程如左图: 000EH000FH000EH000FH000EH000FH例例3-3 分析分析 :变量变量X放在片内放在片内RAM的的20H单元单元,其值为其值为00H05H之间之间, 在片内在片内RAM的的21H单元,单元,在程序存储器安排一张平在程序存储器安排一张平方表,方表,通过查表通过查表这样比完成这样比完成 X*X 编程简便多了。编程简便多了。表表 ORG 0000H MOV DPTR,#TAB MOV A, 20H ;取;取X MOVC A,A+DPTR ; 查表查表 MOV 21H,A ; 存于存于Y SJMP $TAB: DB 00H,0
5、1H,04H,09H,16H,25H END 首地址为首地址为TAB,以,以DPTR指向表首址,利用查表指令指向表首址,利用查表指令MOVC A,A+DPTR,即可求得。,即可求得。表中数据用表中数据用BCD码存放合乎人们的习惯码存放合乎人们的习惯. 如果平方值为两个字节,程序应如何编。如果平方值为两个字节,程序应如何编。DPTRA片内片内RAM42H41H40H65MOV A,R2SWAP A ;十位换到低半字节;十位换到低半字节ANL A,#0FHINC R0MOV R0,A;保存数据十位;保存数据十位SJMP $条件满足条件满足?N影响条件影响条件Y处理段处理段条件满足条件满足?N影响条
6、件影响条件Y处理处理1处理处理2例例 3-6】 设变量设变量X以补码形式存放在片内以补码形式存放在片内RAM的的30H单元,单元, 函数函数Y与与X有如下关系式:有如下关系式: X X0Y= 20H X=0 X+5 X 00H(30H) +05H (30H)结束结束20H (30H)YNYNG3 + (G-5)2; 当当G5M=G3 ;当;当G5 3G因重复使用,先暂存在因重复使用,先暂存在R2。流程见左流程见左, 程序如下:程序如下: 多分支散转程序的设计多分支散转程序的设计 有一类分支程序有一类分支程序,它根据不同的输入条件或不同的它根据不同的输入条件或不同的运算结果运算结果,转向不同的处
7、理程序转向不同的处理程序,称之为散转程序。这类称之为散转程序。这类程序通常利用程序通常利用JMPA+DPTR间接转移指令实现转移。间接转移指令实现转移。有如下两种设计方法:有如下两种设计方法: 1. 查转移地址表查转移地址表: 将将转移地址转移地址列成表格,将表格的内容作转移的目标列成表格,将表格的内容作转移的目标地址。地址。 2. 查转移指令表查转移指令表: 将转移到不同程序的将转移到不同程序的转移指令转移指令列成表格,判断条列成表格,判断条件后查表,转到表中指令执行件后查表,转到表中指令执行,下面用两个例子说明。下面用两个例子说明。 TABTAB+2DPH DPL例如例如 R3=1的操作的
8、操作0220分析分析: 将键码排成表,将键码表中的值和将键码排成表,将键码表中的值和B中的键编码比中的键编码比对,记下在键码表中和对,记下在键码表中和B中的键编码相等的序号,另安排中的键编码相等的序号,另安排一个转移表一个转移表,安排安排AJMP指令指令(机器码机器码),因每条,因每条AJMP指令指令占二字节,将刚才记下的序号乘占二字节,将刚才记下的序号乘2即为转移表的偏移地址,即为转移表的偏移地址,利用利用JMP A+DPTR执行表内的执行表内的AJMP指令,从而实现多指令,从而实现多分支转移,分支转移,设转移表表头设转移表表头JPT的地址为的地址为001AH、PR0入口地址为入口地址为01
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章程 设计 本科
