版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 精诚电子中国最专业的新生代电子联盟基于模拟前端信号处理与控制技术的专业论坛、网站MSP430单片机的程序设计基础 h t t p : / / h z j c d z . t a o b a o . c o m精诚电子 作者:利尔达 一、汇编伪指令和常用汇编程序设计方法及技巧 1、汇编指令和伪指令 2、常用汇编程序设计方法技巧 二、C语言的编程基础与技巧。 (参考教材:MSP430系列C语言程序设计与开发 1、编程基础 2、编程技巧 3、 C语言编程实例 4、 混合编程技巧 方法一; 方法二; (实际操作演示和练习) 基于模拟前端信号处理与控制技术的专业论坛、网站 汇编伪指令: 作用: 1、将
2、代码和数据汇编到规定的段中 2、在存储器中为未初始化的变量保留空间 3、控制汇编后列表文件的格式 4、初始化存储器 5、汇编条件块 6、定义全局变量 7、规定汇编器可以从中获得宏的库 8、产生符号化的调试信息常用的汇编伪指令有:1、模块控制伪指令2、段控制伪指令 3、数值分配伪指令4、数据定义伪指令 EXIT www.M 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站模块控制伪指令 :模块的含义是功能不同,在模块内部可以定义不同的变量他们可以只是在内部有效,在外部失效。 模块要用一对说明的符号来定义,如: NAMEADD1注:
3、ADD1为模块的名子 : ENDMOD注:结束模块定义 上述只是定义一个模块。如果要定义一个集合的模块参考小龙书介绍。 一般这种定义不常用。只有定义局部变量时才用到它。 EXIT www.M 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站数值分配伪指令: 它主要用语对符号的数值定义。以下是常见的定义 EQU在当前模块中赋予一个永久的值。 =意义同上 DEFINE在多个模块环境下,定义一个在整个文件中都有效的值。 sfrb和sfrw 是老的版本对功能模块寄存器的定义DEFC 是新的版本对功能模块寄存器的定义#defineREAD
4、_ONLY DEFC是新的版本定义只读功能模块寄存器使用方法: HHHEQU200HHHH标志符 200H标志符值 EXIT www.M 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站段控制伪指令:它主要说 码和数据的生成的位置,你以规定一个段、设置特定的定位指针。你也可以插入一些填充字节用以校准程 序指针,和将程序指针定义对准偶地址上。 常用的有:ASEG 一个绝对段的开始 STACK定义堆栈段COMMON定义公共段ORG 设置特定的定位指针 ALIGN插入一些填充字节用以校准程序指针 EVEN插入对准偶地址例如:有的汇编程
5、序在头一条写: ORG03000H意思是它下下面的代码从3000H开 始生成汇编代码。 EXIT www.M 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站数据定义伪指令:该指令可以在代码段空间内的任意位置上定义一些预留空间也可以将一些需要查表的数据定义在某个区域上。注意的是这种定义都是一些常数值 下面是它的指令含义: DL定义一个32位常数 DW定义一个16位常数 DB定义一个8位常数 DF定义一个32位符点常数 DS定义一个N个字节单元例如:定义10字节单元 tableDS0xAEXIT www.Microcontrol.
6、cn 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站汇编程序设计方法技巧: 汇编语言程序设计是一个综合性很强的一门艺术,它许需要掌握芯片 性能和使用方法,更多的要掌握一些外围电子电路以及开发的目的和意图等多方面的知识,限于篇 幅 ,在这里只介绍有关如何优化程序结构和组织指令和编写方面的技巧。 用汇编语言编写程序的几大步骤: 1、确定算法和思路,一般思路可用流程图去体会能否实现。 2、确定数据量, 主要是工作单元的数据量,以确定分配存放的单元。这里对芯片的选型很重要。 3、确定使用的功能模块,主要根据实现的目标而定。 4、确定使用的符号变量,标注符号的含义
7、。 5、按汇编指令要求编写汇编指令 编写程序的原则:尽量节省RAM,缩短指令长度,提高运行效率 常见的汇编指令结构: 1、顺序结构2、散转结构3、循环结构 4、选择结构 除此之外,熟悉有关外围电路的特性也是必要的。 EXIT www.M 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站顺序结构 :所谓顺序结构就是CPU执行完了一条指令再执行紧挨着的下一条指令。它是没有跳转指令,一般是连续的MOV指令。 散转指令:它是一些查询判断后执行一些相应功能后又返回到入口,一般它根据执行的一些运算或执行一些 (如中断)等。一般这种结构是一些
8、在主程序的大的循环。 循环结构: 循环结构在程序设计中占有相当重要的地位。它的结构类似高级语言的WHILE 和DO WHILE中的循环语句相同,在循环结构常使用判断语句来确定程序的走向,当不满足或满足时可进入循环主体或离开循环主体。 下面的一段循环结构是一个延时子程序: MOV#60000,R5 LOOPDECR5JNZLOOP注:每个指令为1个周期,共用60000*3个指令周期。 选择结构:这是对某个条件,或多个条件进行测试后去执行一个指定的流程。 在这个结构中一般常自定一些标志位,它代表一定的物理含义,通过对它的改变来决定程序执行对应的功能。也可能通过运算表达式的结果来选择处理功能。 EX
9、IT www.M 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站编程基础: 1、C语言的数据类型 常使用8位、16位、32位、64位,同时分有无符号之分。 例如:特殊功能寄存器变量sfrb、sfrw,它直接定义在片内。要大写。无符号整数 char、unsigned int、 unsigned long、 有符号整数 int 、long 浮点数float2、C430的配置 由于430各芯片上的差异430要进行特性配置。你也可根据需要去修改这些配置文件。 EXIT www.M 微控设计网中国MSP430
10、单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站编程技巧: 1、主函数的建立 2、变量类型的定义 3、程序设计结构 1)条件语句 2)开关语句 3)循环语句 4)返回语句 4、常用的MSP430 C语言标准库函数 数学 类:math.h字符串处理类:string.h使用举例: void *memmove(void *s1,const void *s2,size_t n) s1:目的指针,也可做返回值(内部有返回指针) s2:源指针 n: 复制个数 5、混合编程技巧 EXIT www.M 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技
11、术的专业论坛、网站混合程序模块设计: 1、汇编文件名后缀为.s43一般为了提高运行效率,提高代码效率或直接控制外围芯片接口,可采用一段 汇编指令来完成。这就需要采用在C语言嵌套汇编语言混合编程,在混合编程中,不同的MSP430编译环境使用的方法不同,参数的传递也不一样。再这里介绍的IAR的环境 参见设计实例 2、 C程序文件名后缀为.c为了提高程序的可读性或在程序调试上的方便,往往将一些功能相类姒的子程序放到一个文件中供主程序调用。例如:程序初始化,功能模块,常用的运算子程序, 对这些子程序有些不涉及外围芯片时还可生成库函数(如特殊的功能计算),这样对编程维护修改都有好处,有些工作也避免重复。
12、 参见设计实例 3、包含文件名后缀为.h对程序使用的大量的常数、变量、数组、数据结构以及函数的定义一般放在这里, 一般对程序修改、对照检查很方便。但注意:他们使用的局限性。 参见设计实例 EXIT www.M 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站#include void main(void) WDTCTL = WDTPW + WDTHOLD;/ Stop WDT IE2 |= BTIE;/ Enable BT interrupt BTCTL = BTSSEL+BTIP2+BTIP1+BTIP0; P5DIR |=
13、0x02;/ Set P5.1 to output direction _EINT();/ Enable interrupts for (;) _BIS_SR(CPUOFF);/ Enter LPM0 _NOP();/ Required only for C-spy interruptBASICTIMER_VECTOR void basic_timer(void) P5OUT = 0x02;/ Toggle P5.1 using exclusive-OR EXIT www.M 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站C文件 unsignedintvarword; charvarbyte;汇编文件 PUBLIC? EXTERNvarword EXTERNvarbyte? MOV.B#00011H, varbyte MOV#01111H, varword注意它们的长度! EXIT www.M 微控设计网中国MSP430单片机专业网站基于模拟前端信号处理与控制技术的专业论坛、网站#include extern unsigned int Swap(unsigned int); unsigned int re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年执业药师考试《药学专业知识一》真题及答案
- 2026年度执业药师继续教育公需培训考试题库及答案
- 露营地活动策划师岗位招聘考试试卷及答案
- 办公氛围营造技师试卷及答案
- 瘀血阻络证临床治疗方案优化
- 金融科技风险控制实施指南(标准版)
- 商务酒店服务流程规范
- 通信基站环境监测与维护手册
- 电子商务平台网络安全保障手册(标准版)
- 医疗机构患者护理与康复指南
- 2025年乡村规划师职业水平测试大纲试题及答案
- 2026年东营职业学院单招综合素质笔试参考题库含详细答案解析
- 2026年护理质控工作计划
- 皇家加勒比游轮介绍
- 煤矿春节后复工安全培训课件
- 如懿传十级测试题及答案
- IPC7711C7721C-2017(CN)电子组件的返工修改和维修(完整版)
- 智能图书馆与人工智能技术融合-洞察阐释
- 2025年安阳职业技术学院单招职业倾向性测试题库学生专用
- 2025年国家药监局医疗器械技术审评检查大湾区分中心事业编制人员招聘5人历年高频重点模拟试卷提升(共500题附带答案详解)
- 京剧名段100首唱词
评论
0/150
提交评论