radovi forumasa sa ubrzanog kursa pbp

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: stojke369, pedja089, [eDo], trax

Re: radovi forumasa sa ubrzanog kursa pbp

Postby RazoR » 28-05-2010, 16:02

Evo nasao sam neki kod za prijemnik i predajnik u pic basicu: http://www.rentron.com/PicBasic/IR_Chips.htm

Na pic je spojen TSOP1740, ako bi stavio TSOP1738 je li jedina razlika u onome vremenu u kodu (40kHZ - 25us, onda je za 38kHZ približno 26us)?

'// RA.1 to RA.5 = Hardware address inputs (set same on encoder as decoder)
Mogu li ja ove portove iskoristiti za spojiti neku tipku i ledicu umjesto da s njih očitava adrese, a adrese koje bi slao encoder i primao decoder upisati u kodu?

Još bi trebalo napraviti da može naučiti kodove kao Traxov dimmer i onaj Ir ON-OFF switch. To mi se ne čini kao veliki problem kada bi znao spremati varijable u eeprom pica (naučiti ću :))
User avatar
RazoR
 
Posts: 256
Joined: 01-08-2008, 15:14
Location: Hrvatska

Re: Re: radovi forumasa sa ubrzanog kursa pbp


Re: radovi forumasa sa ubrzanog kursa pbp

Postby pedja089 » 23-08-2010, 22:18

Evo jedan primer sta treba izbegavati:
Code: Select all
serin2 pc_rx,396,3000,init,[wait("DATA:"), dan, mesec, god, sat, minut, sek, dat, str sb1\9, str sb2\9, str sb3\9, str sb4\9, br12.byte1,br12.byte0,br11.byte1,br11.byte0,br10.byte1,br10.byte0,br22.byte1,br22.byte0,br21.byte1,br21.byte0,br20.byte1,br20.byte0,br32.byte1,br32.byte0,br31.byte1,br31.byte0,br30.byte1,br30.byte0,br42.byte1,br42.byte0,br41.byte1,br41.byte0,br40.byte1,br40.byte0,str mpl1\2,str mpl2\2,str mpl3\2,str mpl4\2,Dsms1,Dsms2,str SMS1\dsms1,str SMS2\dsms2]

To je samo 1 red programa :lol:
Mada nije samo da se hvalim duzinom 8) Nego ima i nesto pametno.
A to je ovo:
Code: Select all
Dsms1,Dsms2,str SMS1\dsms1,str SMS2\dsms2

Sto znaci da sa racunara mozemo poslati duzinu stringa koji kupimo i string odjednom.
U kursu takva komunikacija nije radjena iz prostog razloga sto treba i znati pisati aplikacije da bi bilo koristi od komunikacije. Stoga evo ovo samo kao napomena onima koji su probali komunikaciju...
User avatar
pedja089
 
Posts: 6239
Joined: 20-02-2007, 14:50
Location: Sremska Mitrovica,Novi Sad - Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Postby Kizo » 31-12-2010, 14:55

Da pridonesem nešto ovoj temi, te se pohvalim sa programom koji sam napravio ovih dana za PIC16F628.

Dobio sam na popravak uređaj za automatsko mljevenje kukuruze koji svakih 24h uključuje motor na 1-15sec. Uglavnom, unutra su tko zna zbog čega poizgarali skoro pa svi poluvodiči. PIC je preživio (osim 4 pina :D), pinovi za programiranje su ok, no na moju veliku žalost, nisam mogao iz njega izvući hex jer je bio zaštićen, tako da sam morao napisati program ispočetka.

Nije PBP, ali je Basic:
Code: Select all
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'+ -------------------------------------------------------------------------- +
'+    Description : Ruđilica za kukuruzu                                      +
'+    Revision    : 1.0                                                       +
'+    Controller  : PIC16F628                                                 +
'+    Compiler    : Basic Compiler                                            +
'+    Author      : Zoran Halic, Croatia, Dec.2010.                           +
'+ -------------------------------------------------------------------------- +
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

