PIC24F系列仿真开发环的境MPLAB简介2.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PIC24F系列仿真开发环的境MPLAB简介2

MPLAB IDE 集成开发环境概述 MPLAB IDE概述 业界横向支持面最集中 提供功能 建立和编辑源文件 将多个文件组合到一个“工程”(Project)中 调试、优化应用程序代码 使用模拟器或仿真器对可执行逻辑代码进行调试 包含有:编辑器、模拟器、工程管理器 支持MPLAB ICE PICMASTER仿真器 支持PICSTART PLUS 烧写器,PROMATE ∏烧写器 MPLAB集成的工具 “工程”管理器:工程有关的文件在同一个环境下 编译器:建立和编辑文本文件 ICD2在线调试器:功能强大、价格低的开发与评估套件 SIM软件模拟器 ICE仿真器:使用硬件手段实时进行仿真 MPASM/MPLINK/MPLIN: 对源代码进行汇编 将可重定位模块进行链接,产生最后的可执行应用代码文件 C编译器,烧写器,仿真器等等 工程(项目)管理 工程管理:记录管理开发信息 MCU的型号和工作方式 相关文件来源与链接 产生的可执行文件 工作窗口、观察窗口的相关信息设置等 配置字的内容 支持的语言工具 PC 机上 Visual Basic 或 C 编译器…… 在嵌入式系统中 “交叉汇编器”或“交叉编译器” 目标处理器与PC 机使用完全不同的指令集 调试文件 将机器指令和存储单元与源代码相关联 编译器将源代码转换为机器指令 MPLAB? IDE概述 MPLAB C30 介绍 MPLAB C30 是一个遵循ANSI x3.159-1989 标准的优化C 编译器。 编译器是基于Windows? 操作系统的应用程序,它为开发C 代码提供了一个平台。 MPLAB C30 C 编译器是一个全功能的优化编译器,可将标准的ANSI C 程序翻译为汇编语言源代码。由编译器生成的文件与其他目标文件和库文件进行汇编和链接以产生最终的应用程序。 应用程序格式为COFF 或ELF 文件格式。 MPLAB C30 的数据类型 数据表示:具有一定格式的数字或数值。 数据类型:数据的不同格式。 数据结构:数据按照一定的数据类型进行的排列、组合架构。 整型数据 MPLAB C30 所支持的整型数据类型。 浮点型 MPLAB C30 使用IEEE-754 格式 存储格式 多字节存储格式: 低字节存储在低地址中 低位存储在编号低的位地址中 例如, 0在地址0x100 中存储如下: 而0在寄存器W4 和W5 中存储如下: 处理器头文件 处理器头文件随语言工具提供。这些头文件定义了每个PIC 器件中可用的特殊功能寄存器(SFR)。 要在C 中使用头文件:#include p24fxxxx.h 其中xxxx 对应器件的型号。 C 头文件包含在 support\h 目录中。 要使用特殊功能寄存器名(如CORCONbits),必须包含头文件。 处理器头文件 处理器头文件的约定是,使用器件数据手册中的寄存器名对每一个SFR 命名 例如: CORCON 指内核控制寄存器。如果SFR 中有一些重要的位,因此头文件中还有为该SFR 定义的结构,结构名与SFR 的名字相同,只是在后面附加了“bits”。 寄存器定义文件 “处理器头文件” 中描述的处理器头文件指定了每个器件的所有SFR,但并未定义SFR 的地址。 support\gld 目录中有每个器件的链接描述文件。链接描述文件定义了SFR 的地址。 使用特殊功能寄存器 遵循以下三个步骤: 1. C语言源程序中,包含所使用器件的处理器头文件: #include p24FJ64GA006.h 2. 像访问任何其他C 变量一样访问特殊功能寄存器。源代码可对特殊功能寄存器进行读和写。 例如: TMR1 = 0; 将Timer1 特殊功能寄存器清零 T1CONbits.TON = 1; 将TON的位置1来启动定时器 3. 链接相应器件的寄存器定义文件或链接描述文件 链接器提供特殊功能寄存器的地址(请记住在链接时位结构具有和SFR 相同的地址) p24FJ64GA006.gld 源程序示例 #include p24FJ64GA006.h unsigned int counter; // 变量声明 main () { counter = 1; TRISD = 0; // PORTD 端口全为输出 while(1) // 死循环 { PORTD = counter; // 从PORTD端口输出‘counter’的计数值 counter++; } } 中断 中断用来使软件操作与实时发生的事件同步。 中断处理对于实时处理系统是很重要的 编写ISR 的要领为: 不带参数并以void 返回值类型声明ISR (强制) 不要通过一般程序调用ISR

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档