汽车单片机原理及应用第五章 程序设计.ppt
《汽车单片机原理及应用第五章 程序设计.ppt》由会员分享,可在线阅读,更多相关《汽车单片机原理及应用第五章 程序设计.ppt(54页珍藏版)》请在三一办公上搜索。
1、第五讲程序设计,主要内容:汇编语言程序设计C语言程序设计,汇编程序基本结构78K系列微处理器使用RA78K0(汇编包)将源程序转换为机器语言RA78K0包括7个程序:结构化汇编预处理程序、汇编程序、连接程序、目标代码转换程序、库、列表转换程序和项目管理器PMplus项目管理器PM plus执行一系列操作:编辑、编译/装配、连接和调试等基于模块的设计方法通常将一个源程序分为多个模块,每个源程序模块应该按照有关格式编写,才可以传送给汇编程序,汇编成目标代码 模块头(可以省略)模块体 模块尾,汇编语言程序设计,模块头:可以使用的控制语句如下表,汇编语言程序设计,模块体:可以使用所有其他的伪指令、控制
2、命令及指令系统中的所有指令。模块体必须用段来描述,可以使用下列4 种段描述模块体:代码段必须用CSEG 定义数据段必须用DSEG 定义位段必须用BSEG 定义绝对段用ORG 定义,或者用AT 指令重定位使用CSEG,DSEG,或BSEG 定义的段数据段必须在代码段之前定义模块尾:使用END 伪指令描述模块的结束,汇编语句的格式,符号和助记符之间必须根据助记符的种类选用冒号、1 个或几个空格或制表符隔开助记符和操作数之间必须用1 或几个空格或制表符隔开,有些指令没有操作数注释必须用分号隔开,注释可有可无每行必须用CR定界,汇编语言程序设计,符号的类型,CODE01 CSEG;“CODE01”是一
3、个段名VAR01 EQU 10H;“VAR01”是一个(常量的)名字LAB01:DW 0;“LAB01”是一个标号NAME SAMPLE;“SAMPLE”是一个模块名MAC1 MACRO;“MAC1”是一个宏名,汇编语言程序设计,助记符助记符:可以是指令、伪指令或宏引用,操作数操作数是指令、伪指令或宏引用操作的数据根据不同的指令、伪指令或宏引用,操作数区可以有1 个或2 个操作数,也可以没有操作数,如果有两个操作数时,用逗号隔开,操作数主要类型 常数(数据和字符串常数)、字符串、寄存器名、特殊字符($,#,!,and)、段定义伪指令的重定位属性名、符号、表达式和位操作类型的操作数,汇编语言程序
4、设计,二进制(后缀B或Y)、八进制(后缀O或Q)、十进制(后缀D或T,或没有后缀)、十六进制(后缀H)、ASCII 码(使用一对单引号,例如a代表65H),特殊字符$:表示指令的地址(多字节指令时代表这个地址的第一个字节);是一个分支指令的相对寻址模式!:表示一个分支指令的绝对寻址模式#:表示立即数:表示间接寻址,表达式和运算符,HIGH 运算符:返回该数据的高8位数值 LOW 运算符:返回该数据的低8位数值MOV A,#HIGH 1234H MOV A,#12H,汇编语言程序设计,DATAPOS 运算符:返回一个位符号的地址部分(字节地址)SYM EQU 0FE68H.6;用EQU定义“SY
5、M”0FE68H.6MOV A,!DATAPOS SYM MOV A,!0FE68HBITPOS 运算符:返回一个位符号的位部分(位位置)SYM EQU 0FE68H.6CLR1 HL.BITPOS SYM CLR1 HL.6,汇编语言程序设计,运算符的优先顺序,汇编语言程序设计,汇编伪指令伪指令不生成机器代码,主要作用是:便于描述汇编源程序、初始化存储区及预留存储区、为汇编程序及连接器进行特定处理时提供所需要的信息,汇编语言程序设计,段定义方法及对应的存储区,代码段定位伪指令,CALLT0:段的起始地址是偶地址,且位于0040H007FH。为代码段指定被1字节指令CALLT 调用的子程序入口
6、地址FIXED:段的起始地址位于0800H0FFFH。为代码段指定被2 字节指令CALLF 调用的子程序的入口地址AT:指定一个段的绝对地址。地址范围为0000HFEFFHUNIT:定义段地址可以位于0080HFA7FH 的任何位置,汇编语言程序设计,UNITP:段地址可在0080HFA7FH 的任何位置,并且起始地址为偶数地址IXRAM:定义段地址位于内部扩展RAMSECUR_ID:为专用的安全ID 指定段地址为0085H008EH。这个位置只能用于存放安全ID,数据段常用定位伪指令SADDR:段地址位于saddr(0FE20H0FEFFH)区SADDRP:段地址位于saddr(0FE20H
7、0FEFFH)区,起始地址为偶数地址。使用SADDR和SADDRP定义变量时,变量的定位范围不可以超出这个固定的区域,否则将产生溢出错误AT:指定一个绝对地址UNIT:缺省设置。指定段地址可以位于RAM的任何位置UNITP:段地址可以位于RAM的任何位置,始地址为偶数地址IHRAM:段地址位于高速RAM,汇编语言程序设计,LRAM:段地址位于低速RAMDSPRAM:段地址位于显示RAMIXRAM:段地址位于内部扩展RAM,位单元段常用定位伪指令AT:用一个绝对地址的第0 位指定一个位单元段的起始地址。地址范围0FE20H0FEFFHUNIT:缺省设置。段地址位于0FE20H0FEFFH 的任何
8、位置,ORG 伪指令:把表达式确定的值赋给程序计数器,遇到一个段定义伪指令(CSEG,DSEG,BSEG,或ORG)或END 伪指令为止格式:符号 ORG 表达式;注释,汇编语言程序设计,EQU 伪指令:把表达式的值赋给前面的名字。该名字不可以在程序的其他位置再次定义。表达式中使用的符号必须是已经定义过的符号格式:名字EQU 表达式;注释,SET 伪指令:把表达式的值赋给前面的名字。该名字可以在程序的其他位置以同样方法再次定义。由该表达式确定的名字数值在再次被定义前都是有效的。表达式中使用的符号必须是已经定义过的符号格式:名字SET 绝对表达式;注释,汇编语言程序设计,存储区初始化及预留定义伪
9、指令DB 伪指令:初始化一个字节区域格式:标号:DB(大小)初始值,.;注释DW 伪指令:初始化一个字区域格式:标号:DW(大小)初始值,.;注释DS 伪指令:预留字节存储区,预留数量由绝对表达式确定格式:标号:DS 绝对表达式;注释DBIT 伪指令:在位单元段预留一个位存储单元格式:名字 DBIT;注释,汇编语言程序设计,目标模块名字声明伪指令NAME 伪指令:为目标模块分配一个由汇编程序输出的目标模块名格式:标号:NAME 目标模块名;注释,自动分支指令选择伪指令BR 伪指令:根据分支的目的地址范围自动地选择2 字节或3 字节的分支指令,并产生相应的目标代码格式:标号:BR 表达式;注释,
10、汇编结束伪指令END 伪指令:用于结束源程序模块的结束格式:END;注释,汇编语言程序设计,宏伪指令宏的基本功能是使用一个名字实现子程序的功能。可以避免代码重复MCRO 伪指令格式:宏名:MACRO 形参,;注释宏体ENDM;注释LOCAL 伪指令:说明定义的符号是只在宏体中有效的本地符号格式:LOCAL 符号名,;注释,汇编语言程序设计,REPT 伪指令:重复执行由REPT-ENDM定义的一串指令,重复的次数由表达式的值确定格式:标号:REPT 绝对表达式;注释ENDM;注释IRP(不定次数的重复)伪指令:重复执行由IRP-ENDM定义的一串指令,当用实参替换形参时,重复的次数由实参的值确定
11、格式:标号:IRP 形参,;注释ENDM;注释,汇编语言程序设计,EXITM(退出宏)伪指令:用于从MACRO伪指令定义的宏体和REPT-ENDM 或IRP-ENDM定义的重复模块中强制退出格式:标号:EXITM;注释ENDM(宏结束)伪指令:用于结束宏定义的指令执行格式:ENDM;注释,汇编语言程序设计,汇编程序结构举例:十六进制-ASCII码的代码转换程序,写缓冲区的程序设计DISP_byte_write1:MOVW HL,#DISP_buffer;缓冲区首地址入HLMOV A,!M_LCD_WORK;要写入的数据低位入AMOV HL+B,A;写入INC B;偏移地址加1MOV A,!M_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车单片机原理及应用第五章 程序设计 汽车 单片机 原理 应用 第五
链接地址:https://www.31ppt.com/p-2281993.html