'define port pin
Symbol led = RA1  'LED is connected on RA1
Symbol cap = RA2  'capacitor is connected to RA2
Symbol pot = RA3  'one end of potentiometer is connected to RA3
Symbol start_key = RB1  'START key is on RB1
Symbol test_key = RB2  'TEST key is on RB2
Symbol accu = RB3  'indication of low accumulator voltage
Symbol relay = RB4  'relay is on RB4

'config ports
Config led = Output  'RA1 is output
Config cap = Output  'RA2 is output at begining
Config pot = Output  'RA3 is output
Config start_key = Input  'RB1 is input
Config test_key = Input  'RB2 is input
Config accu = Input  'RB3 is input
Config relay = Output  'RB4 is output

'initilize hardware
T2CON.T2CKPS0 = 1  'Timer2 prescale=4

CMCON.CM1 = 1  'four inputs multiplexed to two comparators
CMCON.CIS = 1  'select RA2:RA3 as inputs to comparator

VRCON = %00101100  'configure internal voltage reference to 2.5V

'define variables
Dim relay_working_miliseconds As Word  'this variable will contain miliseconds relay is ON
Dim relay_on_time As Word  'contains miliseconds relay needs to be ON
Dim miliseconds As Word  'keep track of passed miliseconds
Dim seconds As Byte  'keep track of passed seconds
Dim minutes As Byte  'keep track of passed minutes
Dim hours As Byte  'keep track of passed hours

'define flags
Dim timer2_int_flag As Bit  'used to indicate that Timer2 Interrupt occured
Dim check_charge_time_flag As Bit  'indication that charge time need to be checked
Dim relay_is_on_flag As Bit  'indicate that relay needs to be on

'enable interrupts
PIE1.TMR2IE = 1  'enable Timer2 interrupts
INTCON.PEIE = 1  'enable peripheral interrupts
INTCON.GIE = 1  'global Interrupt Enable

'initilize start conditions
WaitMs 250  'wait some time for capacitors to fully charge
PR2 = 249  'with prescale=4 and xtal=4MHz, timer2 will reload every 1ms
T2CON.TMR2ON = 1  'start Timer2
timer2_int_flag = 0  'clear flags
check_charge_time_flag = 0  'clear flags




'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'------------------------------------------------------------------------------
'Main program
'------------------------------------------------------------------------------
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
main:  'forever loop
If timer2_int_flag = 1 Then Gosub update_time  'Timer2 overflow occured? -> update time
If check_charge_time_flag = 1 Then Gosub check_charge_time  'pot position needs to be checked? -> jump to corresponding subroutine

If test_key = 0 Then check_charge_time_flag = 1  'test key is pressed? -> check pot position

If start_key = 0 Then  'start key is pressed?
   check_charge_time_flag = 1  'check pot position
   '---reset time---
   miliseconds = 0
   seconds = 0
   minutes = 0
   hours = 0
Endif

If accu = 0 Then led = 0 Else led = 1  'voltage is too low? -> turn ON LED

Goto main
End                                               




'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'------------------------------------------------------------------------------
'Subroutine that keeps track of time
'will be accessed every 1ms
'------------------------------------------------------------------------------
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
update_time:

'---keep track of time---

miliseconds = miliseconds + 1  'increase miliseconds
If miliseconds >= 1000 Then  '1 second passed?
   seconds = seconds + 1  'increase seconds
   miliseconds = 0  'reset miliseconds

   If seconds >= 60 Then  '1 minute passed?
      minutes = minutes + 1  'increase minutes
      seconds = 0  'reset seconds

      If minutes >= 60 Then  '1 hour passed?
         hours = hours + 1  'increase hours
         minutes = 0  'reset minutes
         
         If hours >= 24 Then  '1 day passed?
            hours = 0  'reset hours
            relay = 1  'turn ON relay
            relay_is_on_flag = 1  'set flag to monitor relay ON time
            relay_working_miliseconds = 0  'reset ON time
         Endif
      Endif
   Endif
Endif


'---measure for how long relay is on and turns it off if it reach max value---

If relay_is_on_flag = 1 Then  'relay needs to be on?
   relay_working_miliseconds = relay_working_miliseconds + 1  'increase miliseconds relay is ON

   If relay_working_miliseconds >= relay_on_time Then  'ON time expired?
      relay = 0  'turn OFF relay
      relay_is_on_flag = 0  'reset flag that relay is ON
      relay_working_miliseconds = 0  'reset ON time for next cycle
   Endif
