十个PIC设计技巧终稿.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多
一、在支持PIC10/12/16系列单片机的HI-TECH C编译器中,可以借助以下两种方法进行C语言和汇编语言的混合编程: (1) 用一条“asm(“ …”);”语句直接嵌入一条汇编指令; (2) 以“#asm”开头,到“#endasm”结束,嵌入一段连续的汇编指令。请看下面图片中对两种方法编程的举例说明。 二、?在16-bit PIC? MCU和dsPIC??DSC中,当开始启动闪存编程或擦除周期时应禁止中断,以确保执行密钥序列时不会发生中断。可以通过将当前CPU优先级升高到7来禁止中断(强制SR寄存器的IPL2:0位等于111)。如果没有允许优先级为7的中断,则可使用DISI指令在执行密钥序列时暂时禁止中断。 ? 三、使用PICC编译器的宏__EEPROM_DATA(),可以方便地预定义PIC单片机上EEPROM中的数据内容。__EEPROM_DATA()这个宏可一次预定义8个字节的数据;它可被多次调用,并可自动增加数据地址进行顺序放置。 ? 例:#include __EEPROM_DATA(1,2,3,4,5,6,7,8); __EEPROM_DATA(9,10,11,12,13,14,15,16); ? 四、基于PICC编译器,在中档PIC单片机中使用中断,仅需要以一个interrupt关键词声明一个中断函数即可。PICC编译器会把这个函数放到合适的位置,并且注意所有的寄存器保护和恢复。例如:void interrupt isr(void) {} (其中isr是函数名,可任意命名) ? 五、PIC18 MCU的Timer定时/计数器工作在16位模式时,TMRxH并不是真正的高字节,而只是用来缓存高字节。16位模式Timer的高字节不能直接读写。读TMRxL时,TMRxH被更新为Timerx高字节的内容。写Timerx的高字节则是先将数据装载到TMRxH中缓存,再在写TMRxL时,将TMRxH中的数据写到Timerx的高字节。 六、在nanoWatt XLP器件上的极低功耗Timer1振荡器消耗电流极低,其振荡电路对邻近电路非常敏感,晶振和电容应尽可能靠近MCU,并不应有电路穿过振荡电路的边界。如无法避免在振荡电路旁布置高速电路,则应在振荡电路和MCU引脚周围放置保护环,在振荡器元件下方放置地防止与高速电路相互作用。 七、Microchip提供了完整的C编译器选项以支持使用C语言对任何PIC单片机或dsPIC数字信号处理器进行编程。Microchip的C编译器包括MPLAB C和HI-TECH C两个产品线。用户必须针对所使用的PIC MCU或dsPIC DSC,选择对应的C编译器。Microchip C编译器的下载和详细资料请访问: 八、当使用带有包含校准值的内部RC振荡器的PIC MCU(如PIC12F629/675)时,如校准值被意外擦除,用户可编程修改OSCCAL寄存器的值,通过时钟输出功能监测CLKOUT引脚的输出。在5V和25°C环境下,当输出频率为内部RC振荡器标称值的±1.5%时,OSCCAL寄存器的值即是正确的校准值,可将该值烧写回芯片。(你一定要图片就是 OSCCAL.png) ? 九、在许多低功耗应用中,可通过在I/O引脚(如MCLR,I2C信号,开关及电阻分压器)上使用较大上拉电阻来提高能效。比如,在I2C信号上使用10K上拉电阻就可比使用4.7K上拉电阻,减少近一半的总线电流。而其代价是I2C总线的最大速度变低,但在I2C速度不太重要的应用中,以此方法降低功耗还是很有用的。 十、MPLAB使用技巧 让你的MPLAB好用起来!很多人抱怨,MPLAB 编辑功能不方便,很多功能没有。特别是你如果第一次接触MPLAB的时候,觉得界面太不友好,其实不然。。。。?? 1.? ?? ? 实现效果1:双击选取单词,再次双击选取整行。——打开 edit\properties菜单,选C File Types,取消Double click toggles breakpoit即可 2.? ?? ? 实现效果2:实现窗口停靠。——左键点击要停靠的窗口的左上角的运行图标,选定Dockable,然后将窗口(往下拉的时候,是上边缘到最低端)拖到你要停靠的地方(一般在主窗口左边缘、下边缘、右边缘),会出现镶嵌的边框,即可实现窗口停靠 3.? ?? ? 实现效果3:实现可使打开地多个源文件,显示在一个标签栏上,方便源文件切换。——打开 edit\properties菜单,选general标签,选中use tabedd window。(要重新启动MPLAB生效) 4.? ?? ? 实现效果4:实现书写源文件的到换行的时候,自动tab对齐。——打开 edit\properties菜单,选C File Types标签,选

文档评论(0)

hhx0627 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档