PBP

Alle vragen m.b.t digitale schakelingen m.b.v. losse i.c's
en oplossingen m.b.v. PIC processoren.
Plaats reactie
JARI NETWORKS
Berichten: 1697
Lid geworden op: zo 23 apr 2006, 19:01
Locatie: Hedalen. .. Noorwegen .. .. .. .. .. .. ...

PBP

Bericht door JARI NETWORKS »

ik heb weer even een zwaai naar PBP gemaakt, en het volgende programma voor een pic16f877a werkt maar gedeeltelijk

de led op PORTD.1 toggelt prima,
maar de texten aan en uit komen niet op het display, de rest wel.
ook de uitgangen 1,2 en 3 toggelen niet als de ingangen hoog gemaakt worden.

@ DEVICE PIC16F877A,HS_OSC
@ DEVICE PIC16F877A,BOD_OFF
@ DEVICE PIC16F877A,LVP_OFF
@ DEVICE PIC16F877A,CPD_OFF
@ DEVICE PIC16F877A,PROTECT_OFF

DEFINE OSC 20

DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 4
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

CMCON = 7

TRISA = %11111111
TRISB = %00000000
TRISC = %00000000
TRISD = %11111111

ING1 VAR PORTA.1
ING2 VAR PORTA.2
ING3 VAR PORTA.3

UITG1 VAR PORTC.1
UITG2 VAR PORTC.2
UITG3 VAR PORTC.3


LCDOut $FE, $80, "Lamp Garage is"
LCDOut $FE, $C0, "Lamp Washok is"
LCDOut $FE, $94, "Lamp Hal is"
LCDOut $FE, $D4, "Temp In "
LCDOut $FE, $D4+12, "Out"

While 1 = 1

Toggle PORTD.1

Pause 1000

IF ING1 = 1 Then GoSub PB1
IF ING2 = 1 Then GoSub PB2
IF ING3 = 1 Then GoSub PB3


Wend


PB1:
Toggle UITG1
IF UITG1 = 1 Then
LCDOut $FE, $80+15,"AAN"
Else LCDOut $FE, $80+15,"UIT"
EndIF
Return

PB2:
Toggle UITG2
IF UITG2 = 1 Then
LCDOut $FE, $C0+15,"AAN"
Else LCDOut $C0+15,"UIT"
EndIF
Return

PB3:
Toggle UITG3
IF UITG1 = 1 Then
LCDOut $FE, $94+15,"AAN"
Else LCDOut $FE, $D4+15,"UIT"
EndIF
Return

End

waar gaat dit fout?
Plaats reactie