Endif


'---reset flag and exit this subroutine---

timer2_int_flag = 0  'reset flag of this subroutine

Return                                           




'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'------------------------------------------------------------------------------
'Subroutine that checks required time for capacitor to charge and from that
'calculates selected seconds (1-15s) for relay to be on
'------------------------------------------------------------------------------
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
check_charge_time:

'---init needed hardware/variables for measurement---

VRCON.VREN = 1  'turn ON voltage reference
TMR1H = 0  'reset Timer1
TMR1L = 0


'---fully discharge capacitor---

Config cap = Output  'make pin on which is connected cap as output
cap = 0  'start discharging
WaitUs 100  'wait at least 100us for capacitor do discharge


'---start charging cap through pot---

Config cap = Input  'now voltage on capacitor is input to analog comparator
INTCON.GIE = 0  'disable global interrupts so it doesn't interfere with measurments
pot = 1  'put one end of Pot to 5V


'---measure time needed for voltage on Cap to reach Reference Voltage---

T1CON.TMR1ON = 1  'start Timer1
While CMCON.C2OUT = 1  'wait till voltage on cap reach reference voltage
Wend
T1CON.TMR1ON = 0  'stop Timer1
INTCON.GIE = 1  'enable global Interrupts


'---calculate selected seconds relay will be on---

relay_on_time.LB = TMR1L  'save Timer1 value
relay_on_time.HB = TMR1H
relay_on_time = relay_on_time * 3  'scale that value


'---turn ON relay and set flag to monitor for how long its ON---

relay = 1  'turn ON relay
relay_is_on_flag = 1  'set flag to monitor relay ON time
relay_working_miliseconds = 0  'relay has just turned ON


'---prepare next measurment---

VRCON.VREN = 0  'turn OFF voltage reference - consumes power
pot = 0  'slowly discharge cap through pot
check_charge_time_flag = 0  'reset flag of this subroutine

Return                                           




'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'------------------------------------------------------------------------------
'Interrupt handler
'This routine will be activated by Timer2 overflow which occurs every 1ms
'------------------------------------------------------------------------------
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
On Interrupt
timer2_int_flag = 1  'set flag so we know that interrupt occured
PIR1.TMR2IF = 0  'enable new Timer2 interrupt by clearing its flag
Resume                                           

Sklop radi po ovim uvjetima:
http://img233.imageshack.us/img233/4503/dsc01709x.jpg
voltaža a.k.a. NAPON, amperaža a.k.a. STRUJA, omaža a.k.a. OTPOR, vataža a.k.a. SNAGA
User avatar
Kizo
 
Posts: 356
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: radovi forumasa sa ubrzanog kursa pbp

Postby VFDisplay » 27-04-2011, 11:12

malo kasnim s temom no šta je tu je.
@Pedja, probao sam tvoj kod za RC-5 i nešta nevalja.Svaki put kad pritisnem tipku izbacuje mi grešku (tj ona ledica za grešku trepće). U daljincu koji sam koristio nalazi se SAA3010 integrirani krug (infrared remote control transmitter RC-5), IR senzor je od tog daljinca tako da tu nebi trebalo biti problema.
Da li netko zna u čemu bi mogao biti problem?
moje novo audio pojacalo: http://www.youtube.com/watch?v=lErMjEeCITQ ;))
VFDisplay
 
Posts: 515
Joined: 01-08-2009, 20:18

Re: radovi forumasa sa ubrzanog kursa pbp

Postby Branez » 27-04-2011, 11:34

Daljinac nema senzora nego IR diode!
Real Radios Glow in the Dark!
Branez
 
Posts: 443
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)

Re: radovi forumasa sa ubrzanog kursa pbp

Postby pedja089 » 27-04-2011, 12:23

Na koji kod tacno mislis, i sta si tacno probao :?:
User avatar
pedja089
 
Posts: 6239
Joined: 20-02-2007, 14:50
Location: Sremska Mitrovica,Novi Sad - Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Postby VFDisplay » 27-04-2011, 13:06

