单片机汇编语言程序设计课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机汇编语言程序设计课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 汇编语言 程序设计 课件
- 资源描述:
-
1、单片机汇编语言程序设计单片机汇编语言程序设计n汇编语言汇编语言n机器语言(面向机器 二进制表示)n汇编语言(面向机器 助记符表示)n高级语言(面向用户 类人语言)单片机汇编语言程序设计单片机汇编语言程序设计n汇编语言的格式 标号段 操作码段 操作数段 注释段指令语句伪指令 ORG(起始汇编)END(起始汇编)EQU(赋值)DATA(数据地址赋值)DB(定义字节)DW DS BIT单片机汇编语言程序设计单片机汇编语言程序设计n 例例 设在内部RAM的BLOCK单元内有一无符号数据块的长度,无符号数据块起始地址是BLOCK+1。n试编程求无符号数据块中数据的累加和(不考虑进位的加法之和),并把它存
2、入SUM单元。n 单片机汇编语言程序设计单片机汇编语言程序设计n 解解:n程序应能对数据块长度作出判断:n若它不为零,则求和;n若它为零,则不必进行加法。n相应程序为:n 单片机汇编语言程序设计单片机汇编语言程序设计nORG 1000H SUM DATA 1FH BLOCK DATA 20H START:MOV R0,#BLOCK ;数据块长度地址送R0n MOV A,R0 ;数据块长度送An CJNE A,#00H,LOOP ;若数据块长0,则LOOPHERE:SJMP$;若数据块长=0,则结束 LOOP:CLR A NEXT:INC R0 ;修改数据指针n ADD A,R0 ;加一个数n
3、DJNZ BLOCK,NEXT ;若(BLOCK)-10,则NEXTn MOV SUM,A ;存累加和n SJMP HEREn END程序设计方法程序设计方法1 1作程序流程图作程序流程图 根据题意,找出最合理、简便的解决方法并根据题意,找出最合理、简便的解决方法并作程序流程图。作程序流程图。流程图分粗略和详细两种,粗略流程图给出流程图分粗略和详细两种,粗略流程图给出大致步骤,而详细流程图则给出每一步骤细节。大致步骤,而详细流程图则给出每一步骤细节。对一些大问题,先给出粗略流程图以得出总体对一些大问题,先给出粗略流程图以得出总体概念,再作详细流程图对每一步骤作具体描述概念,再作详细流程图对每一
4、步骤作具体描述;程序设计方法程序设计方法2 2存贮单元分配存贮单元分配 根据题意合理地分配程序和数据在存贮器根据题意合理地分配程序和数据在存贮器中地址。中地址。存贮单元分配合理,可使编程简单和避免存贮单元分配合理,可使编程简单和避免程序出错。程序出错。应避免程序区与数据区相互混合、交叉。应避免程序区与数据区相互混合、交叉。内部数据存储器结构内部数据存储器结构n内部数据存内部数据存储器储器00-7FH00-7FH的结构的结构7FH30H堆栈堆栈通用数据存储器通用数据存储器通用数据存储器通用数据存储器(位寻址)(位寻址)RB3(R0-R7)RB2(R0-R7)RB1(R0-R7)RB0(R0-R7
5、)20H00H07H10H17HMOV Rn,AMOV A,RnSETBCLRMOV R0,AMOV A,R0MOV R0,AMOV A,R0MOV SP,#5FHPUSH POPMCS-51MCS-51单片机外部存储器使用单片机外部存储器使用n外部数据存储器寻址范围为外部数据存储器寻址范围为64K,包括,包括外外部数据存储器和部数据存储器和I/On通过数据指针指定外部数据存储器的地址通过数据指针指定外部数据存储器的地址 MOVX A,DPTR MOVX DPTR,An采用间接地址指定外部数据存储器的地址采用间接地址指定外部数据存储器的地址 MOVX A,R0/R1 MOVX R0/R1,A程
6、序设计方法程序设计方法3 3源程序编制源程序编制 将流程图中每步所规定的操作用程序将流程图中每步所规定的操作用程序语言实现,可选用不同指令,各人所编程语言实现,可选用不同指令,各人所编程序可能不同。序可能不同。程序质量衡量标准为:程序短,占用程序质量衡量标准为:程序短,占用存贮单元少,运行时间短,而且程序结构存贮单元少,运行时间短,而且程序结构合理。合理。源程序源程序标号操作码 操作数O R G 4 0 0 0 H MOVA,#00H MOV30H,AINC AMOVDPTR,#4100HMOVX DPTR,A INC A INCDPTRMOV A,R2 MOVX DPTR,A HE:SJMP
7、 HE 把直接数00H送到内部RAM30H单元中,把直接数01H及02H分别送到外部RAM4000H、4001H单元中。MCS-51MCS-51单片机程序设计单片机程序设计 简单程序简单程序n设计设计MCS-51MCS-51程序时,程序时,需注意内部存储器需注意内部存储器访问和外部存储器访问和外部存储器访问访问MCS-51MCS-51单片机程序设计单片机程序设计n分支程序常分支程序常用的指令用的指令指令功能JZ relJNZ relJC relJNC relJB bit,relJNB bit,relJBC bit,relCJNE A,direct,relCJNE A,#data,relCJNE
8、 Rn,#data,relCJNE Rn,#data,rel的内容为零转移此位为转移,并将此位清零的内容非零转移转移转移此位为转移此位非转移两数不相等转移两数不相等转移两数不相等转移两数不相等转移MCS-51MCS-51单片机程序设计单片机程序设计n分支程序分支程序在寄存器在寄存器R2中存有数中存有数码码0 0F,要求将其转,要求将其转换为换为ASCII码,并存码,并存于外部存贮器于外部存贮器 4100H单元中单元中 R2 AR2 AA+30HA+30HA0AHA0AHY YN NA (4100H)A (4100H)A+37HA+37H停机停机MCS-51MCS-51单片机程序设计单片机程序设
9、计利用散转指令实现多分支程序的方法利用散转指令实现多分支程序的方法 将直接转移指令如将直接转移指令如AJMPAJMP、LJMPLJMP构成转移表,构成转移表,将此表的首地址装入数据指针将此表的首地址装入数据指针DPTRDPTR,把标志单,把标志单元的内容乘以转移指令表所采用的直接转移指元的内容乘以转移指令表所采用的直接转移指令的长度令的长度(AJMP(AJMP为为2 2、LJMPLJMP为为3)3),并传送到累加,并传送到累加器器A A中,然后调用中,然后调用JMPA+DPTRJMPA+DPTR指令实现散转。指令实现散转。MCS-51MCS-51单片机程序设计单片机程序设计 利用地址偏移量表实
展开阅读全文