會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





pic16f946使用crystal 32768做real time用之問題
資深會員
註冊日期:
2004/06/10 11:45
所屬群組:
註冊會員
文章: 224
等級: 13; EXP: 96
HP : 0 / 324
MP : 74 / 15142
離線
電路圖請參考附件,程式相關設定為
#pragma config FOSC = INTOSCIO

TMR1H = 0x80;
TMR1L = 0x00;
T1CON = 0b00001111;
TMR1IF = 0;
TMR1IE = 1;
原本以為設定有問題,但將T1CON改成
T1CON = 0b00001101;則會正常工作,請問是哪出了問題了,還有電路圖的crystal的C6,C7為12pF正確嗎?正常C6,C7應該是多少?

附加檔案:



jpg  pic16f946.jpg (198.11 KB)
263_5e16b5fc8cbab.jpg 1382X665 px

1月09日 13:11:53
轉換PDF檔 列印


Re: pic16f946使用crystal 32768做real time用之問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15045
等級: 73; EXP: 89
HP : 1093 / 1822
MP : 5015 / 85626
離線
請參考貼圖,這跟使用的 Crystal 廠牌有關,大約在 12pF 左右。

附加檔案:



jpg  擷取1.jpg (158.78 KB)
16_5e16c51a5a5d1.jpg 1059X528 px

1月09日 14:15:54
轉換PDF檔 列印


Re: pic16f946使用crystal 32768做real time用之問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15045
等級: 73; EXP: 89
HP : 1093 / 1822
MP : 5015 / 85626
離線
如貼圖所示: LP OSC 的控制是使用 T1OSCEN=1 and Fosc= 0x000 後才能開啟外部的 32768Hz 的震盪器。

T1CS = 1 也要設定。使用非同步模式,這樣在睡眠模式下才可以計時。

所以 T1CON = 0b00001111 + Fosc= 0b000

bit 2-0 FOSC<2:0>: Oscillator Selection bits
111 = RC oscillator: CLKO function on RA6/OSC2/CLKO/T1OSO pin, RC on RA7/OSC1/CLKI/T1OSI
110 = RCIO oscillator: I/O function on RA6/OSC2/CLKO/T1OSO pin, RC on RA7/OSC1/CLKI/T1OSI
101 = INTOSC oscillator: CLKO function on RA6/OSC2/CLKO/T1OSO pin, I/O function on RA7/OSC1/CLKI/T1OSI
100 = INTOSCIO oscillator: I/O function on RA6/OSC2/CLKO/T1OSO pin, I/O function on RA7/OSC1/CLKI/T1OSI
011 = EC: I/O function on RA6/OSC2/CLKO/T1OSO pin, CLKI on RA7/OSC1/CLKI/T1OSI
010 = HS oscillator: High-speed crystal/resonator on RA6/OSC2/CLKO/T1OSO and RA7/OSC1/CLKI/T1OSI
001 = XT oscillator: Crystal/resonator on RA6/OSC2/CLKO/T1OSO and RA7/OSC1/CLKI/T1OSI
000 = LP oscillator: Low-power crystal on RA6/OSC2/CLKO/T1OSO and RA7/OSC1/CLKI/T1OSI

附加檔案:



jpg  擷取.JPG (83.51 KB)
16_5e16c6a334d5b.jpg 1022X617 px

1月09日 14:22:27
轉換PDF檔 列印


Re: pic16f946使用crystal 32768做real time用之問題
資深會員
註冊日期:
2004/06/10 11:45
所屬群組:
註冊會員
文章: 224
等級: 13; EXP: 96
HP : 0 / 324
MP : 74 / 15142
離線
引用:

Ryang 寫道:
如貼圖所示: LP OSC 的控制是使用 T1OSCEN=1 and Fosc= 0x000 後才能開啟外部的 32768Hz 的震盪器。

T1CS = 1 也要設定。使用非同步模式,這樣在睡眠模式下才可以計時。

所以 T1CON = 0b00001111 + Fosc= 0b000