Branez wrote:Daljinac nema senzora nego IR diode!
nisam toliko baš glup! :azdaja: krivo sam se izrazio.Mislio reći da sam uzeo IR senzor koji se nalazio u tom TV-u,a taj daljinac je od tog tv-a.
mislio sam na onaj kod za dekoreder RC5 signala što si ti postavio:
Code: Select all
SYMBOL BrojB       = 52  'Maksimalno 255
SYMBOL LED_Blink   = 500 'mSec: Vreme trajanja iskljucenja LED diode greske
SYMBOL Ok          = 50  'Maksimalno 255

SYMBOL LED_Greska  = PORTA.0 'Led greske u prijemu RC5
SYMBOL IR_Bit      = PORTA.4 'Prijem IR signala

TRISA = %11111000
TRISB = %00000000   'PORTB je izlazni

Komanda VAR BYTE
Adresa VAR BYTE

BD1 VAR BYTE        'Brojacka promenljiva

ToggBit    VAR BIT  'Toggle bit
BitFF      VAR BIT  'Tekuca vrednost Toggle bita
PrimBit    VAR BIT  'Broj primljenih bita
ID1        VAR BIT  'bIt Dummy


PORTB =%11111111    'PORTB je izlazni

GoTo Pocetak        'Idi na pocetak

'-------Podprogram prijema bita -------------                                                                                                           
PrijemBita:
PrimBit = IR_Bit       
BD1     = 0

While IR_Bit = PrimBit AND BD1 < Ok
   BD1 = BD1 + 1
Wend

IF Ok = BD1 Then Greska_Prijem1   
PauseUs 1100                     

Return

'--------Ceka na prijem IR signala-----------                                                                                                         
Pocetak:

BD1 = 0

While IR_Bit = 1
Wend                       

While IR_Bit = 0 AND BD1 < BrojB
   BD1 = BD1 + 1
Wend

PauseUs 500                 '200 - 825; Prijem start bita

GoSub PrijemBita
Adresa.6 = PrimBit ^ 1      'bit prosirenja

GoSub PrijemBita
ToggBit = PrimBit

GoSub PrijemBita
Adresa.4 = PrimBit

GoSub PrijemBita
Adresa.3 = PrimBit

GoSub PrijemBita
Adresa.2 = PrimBit

GoSub PrijemBita
Adresa.1 = PrimBit

GoSub PrijemBita
Adresa.0 = PrimBit


GoSub PrijemBita
Komanda.5 = PrimBit

GoSub PrijemBita
Komanda.4 = PrimBit

GoSub PrijemBita
Komanda.3 = PrimBit

GoSub PrijemBita
Komanda.2 = PrimBit

GoSub PrijemBita
Komanda.1 = PrimBit

GoSub PrijemBita
Komanda.0 = PrimBit

IF ToggBit = BitFF Then  ' Ako se togle bit nije promenio ignorisi komandu
              GoTo AB
EndIF           


   BitFF = ToggBit        ' Zapamti togle bit

' Promeni stanja na izlazima PORTA-B zavisno od primljene komande

   IF Komanda = 1 Then
   Toggle PORTB.0
   GoTo AB
   EndIF
   
   IF Komanda = 2 Then
   Toggle PORTB.1
   GoTo AB
   EndIF
   
   IF Komanda = 3 Then
   Toggle PORTB.2
   GoTo AB
   EndIF
   
   IF Komanda = 4 Then
   Toggle PORTB.3
   GoTo AB
   EndIF
   
   IF Komanda = 5 Then
   Toggle PORTB.4
   GoTo AB
   EndIF
   
   IF Komanda = 6 Then
   Toggle PORTB.5
   GoTo AB
   EndIF
   
   IF Komanda = 7 Then
   Toggle PORTB.6
   GoTo AB
   EndIF

   IF Komanda = 8 Then
   Toggle PORTB.7
   GoTo AB
   EndIF
                     
AB:                     

GoTo Pocetak
'---------Obrada greske u prijemu---------
Greska_Prijem1:
LED_Greska  = 1             
Pause LED_Blink
LED_Greska  = 0             
Pause LED_Blink
LED_Greska  = 1             
Pause LED_Blink
LED_Greska  = 0             
Pause LED_Blink
GoTo Pocetak

