单片机学习第四章优秀课件.ppt
《单片机学习第四章优秀课件.ppt》由会员分享,可在线阅读,更多相关《单片机学习第四章优秀课件.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机学习第四章第1页,本讲稿共17页汇编语言程序设计中的数汇编语言程序设计中的数计算机只能识别二进制数计算机只能识别二进制数机器指令机器指令,它原本是不认,它原本是不认识常用的十六进制数和十进制数的。识常用的十六进制数和十进制数的。机器指令机器指令/目标代码目标代码:由由0/10/1代码组成的操作码与操作数。代码组成的操作码与操作数。十六进制数十六进制数:便于读写记忆的二进制数的简写形式。:便于读写记忆的二进制数的简写形式。(0 09 9,A AF F 后缀:后缀:H/hH/h)BCDBCD码码:用二进制数表达的十进制数。:用二进制数表达的十进制数。(0 09 9表示为表示为:0000:00
2、001001B 1001B 后缀后缀:B/b,H/h:B/b,H/h)二进制数二进制数 :由:由0/10/1组成、组成、“逢逢2 2进进1 1”的数制。的数制。如:如:01011110B 01011110B (0 01 1 后缀:后缀:B/bB/b)2第2页,本讲稿共17页汇编语言编程基本规则汇编语言编程基本规则汇编语言汇编语言:用助记符描述的指令的集合用助记符描述的指令的集合。指令中以指令中以 A AF F 开头的十六进制数前必须添一个开头的十六进制数前必须添一个 “0 0”。二进制数必须带后缀二进制数必须带后缀“B B”或或“b b”;十六进制数必须带;十六进制数必须带后缀后缀“H H”或
3、或“h h”;十进制数的后缀是;十进制数的后缀是“D D”或或“d d”或无或无.标号标号:操作码操作码 目的操作数目的操作数,源操作数源操作数;注释注释 汇编程序汇编程序:汇编语言编写的程序借助汇编语言编写的程序借助编译工具编译工具编译成为目标代码编译成为目标代码,计算机才能识别。这个编译工具称为汇计算机才能识别。这个编译工具称为汇编程序。编程序。3第3页,本讲稿共17页汇编程序的伪指令汇编程序的伪指令汇编程序汇编程序 软件软件 工具工具工具软件工具软件:将程序员用汇编语言编写的程序翻译成机器码将程序员用汇编语言编写的程序翻译成机器码 (真真)指令指令:告诉计算机告诉计算机如何操作以及做何种
4、操作如何操作以及做何种操作用汇编语言编写的程序在此被称为用汇编语言编写的程序在此被称为应用程序应用程序伪指令伪指令:告诉汇编程序在翻译应用程序时:告诉汇编程序在翻译应用程序时有何具体约定有何具体约定。伪指令不进行具体的操作,那是真指令的事。伪指令不进行具体的操作,那是真指令的事。比如:从何处开始,何处结束,某些编程者自己规比如:从何处开始,何处结束,某些编程者自己规定的表述代表什么意思定的表述代表什么意思 4第4页,本讲稿共17页汇编程序的常用伪指令汇编程序的常用伪指令ORG addr16ORG addr16ASM51ASM51程序中一定要写!程序中一定要写!规定编译后的机器代码存放的起始位置
5、。规定编译后的机器代码存放的起始位置。ENDEND ASM51ASM51程序中一定要写!程序中一定要写!表示翻译到此结束,其后的任何内容不予理睬。表示翻译到此结束,其后的任何内容不予理睬。符号名称符号名称 EQU EQU 表达式表达式将表达式的值赋予符号名称。程序中凡出现该符号将表达式的值赋予符号名称。程序中凡出现该符号名称就等同于该表达式。名称就等同于该表达式。$“当前当前PCPC值值”也叫位置计数器也叫位置计数器 代代表正在执行的指令所在位置。表正在执行的指令所在位置。5第5页,本讲稿共17页符号名称符号名称 BITBIT 位地址位地址将位地址的值赋予符号名称。程序中凡出现该符号将位地址的
6、值赋予符号名称。程序中凡出现该符号名称就代表该位地址。名称就代表该位地址。DWDW 双字节数据双字节数据 或双字节数据组或双字节数据组 将双字节数据将双字节数据 或双字节数据组或双字节数据组 顺序存放在此后顺序存放在此后的存储单元中。占据相应存储空间。的存储单元中。占据相应存储空间。DBDB 8 8位数据位数据 或或8 8位数据组位数据组 将将8 8位数据位数据 或或8 8位数据组位数据组 顺序存放在此后的存储单顺序存放在此后的存储单元中。占相应数量的存储空间。元中。占相应数量的存储空间。6第6页,本讲稿共17页程序的顺序程序的顺序/分支分支/循环三种基本结构循环三种基本结构 ORG 2000
7、HORG 2000HBCD2BBCD2B:MOV AMOV A,R2 R2 ;取入口数据取入口数据 ANL AANL A,#0F0H#0F0H;取出十位取出十位 SWAP A SWAP A ;高高4 4位位 低低4 4位位 MOV BMOV B,#0AH#0AH MUL AB MUL AB ;十位乘十位乘1010 MOV R3 MOV R3,A A ;积暂存进积暂存进R3R3 MOV A MOV A,R2R2;再取入口数据再取入口数据 ANL AANL A,#0FH#0FH ;取出个位取出个位 ADD AADD A,R3R3 MOV R2 MOV R2,A A ;结果结果 R2R2 RET;R
8、ET;若不是子程序可用若不是子程序可用ENDEND 例例:将将R2R2中中BCDBCD码数码数转为二进制数存转为二进制数存进进R2R2(此子程序在下(此子程序在下一例中还要用到)一例中还要用到)7第7页,本讲稿共17页编程要点:编程要点:两字节两字节 BCDBCD码数范围为:码数范围为:0000H0000H9999H9999H 相应相应2 2进制进制/16/16进制数为:进制数为:0000H0000H270FH270FH 调用调用 BCD2BBCD2B子程序子程序实现实现“千位,百位千位,百位”转为二进制转为二进制,并乘并乘100;100;再调再调 BCD2BBCD2B子程序子程序实现实现“十
9、位,个位十位,个位”转为二进制转为二进制;最后,对位相加。最后,对位相加。例:将例:将R5R4R5R4中的双字节中的双字节BCDBCD码数转为码数转为 二进制数存于二进制数存于R5R4R5R4中中。8第8页,本讲稿共17页例例:将将R5R4R5R4中的中的两字节两字节BCDBCD码数码数转为二进制数存转为二进制数存于于R5R4R5R4中中X 100X 100千千 百百十十 个个二进制二进制+CyCy+(R5)(R4)(R5)(R4)(R6)(A)(R5)(A)二进制二进制二进制二进制二进制二进制二进制二进制二进制二进制调调 BCD2B调调 BCD2B9第9页,本讲稿共17页 ORG 2000H
10、ORG 2000H VAR EQU 30H VAR EQU 30H ;定义缓存单元定义缓存单元 FUNC EQU 31HFUNC EQU 31HBR1:MOV ABR1:MOV A,VAR VAR ;取出变量取出变量“X X”JZ COMP JZ COMP ;若若=0,=0,就赋就赋 0 0 JNB ACC.7,POS1 JNB ACC.7,POS1;判断判断 =正?正?MOV A,#0FFH MOV A,#0FFH;(-1=+1;(-1=+1取反加取反加1)1)SJMP COMP SJMP COMP ;输出输出 -1-1POS1POS1:MOV AMOV A,#01H#01H ;输出输出 +
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 学习 第四 优秀 课件
限制150内