877 lcd 5.yazıdan sonra resetleniyor

Başlatan mame, 03 Kasım 2006, 05:45:52

mame

arkadaslar yaptıgım projede yaklasık 20 mesaj görüntülüycem ama asagıda kodlarını verdigim programda 5. mesajdan sonra 6. mesaj görüntülenmiyor 1. mesaja dönüyor lütfen yardım
'****************************************************************
'*  Name    : 877 lcd.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 03.11.2006                                        *
'*  Version : 1.0                                               *
'*  Notes   : processor pic16f877                                                  *
'*          :                                                   *
'****************************************************************
Define	ONINT_USED	1


Define  LCD_DREG        PORTD
Define  LCD_DBIT        4
Define  LCD_RSREG       PORTE
Define  LCD_RSBIT       0
Define  LCD_EREG        PORTE
Define  LCD_EBIT        1
DEFINE LCD_RWREG PORTE
DEFINE LCD_RWBIT 2
DEFINE LCD_BITS 4 
DEFINE LCD_LINES 2


ADCON1 = 7      
Low PORTE.2    
Pause 100       
loop:   Lcdout $fe, 1   ' Clear screen
        Pause 500       
        Lcdout "deneme1"  
        Pause 500       
        Lcdout $fe, $c0, "deneme2"   ' Move to line 2  and display 
        Pause 500       
        Lcdout $fe, 1
        Lcdout "deneme3"  
        Pause 500       
        Lcdout $fe, $c0, "deneme4"
        Pause 500       
        Lcdout $fe, 1
        Lcdout "deneme5"  
        Pause 500       
        Lcdout $fe, $c0, "deneme6"
        Goto loop       
         
        End
bayrakları bayrak yapan üstündeki kandır,toprak eğer uğrunda ölen varsa vatandır.

ete

Aslında resetlenmiyor.
Sen Deneme6 yazısını ekranda görecek kadar bir süre koymamışsın. O yüzden göremiyorsun. Program aslında ekrana Deneme6 yazıyor fakat hemen ardından LCDOUT $FE,1 komutu bu yazıyı sildiği için sen göremiyorsun.

Son satırları şöyle yazarsan sonucu görebilirsin.;

Lcdout $fe,$C0,"deneme6"
 pause 500
 Goto loop  


Yada sona Pause 500  komutunu aşağıya koyma ancak Loop satırını şöyle yaz;
Loop:
         Pause 500
         LCDOUT $Fe,1


Yani Pause 500 gecikmesini ekranı silmeden önce verirsen her şey düzelecek.
Kolay Gelsin
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

mame

ete bey tesekkür ederim gözümden kacmıs asm de de aynı sorunu yasayınca programdan süphelenmemistim.denedim su an normal.
bayrakları bayrak yapan üstündeki kandır,toprak eğer uğrunda ölen varsa vatandır.