View Single Post
Old 24-04-2008, 07:32 PM   #1
nhong
Đệ tử 1 túi
 
Tham gia ngày: Jan 2008
Bài gửi: 15
:
hỏi về thiết kế phần cứng_bài tập dùng adc

em làm 1 ví dụ nhỏ để xem chức năng adc của PIC, mạch chạy trên Proteus ngon lành nhưng khi lắp ra ngoài thì gặp 1 số vấn đề.

Mạch thật của em gồm 1 mạch chạy của PIC riêng, 1 nguồn dùng để đưa ra điện áp tham chiếu và điện áp cần đo ra(1 cái chia thế thôi)

ko hiểu sao lắp ra ngoài thì PIC luôn chỉ hiển thị giá trị 255 (thực ra là 25 thôi vì e dùng có 2 led 7segs)là sao? khi động tay hay đưa điện áp cần đo vào chân ra3 thì nó nhấp nháy giữa 2 giá trị 25 và 00?????

thứ 2 là khi dùng chế độ Vref ở chân r3(vref+), nối ra3 vào dương nguồn tham chiếu thì có phải nối ra2(vref-) vào đất của nguồn tham chiếu ko và GND của nguồn tham chiếu, GND của PIC, GND của tín hiệu để đo có phải nối chung với nhau ko vì em thấy khi chỉ nối dương nguồn tham chiếu vào ra3 xong và GND của nó nối chung với GND của PIC thì led sáng luôn mặc dù chưa bật công tắc nối VDD của PIC vào nguồn PIC

Code:
#include <16f877a.h>
#include <def_877a.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#device adc=8
#include <math.h>
#use delay(clock=4000000)
int8 hundredstens,value,hundreds,tens,units,const a[10]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b};

void display(int x,int y){
   trisb=11111001;portb=0;
   trisc=0x00;portc=0;
   //rb1 controls led tens
   //rb2 controls led units

   portc=a[x];
   rb1=1;delay_ms(10);
   rb1=0;
   portc=a[y];
   rb2=1;delay_ms(10);
   rb2=0;

}

void main(){
     //thiet lap che do cho ports
     trisa=0xff;
     trisb=11111001;portb=0;
     trisc=0x00;portc=0;

     //adc intiate
     setup_adc(adc_clock_internal);
     setup_adc_ports(ANALOG_RA3_REF);
     delay_us(20);

     //bat dau doc dien ap o ngo vao adc
     while (1){  //lap vo tan
         value=read_adc();
         hundredstens=(int)value/10;
         hundreds=(int)hundredstens/10;
         tens=(int)hundredstens%10;
         display(hundreds,tens);

     }
}
Hình Kèm Theo
File Type: jpg interrupts.JPG (58.3 KB, 30 lần tải)
nhong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn