Jump to content
ELFORUM - Forumul electronistilor
Craciun

stimuli pe intrari AN in MPLAB

Recommended Posts

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines