Moderators: stojke369, pedja089, [eDo], trax

Define LCD_DREG PORTD
Define LCD_DBIT 4
Define LCD_RSREG PORTD
Define LCD_RSBIT 2
Define LCD_EREG PORTD
Define LCD_EBIT 3
DEFINE LCE_BITS 4
DEFINE LCD_LINES 2
symbol taster=porta.0
symbol tastera=porta.1
symbol led=portb.0
symbol buzer=portc.2
trisb=%00000000
ADCON1=$7
I Var word
j var word
i=0
j=0
pocetak:
portb=0
if taster=0 then i=i+1
if i>65535 then i=0
if tastera=0 then broj
pause 20
Lcdout $fe, 1, "reset: " ,DEC5 I
Pause 100
Goto pocetak
broj:
portb=0
high led
for j=0 to i
if j=i then i=0:low led: sound buzer,[110,55]
lcdout $fe,$c0, "start: " ,dec5 j
pause 1000
next j
goto pocetak
End
:10000000B6011D290408A7008811081108118316DC
:100010008811081108110F30880583122708B618B7
:100020002F283A30A1009830C7203330A600432053
:100030001330A1008830C72043206430C6204320FD
:100040006430C6202230A600432028302E200C30F9
:100050002E2006302E20B61427082F283614A6008E
:10006000361C3D280811033C031C4228422007305F
:10007000A100D030C720031408003614FE3C031939
:1000800018290815361C361088150F3088052608E3
:10009000F03988048811A60E361843283230C6205D
:1000A00003140800B71329080319B7170530A8006F
:1000B0002730A300103068200330A300E830682008
:1000C000A30164306820A3010A30682024086F2847
:1000D000A2002508A1002408A000F7202008A00005
:1000E000A8030319B713290803197928280203184C
:1000F00008002008031DB713B71B0800303E132962
:10010000A3003A0884003809A7208413A308031920
:100110001829F030A50022088038A400F030A5038B
:100120000319A5000319A303031918299728AA2066
:10013000030120183808A21F3808A2080319030178
:10014000A40FA42880068B28A52800008E288417D9
:1001500080051829210820040319A00A8030201ADC
:10016000A1062019A106A018A106210DA00DA10D20
:100170001829A301A200FF30A207031CA307031C38
:1001800018290330A100DF30C720BB28A101E83EB9
:10019000A000A109FC30031CD028A0070318CD281B
:1001A000A0076400A10FCD282018D628A01CDA28AB
:1001B0000000DA280800A101A301A2000230E02813
:1001C000A80023082102031DE7282208200204308A
:1001D00003180130031902302805031DFF301829C8
:1001E0000038031DFF300405031DFF301829A50149
:1001F000A4011030A600210DA40DA50D2208A40213
:100200002308031C230FA50203180D292208A407A5
:1002100023080318230FA5070310A00DA10DA60B9B
:10022000FB2820081829840031088A003008820041
:1002300083130313831264000800831686010730BA
:100240009F008312BF01BE01BD01BC018601640095
:100250008A110A1205182D29BF0A64003C303F029A
:100260008A110A12031C3629BF01BE0A64003C3001
:100270003E028A110A12031C3E29BE0164008A1143
:100280000A12851C7D2932308A01B920FE308A018C
:10029000032001308A01032073308A010320653076
:1002A0008A01032074308A01032069308A01032007
:1002B0006E308A01032067308A01032073308A017F
:1002C000032020308A0103200230A9003E08A40048
:1002D000A5010230B000B1018A0152203A308A01F2
:1002E00003200230A9003F08A400A5010230B0009D
:1002F000B1018A0152208A01262932308A01B920AF
:1003000086010614831606108312BC0164003D307A
:100310003C028A110A120318272ABD0164003D30ED
:100320003D028A110A120318222A64003D083C3C4F
:100330008A110A12031D9E29BD01BC0A64003C08F3
:100340003C3C8A110A12031DA729BC01BD013C08CF
:10035000A0003E088A01DB20B2003D08A0003F0853
:100360008A01DB20B4003208840034088A01F020BE
:10037000B400B5006400340835048A110A12031968
:10038000CE2906108316061007308312BA000430F7
:10039000B8006E30A20032308A018020FE308A011F
:1003A0000320C0308A01032063308A0103206F30AC
:1003B0008A01032075308A0103206E308A010320F0
:1003C00074308A01032065308A01032072308A016B
:1003D000032020308A0103200230A9003C08A40039
:1003E000A5010230B000B1018A0152203A308A01E1
:1003F00003200230A9003D08A400A5010230B0008E
:10040000B1018A0152200330A300E8308A01BA20EA
:100410003C08A0003E088A01DB20B2003D08A00095
:100420003F088A01DB20B4003208840034088A01C6
:10043000F0208A110A12031D2629BD0A8A110A1208
:10044000031D8E29BC0A8A110A12031D86298A01FE
:08045000262963008A01292A14
:02400E00753FFC
:00000001FFSYMBOL 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 Pocetakpedja089 wrote:Inace ovaj gore kod nema ni jednu gresku,
Return to Mikrokontroleri - PIC
Users browsing this forum: Google [Bot], nemanjans and 0 guests