PDA

View Full Version : Pic16f84 and RC5 kode



terminator
- 10th June 2007, 19:03
Hi,
I nead making infra red switcher with PIC,
if ani having sample please help me.

thank you!

skimask
- 10th June 2007, 22:37
Hi,
I nead making infra red switcher with PIC,
if ani having sample please help me.

thank you!

Could you post any FEWER details about your project?

precision
- 11th June 2007, 06:29
DEFINE OSC 8
INCLUDE "MODEDEFS.BAS"
A1 VAR WORD
B0 VAR BYTE
TRISA = %00000011
TRISB = %00000000
LOW PORTB
PAUSE 500
Start: IF PORTA.0 = 1 THEN START
PAUSEUS 100
IF PORTA.0 = 1 THEN START
PAUSEUS 1350
A1.0[13] = PORTA.0
FOR B0 = 12 to 0 STEP - 1
A1.0[B0] = PORTA.0
PAUSEUS 1700
NEXT B0
IF A1.LowByte = $FF THEN START
A1 = ~A1 & $003F
IF PORTA.1 = 1 THEN
GOTO DO
ELSE
GOTO PO
ENDIF

DO: IF A1 = 1 THEN RL1
IF A1 = 2 THEN RL2
IF A1 = 3 THEN RL3
IF A1 = 4 THEN RL4
IF A1 = 5 THEN RL5
IF A1 = 6 THEN RL6
IF A1 = 7 THEN RL7
IF A1 = 8 THEN RL8
IF A1 = 9 THEN RL9
IF A1 = 0 THEN RL10
IF A1 = 16 THEN RLH
IF A1 = 17 THEN RLL

PO: IF A1 = 1 THEN RLP1
IF A1 = 2 THEN RLP2
IF A1 = 3 THEN RLP3
IF A1 = 4 THEN RLP4
IF A1 = 5 THEN RLP5
IF A1 = 6 THEN RLP6
IF A1 = 7 THEN RLP7
IF A1 = 8 THEN RLP8
IF A1 = 9 THEN RLP9
IF A1 = 0 THEN RLP10
IF A1 = 16 THEN RLPH
PAUSE 250
GOTO START
RL1: TOGGLE PORTB.0
PAUSE 500
GOTO START
RL2: TOGGLE PORTB.1
PAUSE 500
GOTO START
RL3: TOGGLE PORTB.2
PAUSE 500
GOTO START
RL4: TOGGLE PORTB.3
PAUSE 500
GOTO START
RL5: TOGGLE PORTB.4
PAUSE 500
GOTO START
RL6: TOGGLE PORTB.5
PAUSE 500
GOTO START
RL7: TOGGLE PORTB.6
PAUSE 500
GOTO START
RL8: TOGGLE PORTB.7
PAUSE 500
GOTO START
RL9: TOGGLE PORTA.2
PAUSE 500
GOTO START
RL10: TOGGLE PORTA.3
PAUSE 500
GOTO START
RLH: HIGH PORTB.0
HIGH PORTB.1
HIGH PORTB.2
HIGH PORTB.3
HIGH PORTB.4
HIGH PORTB.5
HIGH PORTB.6
HIGH PORTB.7
HIGH PORTA.2
HIGH PORTA.3
PAUSE 500
GOTO START
RLL:
LOW PORTB.0
LOW PORTB.1
LOW PORTB.2
LOW PORTB.3
LOW PORTB.4
LOW PORTB.5
LOW PORTB.6
LOW PORTB.7
LOW PORTA.2
LOW PORTA.3
PAUSE 500
GOTO START
RLP1: HIGH PORTB.0
PAUSE 500
LOW PORTB.0
GOTO START

RLP2: HIGH PORTB.1
PAUSE 500
LOW PORTB.1
GOTO START
RLP3: HIGH PORTB.2
PAUSE 500
LOW PORTB.2
GOTO START
RLP4: HIGH PORTB.3
PAUSE 500
LOW PORTB.3
GOTO START
RLP5: HIGH PORTB.4
PAUSE 500
LOW PORTB.4
GOTO START
RLP6: HIGH PORTB.5
PAUSE 500
LOW PORTB.5
GOTO START
RLP7: HIGH PORTB.6
PAUSE 500
LOW PORTB.6
GOTO START
RLP8: HIGH PORTB.7
PAUSE 500
LOW PORTB.7
GOTO START
RLP9: HIGH PORTA.2
PAUSE 500
LOW PORTA.2
GOTO START
RLP10: HIGH PORTA.3
PAUSE 500
LOW PORTA.3
GOTO START
RLPH: HIGH PORTB.0
HIGH PORTB.1
HIGH PORTB.2
HIGH PORTB.3
HIGH PORTB.4
HIGH PORTB.5
HIGH PORTB.6
HIGH PORTB.7
HIGH PORTA.2
HIGH PORTA.3
PAUSE 500
LOW PORTB.0
LOW PORTB.1
LOW PORTB.2
LOW PORTB.3
LOW PORTB.4
LOW PORTB.5
LOW PORTB.6
LOW PORTB.7
LOW PORTA.2
LOW PORTA.3
GOTO START
END

skimask
- 11th June 2007, 06:53
DEFINE OSC 8
INCLUDE "MODEDEFS.BAS"
a1 var word : b0 var byte : trisa=3 : trisb=0 : low portb : pause 500
Start: IF PORTA.0 = 1 THEN START
PAUSEUS 100 : IF PORTA.0 = 1 THEN START
PAUSEUS 1350 : A1.0[13] = PORTA.0
for b0 = 12 to 0 step -1 : a1.0[b0]=porta.0 : pauseus 1700 : next b0
if a1.lowbyte = $FF THEN START
A1 = ~A1 & $003F
IF PORTA.1 = 1 THEN
if a1 > 0 and a1 < 9 then
toggle portb.0[a1-8] : pause 500 : goto start
else
if a1=9 then
toggle porta.2 : pause 500 : goto start
else
if a1=10 then
toggle porta.3 : pause 500 : goto start
else
if a1=11 then
portb=$ff : porta.2=1 : porta.3=1 : pause 500 : goto start
else
if a1=12 then
portb=0 : porta.2=0 : porta.3=0 : pause 500 : goto start
endif
endif
endif
endif
endif
ELSE
if a1>0 and a1<9 then
high portb.0[a1-8] : pause 500 : low portb.0[a1-8]:goto start
else
if a1=9 then
high porta.2 : pause 500 : low porta.2 : goto start
else
if a1=10 then
high porta.3 : pause 500 : low porta.3 : goto start
else
if a1=11 then
portb=$ff : porta.2=1 : porta.3=1 : pause 500 : portb.=0 : porta.2=0 : porta.3=0 : goto start
endif
endif
endif
endif
ENDIF
PAUSE 250 : GOTO START
END

precision
- 11th June 2007, 07:07
Hi skimask,

Thanks to redused code.

terminator
- 18th June 2007, 22:40
Thank you

I Maaked detektor with ic 555 like generator ic signals and any Pic in reciver module (16f84).
If stop signal then rele in NC kontakt have horn.
this program is first tray, workin bat having too many problems.

'on of if any tast. in the tv remote kontrol push down.
'TSOP 1736 data in pin A.2


rele var PortB.6
id var byte

TRISA.2=1
id=0

Pocetak:

low led
pulsin PortA.2,0,id
if id >100 then ukljuci
goto pocetak

ukljuci:

high rele
goto pocetak

end