Microchip_C18编译器培训资料.pptVIP

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大数据存储目标 通过指针访问一个 256字节的目标是支持的 要建立一个多Bank的目标 分配目标到它自己的片段section 建立一个指向目标的指针来作访问 在连接器描述文件linker script里建立一个新的区域 把这个目标的片段section 指派到这个新的区域里 大目标示例 C文件 #pragma udata buffer_scn static char buffer[0x180]; #pragma udata char *buf_ptr = buffer[0]; … // 使用示例 buf_ptr[5] = 10; if( buf_ptr[275] 127 ) … 大目标示例 Linker Script文件 改动之前 DATABANK NAME=gpr2 START=0x200 END=0x2FF DATABANK NAME=gpr3 START=0x300 END=0x3FF 改动之后 DATABANK NAME=bigbuf START=0x200 END=0x37f PROTECTED DATABANK NAME=gpr3 START=0x380 END=0x3FF ... SECTION NAME=buffer_scn RAM=bigbuf 课程综述 MPLAB? C18综述 实验1:工具的集成 周边外设的访问 存储器的组织 中断 实验2:周边外设中断 中断优先级 EEDATA 大数据存储目标 实验3:中断优先级和多个周边外设的控制 扩展的模式 实验3: 嵌套的中断的周边外设查询的控制 关键概念 中断优先级 EEDATA的访问 多中断驱动和周边外设的查询访问 采样ADC来调整移动LED的重复计数器 时钟选择FOSC/32 AN0是模拟输入 200指令周期延时从开始采样到开始转换 外中断(INT0)用来改变LED移动的方向 注意INT0一直是高优先级的中断 设置TMR2到低优先级 保存/恢复 方向数据到EEDATA 课程综述 MPLAB? C18综述 实验1:工具的集成 周边外设的访问 存储器的组织 中断 实验2:周边外设中断 中断优先级 EEDATA 大数据存储目标 实验3:中断优先级和多个周边外设的控制 扩展的模式 扩展的指令集 在最新的PIC18器件里开始有扩展的指令集,它提供: 索引的立即数寻址模式 高效的堆栈操作的新指令(SUBFSR, ADDFSR, PUSHL, ADDULNK, SUBULNK, MOVSS, MOVSF) 高效函数指针的新指令(CALLW) 扩展模式支持 MPLAB? C18可选地支持新指令集,提供为基于堆栈数据的代码精简 MPLAB C18当使用扩展模式时只支持‘auto’型的存储类型 为了正确的操作,器件的模式必须符合编译器的设定 即将会有什么 型号,型号,型号 不断地调整号扩展模式 新的库程序 - 超出以前的 (sin,cos,tan,atan,等) - 格式化的输出(printf,sprintf,等) 得到MPLAB? C18 演示版Demo可以在网站上下载 零售$495 可以向Microchip定购 技术支持 Tech.Support@ 800-820-6247 Microchip在线讨论组 总结 将MPLAB? C18集成到MPLAB? IDE得到一个完整的开发环境 MPLAB C18提供直接访问SFR来控制器件周边外设以及运行时间库的便利 MPLAB C18帮助管理中断控制代码 MPLAB C18可用来操作EEDATA存储区 MPLAB C18支持大数据空间目标 The PIC18的扩展指令集提供更多可重入代码大小的优化 谢谢! 问题与解答 Microchip Technology Inc. MASTERs 2004 Class Name * SFR的访问: 位 位 可以用这种语法来引用: SFRbits.bitname 例如: PORTBbits.RB0 = 1; INTCONbits.GIEH = 0; 行内汇编 语法: 指定所有的操作数 使用C风格的注释 标号需要加冒号 使用C标准的数写法(0x12或18,而不是H’12’) 注意: 带有行内汇编的函数,优化会被禁止 void add5( void ) { static char local=0; _asm // foo += 5 movlb foo movlw 0x5 addwf foo,1,1 _endasm } 课程综述 MPLAB? C18综述 实验1:工具的集成 周边外设的访问 存储器的组织 中断 实验2:周边外设中断 中断优先级 EEDATA 大数据存储目标 实验3:中断优先级和多个周边外设

您可能关注的文档

文档评论(0)

血玲珑 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档