找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5817|回复: 0
打印 上一主题 下一主题
收起左侧

如何使用PIC内含之RC振荡器来当作系统时钟源?

[复制链接]
跳转到指定楼层
楼主
ID:83710 发表于 2015-6-24 21:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从PIC12C508开始,逐渐地,PIC有很多型号都内含有可以当作系统时脉源的RC振荡器。有了这项功能,不但让整体系统的成本进一步往下降;并且还因为内部的RC振荡源是经过校正的,而获得了比外接RC振荡更精确的时钟。

不过,想要使用内部RC振荡而有精确的时钟,是有方法的。除了在刻录IC时要指定使用内部RC振荡以外,还要在原始程序代码中加上一些命令才行。而命令的用法,还因不同种类的PIC而有不同。

以12-BIT 架构的PIC而言,例如PIC12C508,Microchp在IC的最后一行程式内存,加上一个"movlw 0x??"的命令,当芯片复位时,IC会先运行该命令之后,再跳到地址0继续运行。因此,如果您一直没有去修改到w暂存器的属性的话,则w暂存器会一直保留著原来"??"的那个值。"??"就是Microchip测量出来的校正值。如果您把它填到OSCCAL那个寄存器的话,则以后的RC振荡将是"蛮准的"4MHz。因此,通常简单的作法,便是在程序的第0行填入" movwf OSCCAL"的命令就可以了。

以14-BIT架构的PIC而言,例如PIC12F629,Microchp在IC的最后一行程式内存,加上一个"retlw 0x??"的命令。因此,您可以利用在程序中的任何位置,加上"call LAST-ADDRESS"(调用最后一个地址) (对PIC12F629 而言,LAST-ADDRESS = 0x3ff),和"movwf OSCCAL"两道命令来校正内部RC振荡。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表