spojio sam IR senzor na PIC i bez obzira koju tipku pritisnem na daljincu njemu je taj kod koji daljinac pošalje neispravan a kako može biti neispravan ako je daljinac RC5 tj. IC koji se nalazi u tom daljincu odašilje RC5 signal.

EDIT:zaboravim reći da sam koristio PIC16F628 koji je radio na internom oscilatoru,s ugašenim komparatorima.
moje novo audio pojacalo: http://www.youtube.com/watch?v=lErMjEeCITQ ;))
VFDisplay
 
Posts: 515
Joined: 01-08-2009, 20:18

Re: radovi forumasa sa ubrzanog kursa pbp

Postby pedja089 » 27-04-2011, 14:03

Probaj sa eksternim oscilatorom, on je precizniji, uzmi nadji RC5 i uporedi sa kodom.... Ja i ne znam odakle je taj kod... Imas i onaj primer daljinca koji cita sve kodove, pa probaj iz njega izvuci sta ti treba, mada on koristi tmr0...
User avatar
pedja089
 
Posts: 6239
Joined: 20-02-2007, 14:50
Location: Sremska Mitrovica,Novi Sad - Srbija

Re: dimer sa 16f84a

Postby niho » 05-01-2012, 18:37

Iako je davno radjen ovaj PWM mozda ipak nije zgoreg dodati "naponski dijagram" ovog regulatora da bi se lakse shvatilo kakao radi PWM uopste.
duty.jpg
duty.jpg (17.97 KiB) Viewed 1106 times
User avatar
niho
 
Posts: 1240
Joined: 24-09-2009, 17:26
Location: Brcko, Bosnia and Herzegovina

Re: radovi forumasa sa ubrzanog kursa pbp

Postby VFDisplay » 25-01-2012, 22:34

evo jedan projekt napravljen uz pomoc PBP-a. Radi se o pojacalu s naravno digitalnom kontrolom :D
video: http://www.youtube.com/watch?v=WfQPCmZPT2I
pojacalo nije nista posebno (meni mozda glupo receno pomalo i bezveze) al et...
moje novo audio pojacalo: http://www.youtube.com/watch?v=lErMjEeCITQ ;))
VFDisplay
 
Posts: 515
Joined: 01-08-2009, 20:18

Re: Re: radovi forumasa sa ubrzanog kursa pbp


Re: radovi forumasa sa ubrzanog kursa pbp

Postby jadranko » 02-02-2012, 21:32

:azdaja: imam jedanproblem sa mikorokontrolerom pic12c508a
pic je zaštićen i ne mogu do hex.koda pa jel ima načina da se napiše novi kod!!!!!
User avatar
jadranko
 
Posts: 108
Joined: 29-01-2012, 01:29
Location: zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Postby InTheStillOfTheNight » 08-02-2012, 18:57

Logika posta bas i nije neka, pa te onda pitam sljedece:
Ako je osoba X napisala HEX ima li načina da to napiše osoba Y?
InTheStillOfTheNight
User avatar
InTheStillOfTheNight
 
Posts: 825
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Postby InTheStillOfTheNight » 10-02-2012, 01:05

Inače Jadranko, PIC koji imaš i nije baš zaštićen kako ti se to čini na prvu...
Predpostavljam da ne znaš sam napisati program, ali može se izvući HEX iz tog PIC-a... Jednom sam pogađao neki posao za neke kartice. Hardware je bio gotov i trebao sam pisati HEX koji je bio zaštićen. No kako mi se nije dalo proučavati kako to radi, pa još onda programirati, a kada sam izračunao koliko mi vremena treba da to napravim ispalo mi je da je to neisplativo...

No kontaktirao sam 5 firmi u kini koje se bave samo isčitavanjem HEX-a iz zaključanog MCU-a. (Brušenje do silicija...) i ne bi vjerovao koliko je to jeftino. Od 5 ponuda za neki PIC najjeftinija je 120 USD, a najskuplja 300 USD... Jbt meni se za 120 USD nikako ne isplati tjedan dana programirati, pa onda sam vagni što ti je isplativije i za što ti to treba.
InTheStillOfTheNight
User avatar
InTheStillOfTheNight
 
Posts: 825
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Postby jadranko » 10-02-2012, 18:57

:oops: hvala za odgovor, novi sam na forumu..
napravio sam programator pa sam "pokušao"pročitat pic koji je code protected
i ne ide....druge pic-eve sam uspio pričitat.
htio bih doznati kako pročitat zaključane pic-eve
pozdrav :oops:
User avatar
jadranko
 
Posts: 108
Joined: 29-01-2012, 01:29
Location: zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Postby InTheStillOfTheNight » 17-02-2012, 19:55

Ti nikako... Ne mozes procitati nesto sto je zakljucano nekom kamasutra metodom... Jedini nacin da se procita zasticen MCU je brušenje MCU-a do silicija, te direktno snimanje kamerom čelija FLASH-a. To mozes napraviti samo u kini, kao sto sam ti vec i napisao... i kosta ovisno o tipu MCU-a...

Ne mozes ti uzeti Bosh brusilicu, provući dva brusa do silicija i uključiti fotoaparat na mobu... Za takve stvari potrebna je jaako skupa oprema najmodernije tehnologije.... Trazi na google CHIP BREAK, MCU c*ack... U kini imaš firme koje se bave samo s time, i to ti je jedina moguća opcija da dojdes do HEX-a iz MCU-a.
InTheStillOfTheNight
User avatar
InTheStillOfTheNight
 
Posts: 825
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Postby nixx994 » 25-02-2012, 01:16

malo offtopic,@inthestillofthenight mislis na ovu bosh busilicu,i kameru od mobilnog? :)
Image
Kad porastem bicu Feko,ili mozda Pedja!!!:) :) :)
nixx994
 
Posts: 239
Joined: 19-03-2011, 18:20
Location: Milutovac/Trstenik/Krusevac

Re: radovi forumasa sa ubrzanog kursa pbp

Postby InTheStillOfTheNight » 02-03-2012, 19:33

nixx, to sigurno imas doma kraj ves masine :) :)
kad smo vec kod off topic :)
InTheStillOfTheNight
User avatar
InTheStillOfTheNight
 
Posts: 825
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Postby abc » 03-03-2012, 20:04

Steta sto neznam gdje sam snimio doktorski rad jednog rusa na nekom britanskom univerzitetu gdje objasnjava dosta nacina iscitavanja zakljucanih mikrokontrolera , koje ste greskom zakljucali a sors vam se zagubio :) ,a takodje i zastite istih, sve u visokokvalitetnim fotkama.

Ne bruse kuciste vec ga nagrizaju odredjenim kiselinama da bi dosli do silicija, najjednostavnija metoda je spojiti extra tanku zicu na dio cipa iza djela koji stiti od ocitavanja, prije toga nagrizenog epoksidnog kucista, mehanicka metoda.

Drugi slozeniji snimanje u radu sa elektronskim mikroskopom(normalno klok mc-a se max usporava).

Takodje mjerenje vrlo preciznim ADC(neinvazivna metoda), isto radi na sto nizem kloku, prije toga se poznati kod na istom mc analizira istom metodom.

Takodje smrzavanje na extremno niske temperature i jednostavno ocitavanje programa obicnim programatorom ili kombinacija niskih temperatura i vrlo niskih napona i brisanje bita za zastitu mc-a.

Spaljivanje laserima ili drugim nacinima odredjenog djela da bi se ocitao mc. Ili namjerno unistavanje odredjenih djelova visim naponom itd. sve zavisno od proizvodjaca i tipa mikrokontrolera.

Mislim da je bilo jos nacina i sve autor demonstrira na raznim mikrokontrolerima od raznih proizvodjaca od motorole ,atmela,mikrocipa itd.
abc
 
Posts: 496
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: radovi forumasa sa ubrzanog kursa pbp

Postby LegoMan4 » 17-06-2012, 11:37

posto sam se ja tek prikljucio evo i jedna jednostavna shema od mene

hto sam napravit da ledice blinkaju u stilu knight ridera