bit 2-0 FOSC<2:0>: Oscillator Selection bits
111 = RC oscillator: CLKO function on RA6/OSC2/CLKO/T1OSO pin, RC on RA7/OSC1/CLKI/T1OSI
110 = RCIO oscillator: I/O function on RA6/OSC2/CLKO/T1OSO pin, RC on RA7/OSC1/CLKI/T1OSI
101 = INTOSC oscillator: CLKO function on RA6/OSC2/CLKO/T1OSO pin, I/O function on RA7/OSC1/CLKI/T1OSI
100 = INTOSCIO oscillator: I/O function on RA6/OSC2/CLKO/T1OSO pin, I/O function on RA7/OSC1/CLKI/T1OSI
011 = EC: I/O function on RA6/OSC2/CLKO/T1OSO pin, CLKI on RA7/OSC1/CLKI/T1OSI
010 = HS oscillator: High-speed crystal/resonator on RA6/OSC2/CLKO/T1OSO and RA7/OSC1/CLKI/T1OSI
001 = XT oscillator: Crystal/resonator on RA6/OSC2/CLKO/T1OSO and RA7/OSC1/CLKI/T1OSI
000 = LP oscillator: Low-power crystal on RA6/OSC2/CLKO/T1OSO and RA7/OSC1/CLKI/T1OSI


不對吧,由圖中可看出Fosc=000或x00都可使能enable外部的crystal且用Fosc=000會使系統clock也跑在32.768k,但若設Fosc=100系統時脈可以設定為INTOSC可以跑得更快

1月09日 15:17:18
轉換PDF檔 列印


Re: pic16f946使用crystal 32768做real time用之問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15045
等級: 73; EXP: 89
HP : 1093 / 1822
MP : 5015 / 85626
離線
PIC16F946 算是舊元件了,現今是由 PIC16F1946 來取代,1946 具又更豐富的周邊,LCD 驅動也比較容易使用且功能更多。

如果 Fosc 是選用了 0b100 的 Internal RC oscillator 的話,那就會啟用內部的 RC 震盪器,誤差約2% 可以用的頻率從 31KHz, 125KHz, 250Khz ... 31KHz, 125KHz,250Khz ... 到 8MHz。這些頻率都可以熱切換使用,沒事要處理且要耗電低時切換到 31KHz。要高運算時直切切換到 8MHz 來操作,這種頻率的切換不會導致系統停止工作或當機。

1月09日 16:05:12
轉換PDF檔 列印


Re: pic16f946使用crystal 32768做real time用之問題
資深會員
註冊日期:
2004/06/10 11:45
所屬群組:
註冊會員
文章: 224
等級: 13; EXP: 96
HP : 0 / 324
MP : 74 / 15142
離線
引用:

Ryang 寫道:
PIC16F946 算是舊元件了,現今是由 PIC16F1946 來取代,1946 具又更豐富的周邊,LCD 驅動也比較容易使用且功能更多。

如果 Fosc 是選用了 0b100 的 Internal RC oscillator 的話,那就會啟用內部的 RC 震盪器,誤差約2% 可以用的頻率從 31KHz, 125KHz, 250Khz ... 31KHz, 125KHz,250Khz ... 到 8MHz。這些頻率都可以熱切換使用,沒事要處理且要耗電低時切換到 31KHz。要高運算時直切切換到 8MHz 來操作,這種頻率的切換不會導致系統停止工作或當機。


目前系統時脈室內震4MHz,因為對時間要求精準所以才外接32768 crystal接到Timer1來做時間計算

1月09日 16:44:45
轉換PDF檔 列印


Re: pic16f946使用crystal 32768做real time用之問題
資深會員
註冊日期:
2004/06/10 11:45
所屬群組:
註冊會員
文章: 224
等級: 13; EXP: 96
HP : 0 / 324
MP : 74 / 15142
離線
引用:

Ryang 寫道:
請參考貼圖,這跟使用的 Crystal 廠牌有關,大約在 12pF 左右。


你好,問題已經解決,將電容換成10pF即可

1月10日 08:29:18
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project