找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6457|回復(fù): 0
收起左側(cè)

如何使用PIC內(nèi)含之RC振蕩器來當(dāng)作系統(tǒng)時鐘源?

[復(fù)制鏈接]
ID:83710 發(fā)表于 2015-6-24 21:08 | 顯示全部樓層 |閱讀模式
從PIC12C508開始,逐漸地,PIC有很多型號都內(nèi)含有可以當(dāng)作系統(tǒng)時脈源的RC振蕩器。有了這項功能,不但讓整體系統(tǒng)的成本進(jìn)一步往下降;并且還因為內(nèi)部的RC振蕩源是經(jīng)過校正的,而獲得了比外接RC振蕩更精確的時鐘。

不過,想要使用內(nèi)部RC振蕩而有精確的時鐘,是有方法的。除了在刻錄IC時要指定使用內(nèi)部RC振蕩以外,還要在原始程序代碼中加上一些命令才行。而命令的用法,還因不同種類的PIC而有不同。

以12-BIT 架構(gòu)的PIC而言,例如PIC12C508,Microchp在IC的最后一行程式內(nèi)存,加上一個"movlw 0x??"的命令,當(dāng)芯片復(fù)位時,IC會先運行該命令之后,再跳到地址0繼續(xù)運行。因此,如果您一直沒有去修改到w暫存器的屬性的話,則w暫存器會一直保留著原來"??"的那個值。"??"就是Microchip測量出來的校正值。如果您把它填到OSCCAL那個寄存器的話,則以后的RC振蕩將是"蠻準(zhǔn)的"4MHz。因此,通常簡單的作法,便是在程序的第0行填入" movwf OSCCAL"的命令就可以了。

以14-BIT架構(gòu)的PIC而言,例如PIC12F629,Microchp在IC的最后一行程式內(nèi)存,加上一個"retlw 0x??"的命令。因此,您可以利用在程序中的任何位置,加上"call LAST-ADDRESS"(調(diào)用最后一個地址) (對PIC12F629 而言,LAST-ADDRESS = 0x3ff),和"movwf OSCCAL"兩道命令來校正內(nèi)部RC振蕩。

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表