PIC16F877 interni ADC

S

S_51

Guest
Ja sam odlučio na korištenje PIC16F877 LC Pretvaranje 4-20mA analogni signal.JA je otišao preko priručnika i došao preko ADCON 1 registrirate.Otkrio sam da ima dva dijela, jednog bita ADFM i 4-bitni PCFG3: PCFG0.Došlo je do stola koji sam imao je na korištenje kako bi utvrdili što se postaviti PCFG3: PCFG0 to.JA je došao gore sa dva rješenja: "0101" ili "1110".U oba slučaja, Vref-vss ali je Vref je RA3 i Vdd respektivno.Mogao bilo tko prolio svjetlo na neke koje bih trebao koristiti i zašto?Osim toga, mi treba ove podatke koji će biti prikazani na LCD (svaki 5S ili tako), te u isto vrijeme biti na raspolaganju GPRS modem sa SIM kartice.Bilo koji ideja?Na kraju, ako imate bilo koji oblik koda ili shematski dijagram kako sam trebao ići čineći taj zadatak, javite mi ...Hvala

 
Ovdje je jednostavan program s ADC melabs u picbasic Pro.To je pomoću 877 i prikazujući ga na LCD.

'Pro PicBasic program za čitanje lonce na 16F877 ADC

'Define LOADER_USED dopustiti korištenje boot loader.
'To neće utjecati na normalan rad programa.
Definirajte LOADER_USED 1

'Define LCD igle
Definirajte LCD_DREG PORTD
Definirajte LCD_DBIT 4
Definirajte LCD_RSREG PORTE
Definirajte LCD_RSBIT 0
Definirajte LCD_EREG PORTE
Definirajte LCD_EBIT 1

'Dodijeliti varijabli
x var byte
y var byte
z var byte

ADCON1 = 4 "Postavi Porta 0, 1, 3 do analogni ulazi

Niska PORTE.2 'LCD-R / W crta niske (Ž)
Pauziraj 100 'Pričekajte LCD za početak

Goto mainloop 'Preskoči subroutines'Potprogram za čitanje A / D pretvarač
getad:
Pauseus 50 'Pričekajte kanal za postavljanje

ADCON0.2 = 1 'Start pretvorbe
Pauseus 50 'Pričekajte pretvorbu

Povratak

'Subrutina dobiti pot x vrijednost
getx:
ADCON0 = $ 41 'Set A / D do Fosc / 8, Kanal 0, U
Gosub getad
x = ADRESH
Povratak

'Subrutina dobiti pot vrijednost y
gety:
ADCON0 = $ 49 'Set A / D do Fosc / 8, Kanal 1, U
Gosub getad
y = ADRESH
Povratak

'Subrutina dobiti lonac z vrijednosti
getz:
ADCON0 = $ 59 'Set A / D do Fosc / 8, Kanal 3, Na
Gosub getad
z = ADRESH
Povratakmainloop:
Gosub getx "Dohvat vrijednosti x
Gosub gety "Dohvat vrijednosti y
Gosub getz 'Get z vrijednosti

Lcdout $ Fe, 1, "x =", $ x "y =", $ y "z =" # z 'Pošalji vrijednosti LCD
Pauziraj 100 'Učinite to je oko 10 puta drugi

Goto mainloop 'Do it forever

Kraj

Nadam se da pomaže.

pozdravi

dfullmer

 
A / D ref napona koristi kao svoju punu ljestvica vrijednosti.
Ako se odlučite koristiti Vdd za Vref, onda točnost A / D rezultat ovisit će o stabilnosti i razine buke iz Micro's Vdd željeznicom.To je adaquate u većini slučajeva.
Za veći točni A / D rezultat,
možete izabrati da koristite Referentni naponski ulaz na RA3.Referentni napon može biti izrađen od stabilnog band gap dioda.Možete kupiti tih dizajnirana za tu svrhu.Na primjer, koristeći 4,096 napon ref s dvanaest bitni A / D pretvarač, rezultat je 1mV po zalogaj.

 
možete koristiti VDD kao VRef i VSS kao VRef-u 4-20mA petlja možete konvertirati 4mA-> 1V i 20mA -> 5v kao što se događa možete koristiti cijeli VDD dometu.

 
Pa sam odlučio koristiti 250Ω lonac kako bi se razlikovati napona od 1V do 5v koji odgovara 4mA - 20mA.Trebam li koristiti interne osc za PIC ili bi trebao koristiti neki vanjski jedan?Pročitao sam da je somwhere vanjske osc je točniji od jedne unutarnje naći u PIC.Isto tako, ja sam koristeći skupština jezik pa ako netko ima kod ASM dijeliti ću stvarno appriciate ga.
Bilo koji ideja na GPRS dio?

PS dfullmer Hvala na vašem vremenu i trudu ...

 
Hi S_51,

ADC:
Obično uzimam VDD i VSS kao referentni napon.PIC je 10bit ADC, to znači unprecise mjerenja u trajanju od broja pretvorbe bitova.Dakle, mislim da precizna referenca napona, sa 10bit ADC nema puno smisla.Interni / eksterni osilator:
Interni osilator je uzdržavani temperatura, tako da u projektu, gdje ne trebate točne vrijeme mjerenja, interni osc.je sasvim OK.Ako koristite eksterni osilator s XTAL (s 10ppm ili slično) vaš sat na PIC će biti vrlo isti raspon radnih temperatura iznad.

GPRS:
To ovisi o GPRS modem koji koristite.U većini slučajeva danas, GPRS modemi su sposobni da TCP / IP veza, tako da su "crne kutije" sa serijskim portom.

MCU --- --- Max232 GPRS modem - - - - - - - GPRS modem --- Drugi uređaj koji očekuju analogna mjerenja.

U tom slučaju ti samo trebate uputiti poruku (analogni vrijednost vaše pretvoriti u ASCII caracters) i pošaljite ga putem seria port GPRS modema.Srdačan pozdrav,

Mr.Cube

 
Prije nekog vremena sam napisao mali program za pomoć pri pisanju asemblerski kod, pošta ovdje.

www.elektroda.pl/eboard/viewtopic.php?p=205856

Dajte joj probati.

 
Hello there.

Za pomoć mene učiti Picbasic sam koristio datoteke koje su bile objavljene u Lab-x1 devopment odbora.Umjesto da kupujete pansion sam ga sagradili u Proteus i zatim simuliran programa / hardver.Uključene u nastavku datoteke su primjer iz drugog posta.

BAS / heksadecimalna datoteke
http://rapidshare.com/files/210080020/msm_Picbasic_lab-x1.rar

Proteus shematski
http://rapidshare.com/files/210079846/msm_lab-x1.rar

Ja ću biti dodajući kartoteka i ažirirajući shematski za temperaturu / RTC operacije tijekom sljedećih nekoliko dana.

Nadam se te datoteke su korisne.

 

Welcome to EDABoard.com

Sponsor

Back
Top