radovi forumasa sa ubrzanog kursa pbp

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

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
User avatar
RazoR
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 255
Joined: 01-08-2008, 15:14
Location: Hrvatska

Re: radovi forumasa sa ubrzanog kursa pbp

Post by RazoR »

Evo nasao sam neki kod za prijemnik i predajnik u pic basicu: http://www.rentron.com/PicBasic/IR_Chips.htm" onclick="window.open(this.href);return false;

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
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Post by pedja089 »

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
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: radovi forumasa sa ubrzanog kursa pbp

Post by Kizo »

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
VFDisplay
Odlično uznapredovao
Odlično uznapredovao
Posts: 515
Joined: 01-08-2009, 20:18

Re: radovi forumasa sa ubrzanog kursa pbp

Post by VFDisplay »

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?
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re: radovi forumasa sa ubrzanog kursa pbp

Post by Branez »

Daljinac nema senzora nego IR diode!
Real Radios Glow in the Dark!
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Post by pedja089 »

Na koji kod tacno mislis, i sta si tacno probao :?:
VFDisplay
Odlično uznapredovao
Odlično uznapredovao
Posts: 515
Joined: 01-08-2009, 20:18

Re: radovi forumasa sa ubrzanog kursa pbp

Post by VFDisplay »

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.
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Post by pedja089 »

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
niho
Pravi forumaš
Pravi forumaš
Posts: 1895
Joined: 24-09-2009, 17:26
Location: Brcko, Bosnia and Herzegovina

Re: dimer sa 16f84a

Post by niho »

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 20955 times
VFDisplay
Odlično uznapredovao
Odlično uznapredovao
Posts: 515
Joined: 01-08-2009, 20:18

Re: radovi forumasa sa ubrzanog kursa pbp

Post by VFDisplay »

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...
User avatar
jadranko
Napredujem
Napredujem
Posts: 122
Joined: 29-01-2012, 01:29
Location: zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Post by jadranko »

: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
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Post by InTheStillOfTheNight »

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
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Post by InTheStillOfTheNight »

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
jadranko
Napredujem
Napredujem
Posts: 122
Joined: 29-01-2012, 01:29
Location: zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Post by jadranko »

: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
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Post by InTheStillOfTheNight »

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
nixx994
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 248
Joined: 19-03-2011, 18:20
Location: Milutovac/Trstenik/Krusevac
Contact:

Re: radovi forumasa sa ubrzanog kursa pbp

Post by nixx994 »

malo offtopic,@inthestillofthenight mislis na ovu bosh busilicu,i kameru od mobilnog? :)
Image
Kad porastem bicu Feko,ili mozda Pedja!!!:) :) :)
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: radovi forumasa sa ubrzanog kursa pbp

Post by InTheStillOfTheNight »

nixx, to sigurno imas doma kraj ves masine :) :)
kad smo vec kod off topic :)
InTheStillOfTheNight
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: radovi forumasa sa ubrzanog kursa pbp

Post by abc »

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.
User avatar
LegoMan4
Penjem se :)
Penjem se :)
Posts: 92
Joined: 09-05-2012, 21:47
Location: split

Re: radovi forumasa sa ubrzanog kursa pbp

Post by LegoMan4 »

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 
Maki
Odlično uznapredovao
Odlično uznapredovao
Posts: 766
Joined: 02-07-2012, 12:54

Re: radovi forumasa sa ubrzanog kursa pbp

Post by Maki »

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
Post Reply