找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

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

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

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

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

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

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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