Sari la conținut
ELFORUM - Forumul electronistilor

stimuli pe intrari AN in MPLAB


Craciun

Postări Recomandate

Se pot aplica stimuli Hi,Lo,etc pe pinii configurati ca AN pentru PIC16F877 ? Daca ii configurez ca digital I/O pot face stimuli pe pinii respectivi dar cand ii setez ca intrari analogice nu mai functioneaza!

Link spre comentariu
  • Răspunsuri 6
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Craciun

    3

  • cirip

    2

  • MirceaM

    2

Top autori în acest subiect

Din cate stiu eu, nu.Ca sa simulez A/D-ul, eu pun un break la instr de citire a A/Dului si o inlocuiesc cu un movlw sau movf bla_bla, w, unde bla_bla o pot modifica in timpul simularii, ca s-ai dau diverse valori. Apoi, cand ard cipanul, inlocuiesc cu movf ADRESL(H), w (si ma scarpin in cap de ce nu merge :) )Cirip

Link spre comentariu

Cu PIC Simulator IDE, http://www.oshonsoft.com, se poate face ceva.

In timpul executiei programului se da click cu mouse-ul pe intrarea respectiva (in fereastra Microcontroller view) si se alege (usor, cu un fel de slider) un numar intre 0 si 1023, daca se lucreaza pe 10 biti. Programul care ruleaza in PIC (simulat) va citi exact valoarea setata.

De exemplu, daca este vorba de o aplicatie care vrea sa afiseze pe un LCD tensiunea bateriei unei masini (automobil) atunci valoarea citita cu o functie de genul

 

U16

adc_read( U08 TheChannel )

{

ADCON0 = (TheChannel << 3) + 0xC1; // enable ADC, RC osc.

ADGO = 1; while( ADGO==1 ) ; // wait for conversion complete

return (U16) ( (ADRESH<<0x08) | ADRESL ) ;

}

 

dupa o transformare liniara

 

Val_DOU = (0.029326) * ( (DOU)(adc_read(0)) ) + (0.00000) ;

 

se va situa in range-ul 0V...30.0V, corespunzator valorilor 0...1023 citite de catre functie. Modificand cu mouse-ul cum am spus se poate obtine concluzia ca respectiva conversie analog-> digital functioneaza corect.

Link spre comentariu

Da am facut experimentul cu PIC Simulator IDE, ar fi super daca compilatorul de Basic ar fi mai versatil (de ex copiezi extrem de greu cod dintr-un fisier in altul si nici nu ofera debugging la rularea codului ci numai erori la compilare)

Link spre comentariu

Asa este, Basic-ul din PIC Simulator IDE este slab. Un pacat este acela ca nu stie nimic despre virgula flotanta. Chiar daca orice programmer, in orice situatie, ar trebui sa se desurce cu intregi... totusi ne mai trebuie si virgula flotanta. Eu nu folosesc acest Basic. In ultima vreme am lucrat in C, cu HT-PIC. Cu simulatorul doar incarc fisierul intel hex si... simulez.

Link spre comentariu

Asa am facut si eu .Am folosit mikroPascal si am icarcat hex-ul in simulator si functioneaza. Din pacate exista limitare la asamblorul mikroPascal la 2k words(oricum suficient pentru multe lucruri simple).

Link spre comentariu

Am mai aflat de curand (in caz ca mai prezinta interes), ca in MPLAB se poate folosi "Register Stimulus" in care se poate ca un registru (de ex o variabila care reprezinta o marime analogica) sa fie incarcat cu o valoare ori de cate ori PC-ul ajunge la o anumita adresa.Cirip

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări