Vizitator gigi1968 Postat Februarie 6, 2011 Partajează Postat Februarie 6, 2011 Mai am o intrebare. Am facut un program ca sa aprind niste leduri in Flowcode dar daca utilizez WDT-ul nu il pot reseta din program si cand se reseteaza si imi reseteaza programul Link spre comentariu
Vizitator mytza93 Postat Februarie 26, 2011 Partajează Postat Februarie 26, 2011 In codu de mai jos am incercat sa il modific astfel incat sa fie o "lumina curgatoare" dar pentru orice program care il modific ledul conectat pe RB5 nu se aprinde si pace, orice program as incerca, dar tensiune primeste. Cu un singur program se aprinde ledu de pe RB5 anume cu pwm ufo chaser ( http://picprojects.org.uk/projects/roundchaser/ ). Mentionez ca readerul e identic cu schema de ufo chaser. Aveti vre-o idee de ce nu se aprinde ledu de pe rb5 ? Va multumesc list p=16F628a ;definire tip PIC #include <p16F628a.inc> ;include definiti ptr Port-uri,status,biti,etc errorlevel -302 ;nu mai ma atentioneaza sa fiu atent la Ram daca este in bank-ul respectiv __CONFIG _BODEN_ON&_PWRTE_ON&_INTRC_OSC_NOCLKOUT cblock 0x20 ;start of general purpose registers count1 ;used in delay routine counta ;used in delay routine countb ;used in delay routine endc org 0x0000 ;Adresa de start a microntrollerului ;org sets the origin, 0x0000 for the 16F628, ;this is where the program starts running movlw 0x01 movwf CMCON ;turn comparators off (make it like a 16F84) bsf STATUS, RP0 ;select bank 1 movlw b'00000000' ;set PortB all outputs movwf TRISB movwf TRISA ;set PortA all outputs bcf STATUS, RP0 ;select bank 0Loop ;movlw 0x1 ;movwf PORTB bsf PORTB, 0 ;nop ;the nop's make up the time taken by the goto ;nop ;giving a square wave output call Delay ;movlw 0x2 ;movwf PORTB bsf PORTB,1 ;nop ;the nop's make up the time taken by the goto ;nop ;giving a square wave output call Delay ;this waits for a while! ;movlw 0x4 ;movwf PORTB bsf PORTB,2 ;nop ;the nop's make up the time taken by the goto ;nop ;giving a square wave output call Delay ;movlw 0x8 ;movwf PORTB bsf PORTB,3 ;nop ;the nop's make up the time taken by the goto ;nop ;giving a square wave output call Delay ;this waits for a while! bsf PORTB,4 ;movlw 0x10 ;movwf PORTB ;nop ;the nop's make up the time taken by the goto ;nop ;giving a square wave output call Delay bsf PORTB,5 ;movlw 0x20 ;movwf PORTB ;nop ;the nop's make up the time taken by the goto ;nop ;giving a square wave output call Delay ;this waits for a while! bsf PORTB,6 ;movlw 0x40 ;movwf PORTB ;nop ;the nop's make up the time taken by the goto ;nop ;giving a square wave output call Delay bsf PORTB,7 ;movlw 0x80 ;movwf PORTB ;nop ;the nop's make up the time taken by the goto ;nop ;giving a square wave output call Delay bcf PORTB,0 bcf PORTB,1 bcf PORTB,2 bcf PORTB,3 bcf PORTB,4 bcf PORTB,5 bcf PORTB,6 bcf PORTB,7 call Delay goto Loop ;go back and do it againDelay movlw d'250' ;delay 250 ms (4 MHz clock) movwf count1d1 movlw 0xC7 movwf counta movlw 0x01 movwf countbDelay_0 decfsz counta, f goto $+2 decfsz countb, f goto Delay_0 decfsz count1 ,f goto d1 retlw 0x00 end Link spre comentariu
pegas Postat Februarie 27, 2011 Partajează Postat Februarie 27, 2011 pai daca tensiune primeste, cum sa nu se aprinda? adica ce tensiune ai si unde?codul initial vad ca era pentru un quartz de 4M, dar tu folosesti _INTRC_OSC. la ce frecventa merge?poate merge, dar e prea rapid si nu il vezi? sau toate se aprind si numai asta nu? Link spre comentariu
Vizitator mytza93 Postat Februarie 27, 2011 Partajează Postat Februarie 27, 2011 Sunt incepator, dar din cate stiu pic 16f628a are oscilator intern de 4Mhz. Se aprind toate, si numai cel de pe RB5 nu se aprinde, primeste 1,78 V , dar led-ul tot nu se aprinde, chiar daca pun alt led. Am atasat schema pe care am realizat-o. Mersi fain ! Am modificat configul, si acum merge si RB5 cu codul postat mai sus, am pus configul urmator: __CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF Link spre comentariu
Vizitator vladjoky Postat Aprilie 2, 2011 Partajează Postat Aprilie 2, 2011 Ma ajuta si pe mine cineva cu o secventa de cod in limbaj de asamblare pentru? :sa imi definesc o baza de timp de ex 100ms si in acest interval sa numar cate impulsuri primesc pe o intrare (analog). Mc anticipat. Link spre comentariu
puiu Postat Aprilie 3, 2011 Partajează Postat Aprilie 3, 2011 1. Depinde pe ce PIC vrei sa faci, deoarece unele au implementat hard asa ceva si numai trebuie sa setezi. Link spre comentariu
Vizitator vladjoky Postat Aprilie 3, 2011 Partajează Postat Aprilie 3, 2011 Sincer sa fiu, nu stiu exact unul anume , ceva de la microchip sau texas instruments, proiectul pe care vreau sal fac este sa reglez turatia unui motor, la o rotatie completa am un numar n de impulsuri, si de ex numar cate impulsuri vin in 100ms de ex, si pot calcula deacolo turatia , cei drept sunt putin afon in ale microcontrolerelor, dar vreau sa ma pun pe treaba, primesc orice documentatie pentru incepatori , si eventual un PIC cu care sa incep sa experimentez pana ma prind de smecherie , multumesc anticipat. Link spre comentariu
puiu Postat Aprilie 4, 2011 Partajează Postat Aprilie 4, 2011 1. Primadata cred ca trebuie sa clarifici cum vei primii semnalele pentru impusuri. S-ar putea sa nu iti trebuiesca o intrare analogica.2. Cred ca trebuie sa precizezi ce vrei sa faci cu microcontrolerul, deoarece sunt microntrolere care au intrarea gata facuta pentru comanda unui motor. Link spre comentariu
Vizitator vladjoky Postat Aprilie 5, 2011 Partajează Postat Aprilie 5, 2011 Poi ideea mea ii sa controlez turatia unui DC, mai am inca o dilema cum sai trimit la microcontrolor de ex 1200rpm sau 2500 rpm, iar la motor ori pun un led IR si un fototranzistor sau un tahometru ceva, in functie de numarul de impulsuri primite intro unitate de timp aflu ce rpm am. Mai am nevoie si de un element de comanda a motorului..... o punte H. Daca stii cumva un astfel de microcontrolor care are intrarea gata facuta, imi dai te rog denumirea lui sa i citesc datasheet-ul, mc anticipat. Link spre comentariu
pegas Postat Aprilie 5, 2011 Partajează Postat Aprilie 5, 2011 se poate face cum spui tu (daca ai cum prinde ceva cu o fanta pe motor), sau cu senzor hall si magnet...puntea H ti-o faci tu singur (gugalit).ca pic, poti folosi orice pentru inceput, cat mai simplu. nu pari a fi prea avansat ca si cunostinte si cred ca un controller cu pwm integrat te-ar enerva... Link spre comentariu
puiu Postat Aprilie 5, 2011 Partajează Postat Aprilie 5, 2011 1. Sunt multe PIC care pot comanda o punte H. 2. Nu ai precizat motorul si nici in ce caz esti. Poate ar trebui sa citesti putin pe site-ul producatorului: http://www.microchip.com/stellent/idcpl ... m=en026178 Link spre comentariu
manolo Postat Aprilie 7, 2011 Partajează Postat Aprilie 7, 2011 Pun si eu o intrebare de giga,la pic-urile 12f629,675 au valoarea oscal interna ceva de genul :3444,3480,344c etc,etc ce valori sint defapt,exista vun "transformator ceva? Link spre comentariu
Eugen_B Postat Aprilie 8, 2011 Partajează Postat Aprilie 8, 2011 Acea valoare este de fapt o instructiune RETLW (Return with literal in W) care are opcode-ul 11 01xx kkkk kkkk, care dupa ce e executata este urmata de MOVWF OSCCAL, unde numarul kkkk kkkk ajunge in OSCCAL. OSCCAL nu foloseste ultimi 2 biti deci valorile posibile pentru acea valoare vor fi intre 0x3400 si 0x34FC , incrementate din 4 in 4. Cu cat modifica aceasta incrementare ceasul, nu vad specificat nicaieri (probabil cu vreo cativa Hz, sau kHz), dar se poate masura, cu un osciloscop pe clkout, pentru valoare maxima , si minima , se face diferenta , si impartire la 64. Link spre comentariu
manolo Postat Aprilie 9, 2011 Partajează Postat Aprilie 9, 2011 Multam frumos de explicatii ,eram curios sa vad cu cit difera de valoarea standard de 4 Mhz ,dar daca difera pina la citiva khz nu are importanta mare in aplicatiile mele ,am crezut ca difera cu 100-200 khz. Link spre comentariu
bbogdanmircea Postat Mai 3, 2011 Partajează Postat Mai 3, 2011 Salutare.De curand am facut un programator dupa instructiunile de pe usbpicprog.orgAm ajuns si la partea de programare a PIC-ului care este un PIC18F2550Am downloadat firmware de pe site si acolo am 2 fisiere .hex, unul m mic care este Boot.hex si altul care este firmware.hexAm incercat sa scriu acestea pe PIC dar inainte de scriere imi da un warning ca nush ce cuvinte de CONFIG nu se gasesc in .hex Iar cand il scriu si dau read nu imi arata ca as fi scris ceva chiar daca la write da successful.Am scris un mail la cel care a facut proiectul dar nu am primit raspuns.Puteti sa ma ajutati voi cu ceva ajutor poate?Multumesc anticipat! Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum