PIC设计技巧.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、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编译器的下载和详细资料请访问:/stellent/idcplg?IdcService=SS_GET_PAGEnodeId=1406dDocName=en534868 当使用带有包含校准值的内部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速度不太重要的应用中,以此方法降低功耗还是很有用的。

文档评论(0)

新起点 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档