18fxx31週期算法?
|
||||
---|---|---|---|---|
高級會員
|
請問各位前輩:
1.關於18FXX31的datasheet裡pwm週期的算法,PTMRPS代表 的是什麼? 2.解析度的算法,我算的結果為什麼都和書上差2Bit的解析度 log( ((10x10^6)/4)/2.4x10^3)/log(2)=10bit 而書上卻是12bit 謝謝解答
發表於: 2005/8/16 17:28
|
|||
|
Re: 關於PIC16F877的AD中斷...
|
||||
---|---|---|---|---|
版主
|
有可能 AD 轉換的時間太快了,你的系統才跑500kHz,當你設定 GO bit 啟動AD 轉換後,程式還沒跑到RETFIE 下一個AD 中斷就再等你處理了。
建議將 BSF ADCON0,GO 擺在RETFIE 前面看看,或程式改用Polling的方式也可以。
發表於: 2005/8/16 17:22
|
|||
|
Re: PIC12F675 比較器的使用
|
||||
---|---|---|---|---|
版主
|
Watch-Dog Timer 關掉了沒?
發表於: 2005/8/16 17:14
|
|||
|
Re: PIC12F675 比較器的使用
|
||||
---|---|---|---|---|
新會員
|
補充一下我遇到的問題:
我目前是打算想用PIC12F675內部的比較器來實現一個PWM ,比較器的輸入為一60Hz的sin wave,另一輸入為一23.67KHz的三角波。在電源啟動的時候,在示波器上可以看到方波的輸出,但約過幾秒後,訊號消失,但等待一會後,波形又出現,然後開始週而復始。
發表於: 2005/8/16 16:56
|
|||
|
Re: 關於PIC16F877的AD中斷...
|
||||
---|---|---|---|---|
新會員
|
可能是程式碼看起來有點麻煩,
所以比較少人回覆... 其實我的問題很簡單... 就是為什麼 BSF ADCON0,GO 這個動作在AD中斷裡面做時, 系統就會像是當機般的...不動了...? 麻煩各位高手了~ (現在我正在寫的程式都只好把 BSF ADCON0,GO 放到 MAIN_PROC 去了...這樣才可以正常執行)
發表於: 2005/8/16 16:48
|
|||
|
Re: Compiler error message!!!
|
||||
---|---|---|---|---|
版主
|
1. 有可能是變數位址重複定義。
2. c018i.o 與 clib.o 找不到是因為沒有告訴她資料庫的位置,在 MPLAB IDE -->Project --> Build Options --> project 下設定 Libraries path 就好了。 3. 過期了會告訴你,但你可以安裝學生版就沒有過期的問題 (MPLAB C18 Student Edition)
發表於: 2005/8/16 15:50
|
|||
|
PIC12F675 比較器的使用
|
||||
---|---|---|---|---|
新會員
|
如果要把它單純當作一比較器的使用,而不使用其中斷,是不是作好下面的設定即可:
clrf GPIO ;Init GPIO=00h movlw 09h ;Set GP<2:0> to movwf CMCON ;Analog inputs,Digital output bsf STATUS,RP0 ;Bank 1 movlw 1Bh ;Set GP<5,3:2> as outputs movwf TRISIO ; GP<4,1:0> as inputs movlw 3Bh ;Set AN<3> as analog movwf ANSEL ; AN <2:0> as digital bcf STATUS,RP0 ;Bank 0 目前在使用上的問題是可正常工作,但約過10多秒後, 比較器便開始無法正常工作,輸出皆為零。
發表於: 2005/8/16 15:45
|
|||
|
Re: PIC的開發工具應該要選哪一種呢?
|
||||
---|---|---|---|---|
版主
|
跟著 Microchip 的設計潮流,我還是會建議買 MPLAB ICD2 , 使用簡單、單價便宜、Source Code 除錯能力加程式燒錄,各家代理商都有、Microchip 保固。
發表於: 2005/8/16 15:39
|
|||
|
Re: 請問18f452(4515)的高、低中斷優先程式可以有幾個?
|
||||
---|---|---|---|---|
版主
|
基本上 0x0008 的位置只能讓你擺一個中斷向量轉移的指令,儘量不要不其它的敘述在裡面,還有使用 goto 指令時要很小心,以你的例子很容易就會跳到一個函數裡造成return回返的堆疊錯誤。
你可以改成底下的方式,參考看看。
#pragma code interrupt_vector_section=0x0008
發表於: 2005/8/16 15:31
|
|||
|