PDA

View Full Version : pin B5, ADC problem


littlephoc
17-07-2007, 03:26 PM
mạch PIC18F2620 dùng nguồn pin Vdd=3Volt
Mình viết đoạn code như sau, dùng C18:

TRISB=0xDF; //pin B5 output
PORTBbits.RB5=1;
while(1);
ấy vậy mà khi đo bằng volt kế điện tử, PIN B5 có áp bằng 0, ngược lại đo pin B4 thì áp là khoảng 2Volt. Vậy mình sai chỗ nào?
B5 mình muốn nó trở thành 1 chân cấp nguồn cho photo sensor. cụ thể là từ pin B5, đi qua điện trở 1K ohm và đến photo sensor(PDV-P90001) rồi nối đất.
Điện áp tại điểm nối giữa sensor và điện trở 1K được nối đến PIN B3 để đo bằng A/D converter.



- với Pic18F2620, khi thiết lập setup ADC, thì
ADC_FOSC và ADC_TAD, thiết lập giá trị thế nào, với dao động thạch anh ngoài là 8Mhz?
- Trong trường hợp này, ADCON1 được setup Vref như thế nào, vì nguồn nó không nối với Vdd.

namqn
17-07-2007, 08:07 PM
mạch PIC18F2620 dùng nguồn pin Vdd=3Volt
Mình viết đoạn code như sau, dùng C18:

TRISB=0xDF; //pin B5 output
PORTBbits.RB5=1;
while(1);
ấy vậy mà khi đo bằng volt kế điện tử, PIN B5 có áp bằng 0, ngược lại đo pin B4 thì áp là khoảng 2Volt. Vậy mình sai chỗ nào?
B5 mình muốn nó trở thành 1 chân cấp nguồn cho photo sensor. cụ thể là từ pin B5, đi qua điện trở 1K ohm và đến photo sensor(PDV-P90001) rồi nối đất.
Điện áp tại điểm nối giữa sensor và điện trở 1K được nối đến PIN B3 để đo bằng A/D converter.

- với Pic18F2620, khi thiết lập setup ADC, thì
ADC_FOSC và ADC_TAD, thiết lập giá trị thế nào, với dao động thạch anh ngoài là 8Mhz?
- Trong trường hợp này, ADCON1 được setup Vref như thế nào, vì nguồn nó không nối với Vdd.
Có lẽ có vấn đề ở chỗ dùng lệnh PORTBbits.RB5=1;. Thử dùng lệnh LATBbits.LATB5 = 1; xem.

Vấn đề thiết lập cho ADC module thì có lẽ bạn xem datasheet, đặt các thanh ghi ADCONx cho thích hợp. Nếu không biết đặt các thanh ghi đó ra sao thì bạn cho biết yêu cầu với toàn bộ module ADC.

edit:
Bạn này đã khắc phục được vấn đề với chân B5.

Thân,