Re: 請問PIC16F946的系統時脈震盪器接腳跟Timer1的外部時脈接腳都設在同一組接腳,那這組接腳如果用作系統時脈,PIC16F946還有辦法可以實現即時時鐘(用作時間顯示)的功能嗎?
|
||||
---|---|---|---|---|
初級會員
|
感謝Ryang板主提供的資料跟說明
趕快來去寫程式,有不明白的地方再來跟大家請教 謝謝大家的回覆
發表於: 2009/10/22 10:35
|
|||
|
Re: 請問PIC16F946的系統時脈震盪器接腳跟Timer1的外部時脈接腳都設在同一組接腳,那這組接腳如果用作系統時脈,PIC16F946還有辦法可以實現即時時鐘(用作時間顯示)的功能嗎?
|
||||
---|---|---|---|---|
版主
|
Mechatronics User'd Guide :
http://www.microchip.com/stellent/idc ... me=en023837&part=DM163029 C & ASM 範例程式如附件: Attach file: Link only for registered users Link only for registered users
發表於: 2009/10/22 9:25
|
|||
|
Re: 請問PIC16F946的系統時脈震盪器接腳跟Timer1的外部時脈接腳都設在同一組接腳,那這組接腳如果用作系統時脈,PIC16F946還有辦法可以實現即時時鐘(用作時間顯示)的功能嗎?
|
||||
---|---|---|---|---|
初級會員
|
哇 感謝Ryang板主跟Eigen先進的精采答覆
現在處理時間就可以更準確了 Ryang板主可以將 C & ASM 的範例都mail給我參考嗎? 因為 C 很久沒寫了,該忘的都忘了 現在都用 Assembly 在寫, 但是公司方面有考慮將來要用 C 來寫,C 的開發速度比較快, 所以請Ryang板主 C & ASM 的範例都mail給我吧 還有請問一下 Mechtronics EVM Board 的價格是多少? 如果在2009嵌入式設計論壇中購買有打折嗎? 也準備要報名參加設計論壇了,來去吸收一些知識 還有PIC16F946 Pin39 -> T1OSI Pin40 -> T1OSO Pin60 -> T1CKI 32.768KHz 的 crystal 接到 T1OSI & T1OSO 那 Pin60 -> T1CKI 這隻腳可以忽略當成一般 I/O 嗎? 以上再請板主跟各位先進指點一下,謝謝 還有板主,我的mail是 riye@riye.com.tw 再請Ryang板主mail C & ASM 的範例給我參考一下,謝謝
發表於: 2009/10/21 18:59
|
|||
|
Re: 請問PIC16F946的系統時脈震盪器接腳跟Timer1的外部時脈接腳都設在同一組接腳,那這組接腳如果用作系統時脈,PIC16F946還有辦法可以實現即時時鐘(用作時間顯示)的功能嗎?
|
||||
---|---|---|---|---|
版主
|
參照:
Eigen 提供的好方法加以說明一下: 因為 Timer 數完 16384 後會中斷一次,在此時間內Timer1 還是會繼續數的,如果中斷發生後會經會一小斷的延遲及處理時間後才會對 Timer1 的值重新 Reload,此時 Timer1 也許又算幾次了 ( 假設跑了 0x0002 的話) 這樣就會差了幾個 0.183mS 了,這樣累計誤差後時間就會變慢了。 再中斷裡直接設定 Timer1 的 Bit6 & 7 直接就變成 0xC0nn 的值了,nn 代表Timer1 繼續跑的值再加上 MSB 設成 11 (ox0C) 所以就沒有Timer1 的計時誤差了。 感謝 Eigen 的協助。
發表於: 2009/10/21 17:52
|
|||
|
Re: 請問PIC16F946的系統時脈震盪器接腳跟Timer1的外部時脈接腳都設在同一組接腳,那這組接腳如果用作系統時脈,PIC16F946還有辦法可以實現即時時鐘(用作時間顯示)的功能嗎?
|
||||
---|---|---|---|---|
資深會員
|
時間這樣算會算錯
如果是中斷處理,或是在主程序(要確保0.5sec 一定要能回來處理一次) 那就是 BSF TMR1H,.7 BSF TMR1H,.6 固定0.5SEC 會TIME OUT 一次
發表於: 2009/10/21 16:44
|
|||
|
Re: 請問PIC16F946的系統時脈震盪器接腳跟Timer1的外部時脈接腳都設在同一組接腳,那這組接腳如果用作系統時脈,PIC16F946還有辦法可以實現即時時鐘(用作時間顯示)的功能嗎?
|
||||
---|---|---|---|---|
版主
|
1. T1CON暫存器是不是設為00001110就可以了
ANS: T1CON = 0b00001111 T1KPS<1:0> = 00, Prescaler 1:1 T1OSCEN = 1, Enable Timer1 external Osc T1SYNC = 1, Do not Sync with internal OSC TMR1CS = 1, Select External clock fir the source TMR1ON = 1, Timer1 On 2. Timer1預除器設為 1:1(00),是不是計時的時間就沒有被延長?1:2(01),是不是計時的時間就被延長2倍 ANS: 是的,以 32768Hz 的 Crystal,用 1:1 即可,Timer1 值用 : movlw (65536-16384)/256 ; 取MSB movwf TMR1H movlw (65536-16384)%256 ; 取 LSB ( 餘數) movwf TMR1L 這樣就可以每 0.5 秒產生中斷一次。 3. PIC16F946的T1CKI跟T1OSI是不同接腳,照問題 1. 的設定,T1CKI這支接腳有什麼要注意的地方嗎? ANS: T1CKI 跟 T1OSI是不同接腳,這兩腳接 32768Hz 的 crystal 後再接兩個 22pF 電容下地。
發表於: 2009/10/21 15:45
|
|||
|
Re: 請問PIC16F946的系統時脈震盪器接腳跟Timer1的外部時脈接腳都設在同一組接腳,那這組接腳如果用作系統時脈,PIC16F946還有辦法可以實現即時時鐘(用作時間顯示)的功能嗎?
|
||||
---|---|---|---|---|
版主
|
用 Hi-Tech PICC 還是用 Assembly 寫,我這裡有C & ASM 用 PIC16F947 驅動 Segmented LCD 的範例,實驗版使用 Microchip 的 Mechtronics EVM Board.
發表於: 2009/10/21 15:30
|
|||
|
Re: 請問PIC16F946的系統時脈震盪器接腳跟Timer1的外部時脈接腳都設在同一組接腳,那這組接腳如果用作系統時脈,PIC16F946還有辦法可以實現即時時鐘(用作時間顯示)的功能嗎?
|
||||
---|---|---|---|---|
初級會員
|
謝謝Ryang板主的回覆
選擇PIC16F946是因為要驅動LCD面板跟一些LED、Relay 還要接收一些週邊的信號(按鈕、AD、脈波計數等), LCD的規格為 HTN/NEGATIVE 1/4 DUTY 1/3 BIAS 有用到4個COM點,14個SEG點, 全部功能使用到的接腳接近40Pin, 所以選用PIC16F946, 目前規劃 I/O 大概會用掉 18 pin , 驅動LCD部份會用掉 18 pin , timer 預計會用到 2 ~ 3 組(有做時鐘功能會用掉 1 組 timer), PWM 1 組, A/D 1 組, 會用到 INT0 、RB change等中斷, 單晶片會進入省電模式, 會用到 EEPROM 儲存資料, 未來會用到 類似 RS232 功能跟 PC 端做連線讀取資料。 LCD上會顯示時間,跟一些自訂圖示,所以需要即時時鐘功能 當初不知道有內建震盪功能,所以規劃腳位的時候嚇了一跳, 看到系統時脈震盪器接腳跟Timer1的外部時脈接腳都設在同一組接腳,還好是虛驚一場 請教一些問題 如果系統時脈使用內部震盪器, Timer1使用外部32.768KHz震盪器, 1. T1CON暫存器是不是設為00001110就可以了 2. Timer1預除器設為 1:1(00),是不是計時的時間就沒有被延長?1:2(01),是不是計時的時間就被延長2倍 3. PIC16F946的T1CKI跟T1OSI是不同接腳,照問題 1. 的設定,T1CKI這支接腳有什麼要注意的地方嗎? 以上問題還請板主跟各位先進指點一下,謝謝
發表於: 2009/10/21 14:02
|
|||
|
Re: 請問PIC16F946的系統時脈震盪器接腳跟Timer1的外部時脈接腳都設在同一組接腳,那這組接腳如果用作系統時脈,PIC16F946還有辦法可以實現即時時鐘(用作時間顯示)的功能嗎?
|
||||
---|---|---|---|---|
版主
|
PIC16F1936 & 16F1937 已經量產了,本次 EDF 2009 的論壇所販售的 APP-EDF009 的板子就有使用。
你是不是要 Segment LCD? PIC16F946 的 Timer 1 的震盪頻率無法送給 MCU 當主振盪器來用,所以你還要有一個主振盪器: 可以使用外部Crystal 或內建的RC震盪器,內建頻率從 31KHz, 125KHz ~ 1MHz, 4MHz, 8MHz 有八種頻率可隨時切換。
發表於: 2009/10/21 10:18
|
|||
|