Vizitator CristiST Postat Octombrie 30, 2010 Partajează Postat Octombrie 30, 2010 Salutam folosit acelasi programator amarat. Link spre comentariu
puiu Postat Octombrie 30, 2010 Partajează Postat Octombrie 30, 2010 1. MPLAB nu merge decat cu programatoare facute microchip sau clone ale acestora, si acelea nu cred ca sunt amarate Link spre comentariu
unuldinei Postat Octombrie 30, 2010 Partajează Postat Octombrie 30, 2010 Din ce am vazut proiectul exista la http://www.micro-examples.com/public/mi ... -dcf-clock , unde are si fisier HEX si ASM ...tie iti trebuie doar hex-ul . Acuma poti sa incerci sa scrii alt hex in el , si dupa aia poate va merge scris si acesta. Scheme de programatoare sunt cu gramada. Toate depind de driverele sistemului de operare. Astfel un JDM Programer pe port COM la mine a mers ok in windows 98 cu IC Prog , dar niciodata pe win xp ... iar acum mi-am facut un "PIC Pocket Programmer (PP-Prog)" pe LPT1 a mers din prima pe win98 si win 7(!) culmea cu acelasi winpic800(are viteza mai mare de programare). Cum am mai zis t o t u l depinde de SO si de placa de baza a calculatorului in cazul programatoarelor pe COM sau LPT ...(testate 12f675 si 16f88). Link spre comentariu
Vizitator CristiST Postat Octombrie 31, 2010 Partajează Postat Octombrie 31, 2010 din pacate nu acela este ceasul-problema despre care vorbeam, ci acesta: http://www.micro-examples.com/public/mi ... clock.html . Merci oricum pt informatiile referitoare la programator. Link spre comentariu
puiu Postat Octombrie 31, 2010 Partajează Postat Octombrie 31, 2010 1. Si totusi nu am aflat ce fel de programator ai folosit. Link spre comentariu
Vizitator CristiST Postat Octombrie 31, 2010 Partajează Postat Octombrie 31, 2010 Salut. Acesta este programatorul: http://sfprime.net/pic16f84/index.htm Link spre comentariu
Vizitator CristiST Postat Noiembrie 1, 2010 Partajează Postat Noiembrie 1, 2010 Nu mai este chiar nimeni pe aici dispus sa dea o mana de ajutor? Link spre comentariu
puiu Postat Noiembrie 2, 2010 Partajează Postat Noiembrie 2, 2010 1. Nu stiu cum l-ai programat dar opreste-te la un soft si la o schema.2. Intrebarea ta este la general. Nu este la concret si de aceea nu primesti raspunsuri.Eu te-as intreba: la ce vrei o mana de ajutor? la programator sau la schema? Dupa cum suna titlu se pare ca vrei o mana de ajutor la programator?3. Daca asa stau lucrurile atunci trebuie sa vezi daca ai programatorul bun. Cu ce soft l-ai programat, sper ca nu cu MPLAB? Link spre comentariu
Vizitator CristiST Postat Noiembrie 8, 2010 Partajează Postat Noiembrie 8, 2010 Salutare tuturor si multumesc mult pentru intrebari, Puiu Situatia in care ma aflu este urmatoarea: - am gasit schema unui ceas cu un PIC16F84A care mi s-a parut interesant si pe care m-am grabit sa il construiesc, sarind peste etapa “cum dracu o sa il programez?”. Schema acestuia am atasat-o mesajului. - am gasit si schema unui programator pentru PIC-ul in cauza, pe care si in acest caz m-am grabit sa il construiesc, de aceasta data sarind peste etapa “cu ce drac de software lucreaza asta?”. Si schema acestuia am atasat-o mesajului. - am un program pentru ceasul acesta, insa sub forma de text care nici macar nu stiu daca este scris corect si mai am si o serie de softuri de scriere/compilare/editare (Icprog, MPLAB in doua variante, MPASM, MikroC, FlexHex, Hex Editor, WinPic) descarcate de pe net Cam asta am in momentul de fata, pe langa o mare nebuloasa cu privire la controlere. Ce nu stiu sint urmatoarele (nu stiu mai nimic, ar spune unii...): - cum transform programul acela din format text intr-un hex sau intr-un format care poate fi incarcat in PIC cu ajutorul programatorului pe care l-am facut - cu ce soft as putea face operatiunea de mai sus - care sint setarile concrete ale controlerului/programului de scriere pentru a putea incarca programul respectiv in PIC. Inca o data multumesc mult si anticipat celor care ma vor putea ajuta. Programul in format text este urmatorul: '****************************************************************************** ' PIC16F84A ALARM CLOCK '****************************************************************************** ' ' feel free to use this code at your own risks ' ' target : PIC16F84A, 16 Mhz crystal ' HS clock, no watchdog. ' ' Author : Bruno Gavand, September 2007 ' see more details on http://www.micro-examples.com/ ' '****************************************************************************** program alarmClock ' ' if you are using COMMON CATHODE LED display, uncomment this definition. ' if you are using COMMON ANODE LED display, comment this definition. ' '#define CATHODE_COMMUNE symbol LUNDI = 0 ' monday symbol MARDI = 1 ' thuesday symbol MERCREDI = 2 ' wednesday symbol JEUDI = 3 ' thursday symbol VENDREDI = 4 ' friday symbol SAMEDI = 5 ' saturday symbol DIMANCHE = 6 ' sunday symbol LMMJV = 7 ' from monday to friday included ' ' alarm definitions, to be changed on your needs ' symbol NBALARM = 16 ' number of programmed alarms const alarmTable as byte[NBALARM * 4] = ( ' JOUR HEURE MINUTE DUREE (secondes, 59 maxi) ' DAY HOUR MINUTE DURATION (in seconds, max is 59) LUNDI, 8, 30, 10, LUNDI, 12, 30, 10, LUNDI, 14, 00, 10, LUNDI, 16, 30, 10, MARDI, 8, 30, 10, MARDI, 12, 30, 10, MARDI, 14, 00, 10, MARDI, 16, 30, 10, JEUDI, 8, 30, 10, JEUDI, 12, 30, 10, JEUDI, 14, 00, 10, JEUDI, 16, 30, 10, VENDREDI, 8, 30, 10, VENDREDI, 12, 30, 10, VENDREDI, 14, 00, 10, VENDREDI, 16, 30, 10 ) dim maxcount as word ' number of TMR0 overflow per second dim scaler as word ' RTC scaler dim jj as byte ' day of week, 0 is monday dim hh as byte ' hour dim mn as byte ' min dim ss as byte ' sec dim digiled as byte[4] ' 4 x 7 segment table dim digit as byte ' number of current digit to be displayed dim dp as byte ' decimal point dim key as byte ' key code dim alarm as byte ' alarm flag ' ' the ISR works as real time clock ' sub procedure interrupt dim i as byte ' ' count time ' scaler = scaler + 1 if scaler > maxcount then scaler = 0 inc(ss) if ss = 60 then ss = 0 inc(mn) if mn = 60 then mn = 0 inc(hh) if hh = 24 then hh = 0 inc(jj) if jj = 8 then jj = 1 end if end if end if end if end if ' ' LED display ' #ifdef CATHODE_COMMUNE PORTA = PORTA and $f0 TRISA = $0f key = PORTA TRISA = 0 PORTB = 0 #else PORTA = PORTA or $0f TRISA = $0f key = PORTA key = not(key) TRISA = 0 PORTB = $ff #endif key = key and $07 digit = digit + 1 if digit > 3 then digit = 0 i = $01 else i = $01 << digit end if #ifdef CATHODE_COMMUNE PORTB = digiled[digit] PORTA = PORTA or i #else PORTB = digiled[digit] PORTB = not(PORTB) PORTA = PORTA and not(i) #endif INTCON.T0IF = 0 end sub ' ' converts digit to 7 segment ' sub function intTo7seg(dim n as byte) as byte select case n case 0 result = $3F case 1 result = $06 case 2 result = $5B case 3 result = $4F case 4 result = $66 case 5 result = $6D case 6 result = $7D case 7 result = $07 case 8 result = $7F case 9 result = $6F end select end sub ' ' select a value with keys ' value is pointed to by v, display char s as header, maximum value is max ' sub procedure setValue(dim v as ^byte, dim s as byte, dim max as byte) digiled[0] = s digiled[1] = 0 while 1 if key.0 then inc(v^) if(v^ > max) then v^ = 0 end if end if if key.1 then if(v^ = 0) then v^ = max else dec(v^) end if end if if key.2 then Delay_ms(50) while key.2 wend Delay_ms(50) scaler = 0 ss = 0 return end if digiled[2] = intTo7seg(v^ / 10) digiled[3] = intTo7seg(v^ mod 10) delay_ms(300) wend end sub ' ' program entry ' main: dim i as byte ' ' init variables ' dp = 0 hh = 0 mn = 0 ss = 0 jj = 0 maxcount = 15625 ' ' init I/O ' PORTA = %00010000 TRISA = %00000000 PORTB = 0 TRISB = $00 ' ' init interrupts ' INTCON = %10100000 OPTION_REG = %11011000 Delay_ms(50) ' ' clock adjustment ' setValue(@hh, 116, 23) setValue(@mn, 55, 59) setValue(@jj, 14, 6) ' ' forever loop ' while true if key then ' ' display day and seconds (what for ? don't remember !) ' digiled[0] = intTo7seg(jj) digiled[1] = 0 digiled[2] = intTo7seg(ss / 10) digiled[3] = intTo7seg(ss mod 10) else ' ' display hours and minutes ' if hh < 10 then digiled[0] = 0 digiled[1] = intTo7seg(hh) else digiled[0] = intTo7seg(hh / 10) digiled[1] = intTo7seg(hh mod 10) end if digiled[2] = intTo7seg(mn / 10) digiled[3] = intTo7seg(mn mod 10) end if ' ' blinks semicolon (or decimal point) ' if scaler > maxcount / 2 then dp.1 = 1 else dp.1 = 0 end if ' ' set decimal points ' digiled[0].7 = dp.0 digiled[1].7 = dp.1 digiled[2].7 = dp.2 digiled[3].7 = dp.3 ' ' check for alarm condition ' alarm = 0 for i = 0 to (NBALARM - 1) * 4 if ((alarmTable = jj) or ((alarmTable = LMMJV) and (jj < SAMEDI))) and (alarmTable[i + 1] = hh) and (alarmTable[i + 2] = mn) and (alarmTable[i + 3] > ss) then inc(alarm) end if next i if alarm then ' ' set alarm ' dp.3 = 1 PORTA.4 = 0 else ' ' clear alarm ' dp.3 = 0 PORTA.4 = 1 end if wend end. Link spre comentariu
sofian Postat Noiembrie 8, 2010 Autor Partajează Postat Noiembrie 8, 2010 pe pagina respectiva scria For once, the program is in BASIC (mikroBasic) and I hope it will make a good start for beginners.programul asta stie sa faca fisierul text in hex ca sa il poti incarca in icprog sau winpic Link spre comentariu
marik2500 Postat Noiembrie 9, 2010 Partajează Postat Noiembrie 9, 2010 Salutare la toti ! Sunt incepator. Vreau sa programez un PIC 16F877A pentru schema din imagine. Am cumparat un programator de aici http://www.adelaida.ro/product_info.php ... ucts_id=96 . Acum ceea ce trebuie sa fac este sa alimentez programatorul, sa-l conectez la portul serial al PC-ului si pe CD mi-au: UN DRIVER, 2 SOFTURI (IcProg si Poniprog). Spuneti-mi ce trebuie sa fac mai departe! Va multumesc! Link spre comentariu
puiu Postat Noiembrie 9, 2010 Partajează Postat Noiembrie 9, 2010 1. Pentru @CristiST:- Este bine ca acum ti-ai dat seama ce etape ai sarit ca ulterior sa nu mai faci aceasi greseala.- Vezi raspunsul lui @Sofian, deoarece nu esti in MPLAB, sau mai corect spus ASM, nu te pot ajuta pe partea de soft.2. Pentru @marik2500: Eu lucrez momentan, (ca programatoare) cu PICSTART Plus (vechi) si cu MPLAB-ICD2 produse de Microchip asa ca nu ma stiu la produsele adelaida si in consecinta nu ma bag(este poate cineva care a mai cumparat asemenea produse de la adelaida). Link spre comentariu
marik2500 Postat Noiembrie 9, 2010 Partajează Postat Noiembrie 9, 2010 Un PDF cu ce se spune despre acest programator. Link spre comentariu
GeoMar Postat Noiembrie 9, 2010 Partajează Postat Noiembrie 9, 2010 Incearca intai si alimenteaza programatorul cu tensiunea de 12-16vcc.Instaleaza un soft din cele 2, cupleaza programatorul cu PIC-ul introdus in soclu, la serialul calculatorului.Prin deschiderea softului pentru programare, trebuie sa-ti vada programatorul si inclusiv PIC-ul.La urma incerci sa scrii PIC-ul, dupa ce "vede" calcul, atat programatorul cat si PIC-ul.Bafta. Link spre comentariu
Vizitator CristiST Postat Noiembrie 9, 2010 Partajează Postat Noiembrie 9, 2010 Merci mult de tot Sofian. Ma apuc de butonat sa vad ce iese (in prima instanta sa caut un mikroBasic) si va tin la curent.Toate cele bune tuturor. 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