• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (ventrox)




Re: 可變電阻 接 AN0 (PIC18F4480) 問題
#21
初級會員
初級會員


參照:

Ryang 寫到:
RA0 也是 CVref 內部參考電壓輸出,確定一下 CVRCON 暫存器的 Bit<7:6> 是否有大開 Vref Module ?


這樣的方法我已經試過了
可是效果還是一樣
這個腳本身還是有個 2V 的電壓

還是我有漏掉什麼?
謝謝

發表於: 2008/1/9 18:02
頂部


Re: 可變電阻 接 AN0 (PIC18F4480) 問題
#22
初級會員
初級會員


參照:

Ryang 寫到:
感覺起來的現象應該是你將 AN0 / RA0 的TRISA設為輸出模式了呢?即使ADC未強制關閉 PORT的功能電先決條件就是相對應的 PORT 位元一定要為輸入功能。所以請檢查一下 RA0 的設定。


我已經在我的 main 程式的地方
在一開始的那邊加了
PORTA = 0x00;
TRISA = 1;

這樣應該就是把她清楚掉
然後讓她是輸入
可是還是一樣
這隻腳自己本身好像還是有個 2V 的電壓

有沒有其他的什麼建議?
謝謝各位

發表於: 2008/1/5 13:20
頂部


Re: 可變電阻 接 AN0 (PIC18F4480) 問題
#23
初級會員
初級會員


參照:

jubel 寫到:
第一個應該是負載效應
正確的接法是要接電壓隨偶器
就是你第二個的接法

不知道你是用單電源還是雙電源?
運算放大器最好使用雙電源 (正,0,負)
不然在0電位時會出問題,會輸出最大電壓
(你的雜訊可能就是這個,電壓低到某一點時會震盪輸出)
還有一點,LM324這一顆的輸出最大電壓是Vcc-1.5V
所以他的電源電壓最好比你要的最大電壓高一點


我已經試過這樣的方法了
而我確定不是 OP 的問題
如果我沒有把 PIC 得 AN0 腳接上去
我的訊號是很乾淨的
不管我是不是給她雙電源 還是 單電源 都是一樣的結果

發表於: 2008/1/5 13:19
頂部


可變電阻 接 AN0 (PIC18F4480) 問題
#24
初級會員
初級會員


大家好
我想請問一下各位
我現在有個可變電阻,接到 PIC18F4480 的 AN0 腳當作 ADC 的 input 腳。我後來發現,在接上這隻腳的時候,可變電阻量出來的電壓會因為這隻腳的關係而被提高。自己去量 AN0 這隻腳的電壓,大概在 2V

另外,我發現有只要可變電阻的電壓大於 2.5V 時就比較不會受到 AN0 腳的影響。

所以我用了一個 OP (ST LM324) 把可變電阻的電壓值接在 OP 的 non-inverting input (+),把 inverting input (-) 腳位和 Output 腳接在一起,在接到 AN0 腳位,這樣的話,訊號會在一個範圍中跳來跳去,感覺有點像是高頻的雜訊 (不確定) --> 這現象不是一直都看的到,只有在某個範圍內比較明顯,有些就看起來很正常

不知道有沒有人遇到類似這樣的問題
不管是第一個 (準為跑掉的)
或是接一個 OP 會造成有雜訊

還有,有沒有辦法解決這樣的問題?
謝謝

發表於: 2008/1/3 15:46
頂部


關於石英震盪器的問題
#25
初級會員
初級會員


各位
再次麻煩大家一下

我現在用的是 EVM APP001 Rev. 2
用的是 PIC18F4480 的晶片

我現在用 TIMER2
想要讓他中斷,每中斷一次,我其中一隻腳會反向 (1-->0 或 0-->1)
我已經設好 PR2 的值
不過,如果我想要讓他每一次 clock 的時間(PR2=1),讓他反向,他時間就不對,都會停在 10uS 左右,不管我讓他多短。現在用的石英震盪器是 16Mhz,他應該還會經過 Fosc/4 所以應該是 4 Mhz,可是理論上一個 clock 時間是0.25uS。我不知道是不是有什麼硬體上面的限制嗎? 還是為什麼沒有辦法讓他比 10uS 還要小

以下是我的程式碼

#pragma config BOREN=OFF, BORV = 2, PWRT=ON, WDT=OFF, LVP=OFF
#pragma config OSC = HS


//宣告函式原型
void Init_TMR2(void);
void timer2_isr (void);

//宣告並安排中斷執行程式記憶體位置
#pragma code low_vector=0x18
void low_interrupt (void)
{
_asm GOTO timer2_isr _endasm
}
#pragma code

#pragma interruptlow timer2_isr

int i;

void timer2_isr (void)
{
PIR1bits.TMR2IF = 0;
PORTD=PORTD^0xff;
PORTC=PORTC^0xff;

}

void main (void) {


PORTD = 0x00;
TRISD = 0;
PORTC = 0x00;
TRISC = 0;
PR2 = 40;
Init_TMR2();

INTCONbits.PEIE = 1; // 開啟周邊中斷功能
INTCONbits.GIE = 1; // 開啟全域中斷控制

while (1);
}

void Init_TMR2 (void){


OpenTimer2(T2_POST_1_1 & T2_PS_1_1);


PIE1bits.TMR2IE=1;
PIR1bits.TMR2IF = 0; // 清除中斷旗標

}

有沒有什麼解決方法?
謝謝

發表於: 2007/12/23 18:39
頂部


Re: 關於使用 internal oscillator
#26
初級會員
初級會員


各位
我把我的 interrupt 改成用 TIMER2 設定

我現在感覺就是
我想要在每一個 interrupt 發生的時候, 某幾隻腳會HIGH LOW HIGH LOW

另外,我用 EVM:APP001 Rev.2 這個版子,理論上上面有個 16MHz 的石英震盪器,所以我想要讓他在每次 interrupt (1 clock) 就改變,可是我現在量出來的都大概是 9uS。

放上有我的 code
//**********************************************************
//* Ex9_1_TMR1_INT.c
//* 設計一個0.5秒讓 PORTD 的 LED 所顯示的二進位數字自動加一的程式
//**********************************************************
#include <p18f4480.h> //納入微控制器定義檔
#include <timers.h> //納入計時器函式庫定義檔

// 結構位元定義
#pragma config BOREN=OFF, BORV = 2, PWRT=ON, WDT=OFF, LVP=OFF
#pragma config OSC = HS




#define TMR2_VAL 256-10//65536-16384 // Timer1 設定為 500ms 中斷一次

//宣告函式原型
void Init_TMR2(void);
void timer2_isr (void);

//宣告並安排中斷執行程式記憶體位置
#pragma code low_vector=0x18
void low_interrupt (void)
{
_asm GOTO timer2_isr _endasm
}
#pragma code

#pragma interruptlow timer2_isr

int i;

void timer2_isr (void)
{
PIR1bits.TMR2IF = 0; // 清除中斷旗標
WriteTimer2(TMR2_VAL); // 當將計數器觸發次數歸零寫入預設值0
PORTD=PORTD^0xff; PORTC=PORTC^0xff;

}

void main (void) {


PORTD = 0x00; TRISD = 0; PORTC = 0x00;
TRISC = 0;
i = 0;


Init_TMR2(); // 初始化設定Timer1函式

INTCONbits.PEIE = 1; // 開啟周邊中斷功能
INTCONbits.GIE = 1; // 開啟全域中斷控制

while (1); // 無窮迴圈
}

void Init_TMR2 (void){



OpenTimer2(T2_POST_1_1 &
T2_PS_1_1);
PR2=0xff;

PIE1bits.TMR2IE=1;
WriteTimer2(TMR2_VAL); // 寫入預設值
PIR1bits.TMR2IF = 0; // 清除中斷旗標

}

附上也有我的版子
不知道是不是要調什麼 jumper?

麻煩各位幫幫忙
謝謝

附件: http://img205.imageshack.us/img205/8773/img0284dm7.jpg

發表於: 2007/12/21 18:55
頂部


Re: 關於使用 internal oscillator
#27
初級會員
初級會員


參照:

由 Alecfox 貼於 2007/12/18 17:23:36

引言:

ventrox 寫到:
恩,我了解
我之前看就知道沒有辦法做到 20 mS
所以我想要用 interrupt 達到每 5uS 可以讓其中一個 IO 轉變
可是我目前只做得到 17uS
就是說,我想要做個PWM,duty cycle 是5uS 週期是 10uS
不知道是不是我設定哪裡錯
謝謝

這樣清楚我想要的嗎?




那 你的TIMER 有設定好嗎 ??
妳要設定時間 讓他固定時間中斷
可是你的程式裡面 那值是0 @@"
TIMER 架構在指令週期上 先確定指令週期的時間 然後再去更改TMR1L,TMR1H這兩個值 (TIMER1)
然後 多試幾次 就會得到你想要的

^^



請問,你說的那個值,我不太了解是哪一個值。指令週期的時間是用哪一個 Register 設定的?

參照:

Re: 關於使用 internal oscillator
還是建議使用Timer2來計時會比用 Timer1 好。
Timer2 的預除器設為 1:1,0.5uS Tcy (8MHz OSC) 就設 PR2 = 10 就可以得到 5uS 的中斷時間。
看起來要每 5uS 中斷一次,OSC 再拉高點會比較好。建議使用40MHz。


請問,關於這個,如何在把 Clock 往上提?
我會再另外用 Timer2 試試看
謝謝

發表於: 2007/12/19 17:26
頂部


Re: 關於使用 internal oscillator
#28
初級會員
初級會員


恩,我了解
我之前看就知道沒有辦法做到 20 mS
所以我想要用 interrupt 達到每 5uS 可以讓其中一個 IO 轉變
可是我目前只做得到 17uS
就是說,我想要做個PWM,duty cycle 是5uS 週期是 10uS
不知道是不是我設定哪裡錯
謝謝

這樣清楚我想要的嗎?


發表於: 2007/12/18 15:44
頂部


Re: 關於使用 internal oscillator
#29
初級會員
初級會員


我現在做到的是
他只能到達 17uS
我不了解是不是哪裡沒有設定好
我想 8Mhz 應該可以做到 0.5uS 沒有錯,只是,我就是無法做到
能不能麻煩各位一下
我對 PIC 是新手,不懂還要去作其他設定

再次謝謝


還有,我需要的 PWM 週期是 20 mS
PWM Module 做得到嗎?

發表於: 2007/12/18 14:45
頂部


Re: 關於使用 internal oscillator
#30
初級會員
初級會員


恩,謝謝回答

照理來講,如果用 internal oscillator, 可以調到 8Mhz, 不是就 5uS 並不難做到。還是我觀念錯了?

另外,我有用過 PWM Module, 不過因為我將來要調整他的週期, PWM Module 的週期無法拉到我希望的長度,所以考慮自己寫 PWM。
另外,利用 Timer2 和利用 Timer1 的差別是什麼?
謝謝

最後,那些 Configuration Bits, 我如何知道我的設定已經調整好到我想要的? 意思是說,internal oscillator 該調哪些?

再次謝謝

發表於: 2007/12/17 17:56
頂部



« 1 2 (3) 4 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------