bural41
Üye
- Katılım
- 2 Eki 2010
- Mesajlar
- 14
- Puanları
- 1
Arkadaşlar 16F84 pic ile sıvı seviye ölçer yapıyorum bitirme projem haftaya sunumum olacak isis'de similasyonda denedim çalışıyor fakat devreyi kurup görmek istediğimde devreden hiç tepki almıyorum nerede hatam var lütfen yardım çok acil!!!
Aşağıda programı ve çizimi bulabilirisinz...
Program
DEFINE LCD_DREG PORTB 'Lcd data bacakları PortB de bağlı
DEFINE LCD_DBIT 4 'LCD data bacakları 4. bitten başlıyor
DEFINE LCD_EREG PORTB 'LCD Enable Bacağı PortB de bağlı
DEFINE LCD_EBIT 3 'LCD Enable Bacağı 3. bite bağlı
DEFINE LCD_RWREG PORTB 'LCD RW Bacağı PortB de bağlı
DEFINE LCD_RWBIT 2 'LCD RW Bacağı 2. bite bağlı
DEFINE LCD_RSREG PORTB 'LCD RS Bacağı PortB de bağlı
DEFINE LCD_RSBIT 1 'LCD RS bacağı 1. Bite bağlı
DEFINE LCD_BITS 4 'LCD 4 bit olarak bağlı
DEFINE LCD_LINES 2 'LCD 2 sıra olarak çalışıyor.
TRISA=255 'A portu çıkış olarak ayarlandı
TRISB=0 'B.0 pini giriş diğerleri çıkış olarak ayarlandı.
SYMBOL TUS0=PORTA.0
SYMBOL TUS1=PORTA.1
SYMBOL TUS2=PORTA.2
SYMBOL TUS3=PORTA.3
LCDOUT $FE,1
LOW PORTB.2
BASLA:
PAUSE 2000
IF TUS0= 0 THEN
LCDOUT $FE,1
LCDOUT $FE,$84,"DEPO BOS"
LCDOUT $FE,$C3,"DOLDURUN(!)"
ENDIF
IF TUS0= 0 THEN
TOGGLE PORTB.7
ENDIF
IF TUS0= 1 THEN
LCDOUT $FE,1
LCDOUT $FE,$84,"doluluk"
LCDOUT $FE,$C6,"% ^"
ENDIF
IF TUS1= 1 THEN
LCDOUT $FE,$84,"doluluk"
LCDOUT $FE,$C6,"P ^"
ENDIF
IF TUS2= 1 THEN
LCDOUT $FE,$84,"doluluk"
LCDOUT $FE,$C6,"u ^"
ENDIF
IF TUS3= 1 THEN
LCDOUT $FE,$83,"doluluk 0"
LCDOUT $FE,$C3,"***DOLU***"
LOW PORTB.7
ENDIF
IF TUS3=0 THEN
TOGGLE PORTB.7
ENDIF
goto basla
END
Aşağıda programı ve çizimi bulabilirisinz...
Program
DEFINE LCD_DREG PORTB 'Lcd data bacakları PortB de bağlı
DEFINE LCD_DBIT 4 'LCD data bacakları 4. bitten başlıyor
DEFINE LCD_EREG PORTB 'LCD Enable Bacağı PortB de bağlı
DEFINE LCD_EBIT 3 'LCD Enable Bacağı 3. bite bağlı
DEFINE LCD_RWREG PORTB 'LCD RW Bacağı PortB de bağlı
DEFINE LCD_RWBIT 2 'LCD RW Bacağı 2. bite bağlı
DEFINE LCD_RSREG PORTB 'LCD RS Bacağı PortB de bağlı
DEFINE LCD_RSBIT 1 'LCD RS bacağı 1. Bite bağlı
DEFINE LCD_BITS 4 'LCD 4 bit olarak bağlı
DEFINE LCD_LINES 2 'LCD 2 sıra olarak çalışıyor.
TRISA=255 'A portu çıkış olarak ayarlandı
TRISB=0 'B.0 pini giriş diğerleri çıkış olarak ayarlandı.
SYMBOL TUS0=PORTA.0
SYMBOL TUS1=PORTA.1
SYMBOL TUS2=PORTA.2
SYMBOL TUS3=PORTA.3
LCDOUT $FE,1
LOW PORTB.2
BASLA:
PAUSE 2000
IF TUS0= 0 THEN
LCDOUT $FE,1
LCDOUT $FE,$84,"DEPO BOS"
LCDOUT $FE,$C3,"DOLDURUN(!)"
ENDIF
IF TUS0= 0 THEN
TOGGLE PORTB.7
ENDIF
IF TUS0= 1 THEN
LCDOUT $FE,1
LCDOUT $FE,$84,"doluluk"
LCDOUT $FE,$C6,"% ^"
ENDIF
IF TUS1= 1 THEN
LCDOUT $FE,$84,"doluluk"
LCDOUT $FE,$C6,"P ^"
ENDIF
IF TUS2= 1 THEN
LCDOUT $FE,$84,"doluluk"
LCDOUT $FE,$C6,"u ^"
ENDIF
IF TUS3= 1 THEN
LCDOUT $FE,$83,"doluluk 0"
LCDOUT $FE,$C3,"***DOLU***"
LOW PORTB.7
ENDIF
IF TUS3=0 THEN
TOGGLE PORTB.7
ENDIF
goto basla
END