http://www.comicmix.com/media/2008/09/2 ... der-02.jpg

shema jednostavna

Image

samo stavite na rb1 rb2 rb3 rb4 rb5 rb6 otpornike ledice i spojite na 0

a program:

Code: Select all
SYMBOL LED1= PORTB.1
SYMBOL LED2= PORTB.2
SYMBOL LED3= PORTB.3
SYMBOL LED4= PORTB.4
SYMBOL LED5= PORTB.5
SYMBOL LED6= PORTB.6
SYMBOL LED7= PORTB.7

OUTPUT LED1
OUTPUT LED2
OUTPUT LED3
OUTPUT LED4
OUTPUT LED5
OUTPUT LED6
OUTPUT LED7

pocetak:             
high LED1
low LED2
low LED3
low LED4
low LED5
low LED6
low LED7

PAUSE 1000

low LED1
high LED2
low LED3
low LED4
low LED5
low LED6
low LED7

PAUSE 1000

low LED1
low LED2
high LED3
low LED4
low LED5
low LED6
low LED7

PAUSE 1000

low LED1
low LED2
low LED3
high LED4
low LED5
low LED6
low LED7

PAUSE 1000

low LED1
low LED2
low LED3
low LED4
high LED5
low LED6
low LED7

PAUSE 1000

low LED1
low LED2
low LED3
low LED4
low LED5
high LED6
low LED7

PAUSE 1000

low LED1
low LED2
low LED3
low LED4
low LED5
low LED6
high LED7

pause 1000

low LED1
low LED2
low LED3
low LED4
low LED5
high LED6
low LED7

PAUSE 1000

low LED1
low LED2
low LED3
low LED4
high LED5
low LED6
low LED7

PAUSE 1000

low LED1
low LED2
low LED3
high LED4
low LED5
low LED6
low LED7

PAUSE 1000

low LED1
low LED2
high LED3
low LED4
low LED5
low LED6
low LED7

PAUSE 1000

low LED1
high LED2
low LED3
low LED4
low LED5
low LED6
low LED7

PAUSE 1000
goto pocetak
User avatar
LegoMan4
 
Posts: 71
Joined: 09-05-2012, 21:47
Location: split

Re: radovi forumasa sa ubrzanog kursa pbp

Postby Maki » 04-07-2012, 08:03

Bok, novi sam na forumu i imam jedno pitanje . Imam PIC16F628A te sam ga isprogramirao da mi : pritiskom na prvi prekidac smanjuje frenkvenciju a pritiskom na drugi povecava (to se odvija na prvoj ledici ), pritiskom na 3 prekidac mi prenosi tu frenkvenciju na 2 ledicu.Sve je radi ok no problem je to sto kada povecavam frenkvenciju i ona doe do nekog maximuma ledica pocne blinkat samo svaki pol sekunde . Evo koda pa ako imate volje pogledat :
Code: Select all
Define osc 4
cmcon = 7
Trisa = 255
Trisb = 0
 
i var BYte
a var byte
W1 var word

SW1 var porta.0
SW2 var porta.1
SW3 var porta.2
SW4 var porta.3

LED1 var portb.0
LED2 var portb.1
LED3 VAR portb.2
LED4 VAR portb.3
LED5 var portb.4
LED6 VAR portb.5


PORTA = 0
PORTB = 0
a = 1
i = 1

start :
 if sw1 = 1 then
 while sw1 = 1
 led1 = 1
 pause i
 led1 = 0
 pause i
 i = i+a
 wend
 endif
 
 IF sw2 = 1 Then
 while sw2 = 1
 led1 = 1
 pause i
 led1 = 0
 pause I
 I = i-a
 wend
 endif
 
 IF sw3 = 1 THEN
 led2 = 1
 pause i
 led2 = 0
 pause i
 endif
 
 IF sw4 = 1 THEN
 led3 = 1
 pause i
 led3 = 0
 pause i
 endif
 

 
goto start
Maki
 
Posts: 259
Joined: 02-07-2012, 12:54

PreviousNext

Return to Mikrokontroleri - PIC

Who is online

Users browsing this forum: No registered users and 2 guests

GOOGLE