Program Başlamıyor

Başlatan gokk, 10 Haziran 2005, 15:59:23

gokk

Proton da bir program yazdım. 16F877 ye yukledim Lcd yi de bağladım. Pic ve Lcd sağlam. Ancak Pic e enerji verince bir turlu program başlamıyor. Lcd boş gösteriyor. Deney bordunda bağlantılarda sorun yok. Sorun Proglamla alakalı. Aynı kod Proteus ta çok güzel çalışıyor. Yardımcı olanlara şimdiden teşekkürler.

Kod un başlangıcı aşağıdaki gibi:

device=16f877

DECLARE LCD_TYPE 0
DECLARE LCD_DTPIN PORTd.4
DECLARE LCD_ENPIN PORTe.1
DECLARE LCD_RSPIN PORTe.0
DECLARE LCD_INTERFACE 4
DECLARE LCD_LINES 2
trisb= %11111111
portb=1
adcon1=7
....
...

Mnemonic

selam kodun tamamini gondermediğin için kesin yorum yapamiyorum ama bir kaç tahminde bulunayim oncelikle mcu'nun 16f877a olma ihtimali varmi
lcd yazdirma kodlarina baslamadan once delayms 500 komutunu koymanda fayda var ayrica port b nin butun bacaklarini giris yapmışın daha sonra onu 1 olarak set etmisin bu port giris ise portb=1 satirini kaldir eger değil ise trisb satirini eştlikten sonra tamamini 0 olarak değiştir ayrica proteus gerçekten ziyade biraz genel bir similatordur ornek olarak osc baglamadan calisir pice sag tusla tikla sonra solla tıkla ordaki osc kısmını kendı osc degerin ile değiştir ayrıca koda osc satirini deviceden sonra koymanı oneririm bak bakalim o zaman calisacakmi

mhk

Osilatörden kaynaklanıyordur. Eğer 20 Mhz osc kullanıyorsa osilatör tipini HS olarak , veya protonda tam hatırlamıyorum lakin, ilk başta eklemende fayda gördüğüm inc dosyası ( Proton_20.inc gibi bir dosya ) örnek olarak
' Read channel 0 of on-board ADC and display the results
       	
       	Include "PROTON_20.INC"
       	ADIN_RES	10					' Set the resolution to 10
        ADIN_TAD	FRC					' Choose the RC osc for ADC samples
       	ADIN_STIME	100        			' Allow 100us for charge time
        
        Dim Raw 		as Word			
		Dim Value 		as Word
       	Dim Volts 		as Byte
       	Dim Millivolts 	as Word	
       	
        Delayms 500						' Wait for PICmicro to stabilise
        Cls              				' Clear the LCD
		TRISA.0 = 1						' Setup bit-0 of PortA as an input
       	ADCON1 = %10000010				' Set PORTA analog and right justify result
Again: 	Raw = ADIN 0					' Read the ADC
        Print at 2,1,"RAW= ",@Raw,"   "	' Display the RAW data
        Value = 489 *(Raw / 10)			' Quantasize the result
		Volts = Value / 10000
		Millivolts = (Value // 10000) / 100
       	Print at 1,1,Dec1 Volts,".",Dec2 Millivolts,"V" ' Display the result
       	Goto Again						' Do it forever
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana

mhk

Buda Proton_g20 inc dosyası içindeki tanımlama bilgileri.
DEVICE = 16F877
        XTAL = 20

		LCD_DTPIN = PORTD.4	
		LCD_RSPIN = PORTE.0
		LCD_ENPIN = PORTE.1
		LCD_INTERFACE = 4	' 4-bit Interface
		LCD_LINES = 2
		LCD_TYPE = 0


		SCL_PIN	= PORTC.3
        SDA_PIN	= PORTC.4


		SERIAL_BAUD = 9600	
		RSOUT_PIN = PORTC.6
		RSOUT_MODE = TRUE
		RSOUT_PACE = 1
		RSIN_PIN = PORTC.7
		RSIN_MODE = TRUE
        

        HSERIAL_BAUD = 9600				' Set baud rate to 9600
        HSERIAL_RCSTA = %10010000       ' Enable serial port and continuous receive
        HSERIAL_TXSTA = %00100100       ' Enable transmit and asynchronous mode 
        HSERIAL_CLEAR = ON				' Enable Error clearing on received characters
        

		KEYPAD_PORT = PORTB
        
        CCP1_PIN = PORTC.2
		CCP2_PIN = PORTC.1

		Symbol T300 = 3313	NO_LIST
		Symbol N300 = 3313 + $4000	NO_LIST
		Symbol T600 = 1646	NO_LIST
		Symbol N600 = 1646 + $4000	NO_LIST
		Symbol T1200 = 813	NO_LIST
		Symbol N1200 = 813 + $4000	NO_LIST
		Symbol T2400 = 396	NO_LIST
		Symbol N2400 = 396 + $4000	NO_LIST
		Symbol T4800 = 188	NO_LIST
		Symbol N4800 = 188 + $4000	NO_LIST
		Symbol T9600 = 84	NO_LIST
		Symbol N9600 = 84 + $4000 NO_LIST
    
		Symbol OT2400 = 396 + $8000	NO_LIST       ' Open True
		Symbol OT1200 = 813 + $8000	NO_LIST       ' Open True
		Symbol OT9600 = 84 + $8000	NO_LIST      ' Open True
		Symbol OT300  = 3313 + $8000	NO_LIST      ' Open True

		Symbol ON2400 = 396 + $4000 + $8000	NO_LIST      ' Open Inverted
		Symbol ON1200 = 813 + $4000 + $8000	NO_LIST      ' Open Inverted
		Symbol ON9600 = 84 + $4000 + $8000	NO_LIST      ' Open Inverted
		Symbol ON300  = 3313 + $4000 + $8000 	NO_LIST     ' Open Inverted

' Rsout / Serial Constants
		Symbol HOME = 1	NO_LIST
		Symbol BELL = 7	NO_LIST
		Symbol BKSP = 8	NO_LIST
		Symbol TAB = 9	NO_LIST
		Symbol CR = 13	NO_LIST
        
        ALL_DIGITAL = TRUE	' Set PORTA and PORTE to all digital
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana