Sari la conținut
ELFORUM - Forumul electronistilor

stimuli pe intrari AN in MPLAB


Craciun

Postări Recomandate

  • Răspunsuri 6
  • Creat
  • Ultimul Răspuns

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

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

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

Arhivat

Acest subiect este acum arhivat și este închis pentru alte răspunsuri.




×
×
  • 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