ASM BİLENLER, LÜTFEN YARDIM...

Başlatan may86, 31 Mart 2006, 05:42:14

may86

OKUL PROJEM İÇİN 16F877 İLE DJİTAL TERMOMETRE ALDIM. ANTRAK'DA YAYINLANAN DS1820 DEVRESİNİ YAPTIM VE ÇALIŞTIRDIM FAKAT LCD'DE "ANTRAK DS1820 TE" YAZDIĞI İÇİN HOCAMA KABUL ETTİREMİYORUM. HEX KODUNU ASM'YE ÇEVİRDİM FAKAT ASM HAKKINDA HİÇBİR BİLGİM YOK. LCD'NİN İLK SATIRINDA YAZAN BU YAZIYI "MEHMET AY" VEYA "ORTAM SICAKLIGI" OLARAK DEĞİSTİREBİLECEKLERDEN YARDIM İSTİYORUM. ASM KODLARINI BU ŞEKİLDE DEĞİŞTİRİP, HEXE ÇEVİREBİLİRSENİZ ÇOK MUTLU OLACAĞIM. ŞİMDİDEN TEŞEKKÜRLER.
mail adresim: mehmetay86@hotmail.com

asm kodları:

processor 16F877
#include <P16F877.INC>
__config 0x3D75
; _CP_OFF & _DEBUG_OFF & _WRT_ENABLE_OFF & _CPD_OFF & _LVP_OFF & _BODEN_ON & _PWRTE_ON
; & _WDT_ON & _XT_OSC

; RAM-Variable
LRAM_0x20 equ 0x20
LRAM_0x21 equ 0x21
LRAM_0x22 equ 0x22
LRAM_0x23 equ 0x23
LRAM_0x24 equ 0x24
LRAM_0x25 equ 0x25
LRAM_0x26 equ 0x26
LRAM_0x27 equ 0x27
LRAM_0x28 equ 0x28
LRAM_0x29 equ 0x29
LRAM_0x30 equ 0x30
LRAM_0x31 equ 0x31
LRAM_0x32 equ 0x32
LRAM_0x33 equ 0x33
LRAM_0x36 equ 0x36
LRAM_0x37 equ 0x37
LRAM_0x3C equ 0x3C
LRAM_0x3D equ 0x3D
LRAM_0x3E equ 0x3E
LRAM_0x3F equ 0x3F

; Program

Org 0x0000

; Reset-Vector
CLRF LRAM_0x36
GOTO LADR_0x00D0
MOVF FSR,W
LADR_0x0003
MOVWF LRAM_0x27
; Interrupt-Vector
BCF PORTE,1 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
BCF PORTE,0 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
BCF PORTE,0 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF PORTE,1 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
BCF PORTE,0 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
BCF PORTE,0 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
MOVLW 0x0F
ANDWF PORTD,F ; !!Bank!! PORTD - TRISD - Unimplemented - Unimplemented
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVF LRAM_0x27,W
BTFSC LRAM_0x36,1
GOTO LADR_0x002F
MOVLW 0x3A
MOVWF LRAM_0x21
MOVLW 0x98
CALL LADR_0x008E
MOVLW 0x33
MOVWF LRAM_0x26
CALL LADR_0x0043
MOVLW 0x13
MOVWF LRAM_0x21
MOVLW 0x88
CALL LADR_0x008E
CALL LADR_0x0043
MOVLW 0x64
CALL LADR_0x008D
CALL LADR_0x0043
MOVLW 0x64
CALL LADR_0x008D
MOVLW 0x22
MOVWF LRAM_0x26
CALL LADR_0x0043
MOVLW 0x28
CALL LADR_0x002E
MOVLW 0x0C
CALL LADR_0x002E
MOVLW 0x06
CALL LADR_0x002E
BSF LRAM_0x36,1
MOVF LRAM_0x27,W
GOTO LADR_0x002F
LADR_0x002E
BSF LRAM_0x36,0
LADR_0x002F
MOVWF LRAM_0x26
BTFSS LRAM_0x36,0
GOTO LADR_0x003D
BCF PORTE,0 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
SUBLW 0x03
BTFSS STATUS,C
GOTO LADR_0x0042
CALL LADR_0x0042
MOVLW 0x07
MOVWF LRAM_0x21
MOVLW 0xD0
CALL LADR_0x008E
BSF STATUS,C
RETURN
LADR_0x003D
BSF LRAM_0x36,0
SUBLW 0xFE
BTFSC STATUS,Z
GOTO LADR_0x00CB
BSF PORTE,0 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
LADR_0x0042
BTFSS LRAM_0x36,0
LADR_0x0043
BCF LRAM_0x36,0
BSF PORTE,1 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
MOVLW 0x0F
ANDWF PORTD,F ; !!Bank!! PORTD - TRISD - Unimplemented - Unimplemented
MOVF LRAM_0x26,W
ANDLW 0xF0
IORWF PORTD,F ; !!Bank!! PORTD - TRISD - Unimplemented - Unimplemented
BCF PORTE,1 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
SWAPF LRAM_0x26,F
BTFSC LRAM_0x36,0
GOTO LADR_0x0043
MOVLW 0x32
CALL LADR_0x008D
BSF STATUS,C
RETURN
LADR_0x0052
BCF LRAM_0x37,7
MOVF LRAM_0x29,W
BTFSC STATUS,Z
BSF LRAM_0x37,7
MOVLW 0x05
MOVWF LRAM_0x28
MOVLW 0x27
MOVWF LRAM_0x23
MOVLW 0x10
CALL LADR_0x0068
MOVLW 0x03
MOVWF LRAM_0x23
MOVLW 0xE8
CALL LADR_0x0068
CLRF LRAM_0x23
MOVLW 0x64
CALL LADR_0x0068
CLRF LRAM_0x23
MOVLW 0x0A
CALL LADR_0x0068
MOVF LRAM_0x24,W
GOTO LADR_0x006F
LADR_0x0068
MOVWF LRAM_0x22
MOVF LRAM_0x25,W
MOVWF LRAM_0x21
MOVF LRAM_0x24,W
MOVWF LRAM_0x20
CALL LADR_0x00AA
MOVF LRAM_0x20,W
LADR_0x006F
MOVWF LRAM_0x20
DECF LRAM_0x28,F
BTFSC STATUS,Z
BCF LRAM_0x37,7
MOVF LRAM_0x29,W
BTFSC STATUS,Z
GOTO LADR_0x0079
SUBWF LRAM_0x28,W
BTFSC STATUS,C
RETURN
LADR_0x0079
MOVF LRAM_0x20,W
BTFSS STATUS,Z
BCF LRAM_0x37,7
BTFSC LRAM_0x37,7
RETURN
ADDLW 0x30
GOTO LADR_0x00C6
LADR_0x0080
CLRF LRAM_0x23
LADR_0x0081
MOVWF LRAM_0x22
LADR_0x0082
MOVLW 0xFF
ADDWF LRAM_0x22,F
BTFSS STATUS,C
ADDWF LRAM_0x23,F
BTFSS STATUS,C
GOTO LADR_0x00CB
MOVLW 0x03
MOVWF LRAM_0x21
MOVLW 0xDF
CALL LADR_0x008E
GOTO LADR_0x0082
LADR_0x008D
CLRF LRAM_0x21
LADR_0x008E
ADDLW 0xE8
MOVWF LRAM_0x20
COMF LRAM_0x21,F
MOVLW 0xFC
BTFSS STATUS,C
GOTO LADR_0x0097
LADR_0x0094
ADDWF LRAM_0x20,F
BTFSC STATUS,C
GOTO LADR_0x0094
LADR_0x0097
ADDWF LRAM_0x20,F
CLRWDT
INCFSZ LRAM_0x21,F
GOTO LADR_0x0094
BTFSC LRAM_0x20,0
GOTO LADR_0x009D
LADR_0x009D
BTFSS LRAM_0x20,1
GOTO LADR_0x00A1
NOP
GOTO LADR_0x00A1
LADR_0x00A1
RETURN
LADR_0x00A2
BCF STATUS,C
RRF LRAM_0x21,F
RRF LRAM_0x20,F
ADDLW 0xFF
BTFSC STATUS,C
GOTO LADR_0x00A2
MOVF LRAM_0x20,W
GOTO LADR_0x00CB
LADR_0x00AA
MOVLW 0x10
MOVWF LRAM_0x26
CLRF LRAM_0x25
CLRF LRAM_0x24
LADR_0x00AE
RLF LRAM_0x21,W
RLF LRAM_0x24,F
RLF LRAM_0x25,F
MOVF LRAM_0x22,W
SUBWF LRAM_0x24,F
MOVF LRAM_0x23,W
BTFSS STATUS,C
INCFSZ LRAM_0x23,W
SUBWF LRAM_0x25,F
BTFSC STATUS,C
GOTO LADR_0x00C0
MOVF LRAM_0x22,W
ADDWF LRAM_0x24,F
MOVF LRAM_0x23,W
BTFSC STATUS,C
INCFSZ LRAM_0x23,W
ADDWF LRAM_0x25,F
BCF STATUS,C
LADR_0x00C0
RLF LRAM_0x20,F
RLF LRAM_0x21,F
DECFSZ LRAM_0x26,F
GOTO LADR_0x00AE
MOVF LRAM_0x20,W
GOTO LADR_0x00CB
LADR_0x00C6
MOVWF FSR
MOVF LRAM_0x31,W
MOVWF PCLATH ; !!Bank Program-Page-Select
MOVF LRAM_0x30,W
MOVWF PCL
LADR_0x00CB
BCF STATUS,IRP
BCF STATUS,RP1 ; !!Bank Register-Bank(2/3)-Select
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRWDT
RETURN
LADR_0x00D0
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x07
MOVWF ADCON0 ; !!Bank!! ADCON0 - ADCON1 - RAM - RAM
MOVLW 0x64
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0080
LADR_0x00D7
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
CALL LADR_0x0182
MOVLW 0xCC
MOVWF LRAM_0x3E
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
CALL LADR_0x01E5
MOVLW 0x44
MOVWF LRAM_0x3E
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
CALL LADR_0x01E5
MOVLW 0x07
MOVWF LRAM_0x23
MOVLW 0xD0
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0081
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
CALL LADR_0x0182
MOVLW 0xCC
MOVWF LRAM_0x3E
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
CALL LADR_0x01E5
MOVLW 0xBE
MOVWF LRAM_0x3E
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
CALL LADR_0x01E5
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
CALL LADR_0x021B
MOVLW 0xFE
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x01
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x41
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x4E
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x54
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x52
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x41
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x4B
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x44
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x53
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x31
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x38
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x32
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x30
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x54
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x45
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x52
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x4D
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x4F
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0xFE
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0xC0
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
CLRF LRAM_0x29
BCF STATUS,C
RRF LRAM_0x3D,W
MOVWF LRAM_0x33
RRF LRAM_0x3C,W
MOVWF LRAM_0x32
MOVF LRAM_0x32,W
MOVWF LRAM_0x24
MOVF LRAM_0x33,W
MOVWF LRAM_0x25
MOVLW 0x02
MOVWF LRAM_0x30
CLRF LRAM_0x31
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0052
MOVLW 0x2E
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
CLRF LRAM_0x29
MOVLW 0x05
BTFSS LRAM_0x3C,0
CLRW
MOVWF LRAM_0x32
MOVLW 0x00
BTFSS LRAM_0x3C,0
CLRW
MOVWF LRAM_0x33
MOVF LRAM_0x32,W
MOVWF LRAM_0x24
MOVF LRAM_0x33,W
MOVWF LRAM_0x25
MOVLW 0x02
MOVWF LRAM_0x30
CLRF LRAM_0x31
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0052
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x43
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x64
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x65
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x72
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x65
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x63
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x65
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
CLRF PCLATH ; !!Bank Program-Page-Select
GOTO LADR_0x00D7
LADR_0x0182
BCF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x01
MOVWF LRAM_0x21
MOVLW 0xF4
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x008E
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BSF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
MOVLW 0x64
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x008D
CLRWDT
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
BTFSS PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
GOTO LADR_0x01DF
MOVLW 0xFE
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x01
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x44
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x53
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x31
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x38
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x32
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x30
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x42
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x75
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x6C
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x75
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x6E
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x61
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x6D
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x61
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x64
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x69
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x21
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x21
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x21
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x01
MOVWF LRAM_0x23
MOVLW 0xF4
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0081
CLRF PCLATH ; !!Bank Program-Page-Select
GOTO LADR_0x00D7
LADR_0x01DF
MOVLW 0x01
MOVWF LRAM_0x21
MOVLW 0x90
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x008E
RETURN
LADR_0x01E5
MOVLW 0x01
MOVWF LRAM_0x3F
LADR_0x01E7
CLRWDT
MOVLW 0x09
SUBWF LRAM_0x3F,W
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
BTFSC STATUS,C
GOTO LADR_0x0203
CLRWDT
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
BTFSC LRAM_0x3E,0
GOTO LADR_0x01F9
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
CALL LADR_0x0204
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
GOTO LADR_0x01FC
LADR_0x01F9
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
CALL LADR_0x020F
LADR_0x01FC
BCF STATUS,C
RRF LRAM_0x3E,F
INCF LRAM_0x3F,F
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
BTFSS STATUS,Z
GOTO LADR_0x01E7
LADR_0x0203
RETURN
LADR_0x0204
BCF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
MOVLW 0x3C
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x008D
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BSF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
RETURN
LADR_0x020F
BCF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
NOP
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BSF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
MOVLW 0x3C
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x008D
RETURN
LADR_0x021B
MOVLW 0x01
MOVWF LRAM_0x3F
LADR_0x021D
CLRWDT
MOVLW 0x11
SUBWF LRAM_0x3F,W
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
BTFSC STATUS,C
GOTO LADR_0x022F
BCF STATUS,C
RRF LRAM_0x3D,F
RRF LRAM_0x3C,F
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
CALL LADR_0x0230
INCF LRAM_0x3F,F
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
BTFSS STATUS,Z
GOTO LADR_0x021D
LADR_0x022F
RETURN
LADR_0x0230
BSF LRAM_0x3D,7
BCF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
NOP
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BSF PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
CLRWDT
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BTFSC PORTC,0 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
GOTO LADR_0x023F
BCF LRAM_0x3D,7
LADR_0x023F
MOVLW 0x3C
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x008D
RETURN
LADR_0x0243
SLEEP
CLRF PCLATH ; !!Bank Program-Page-Select
GOTO LADR_0x0243

End

HEXF2

Program kodlarının ortasında biryerde sanki bir tablo var.WRweg'e bir bilgi yüklenip sürekli bir alt program çağrılmış."!!bank program page select" yazan yerlerde.O WReg'e yüklenen bilgilerin ASCII karşılıklarına bir bak eğer anlamlı birşey çıkıyorsa kendi istediğin karakterleri koy.

Yalnız sen HEX kodu direkt disassmbly etmişsin.Direkt kopyalayıp MPLAB'a yapıştır orda çalış diycem ama biraz düzenleme yapman gerekecek.

ahmet2004

Hangi okulda okuyorsun.Kaçıncı sınıftasın ve Pic asm bilmiyorsan neden
bu projeleri yapıyorsun.Başka projeler yap.Senin gibi birçok arkadaş
var bu forum da.Bundan sonraki projelerinde Pic kullanacaksan bence
bu dilleri ÖĞREN meye çalış. Hem senin açından hem de türkiye için
çok yararlı olacağını düşünüyorum.Bütün ÖĞRENCİ arkadaşlara özelliklede Üniversitede okuyan arkadaşlara bu sitemim.Makinene bir
PicBasicPro yükle bu en kolay olan yol.Basic komutlarını öğren.Daha sonra ASM ye geçersin.

Okulda kaç kişi işlemcilerle proje yapıyor ve hangi işlemcileri kullanıyor.
Sizmi seçiyorsunuz.Hoca mı veriyor projeleri.
Bunun hakkında bir fikrin varsa yazarsan sevinirim.Hangi seviyede
proje yapıyorlar vb..

Dosyayı Mail adresine attım!

may86

Alıntı yapılan: "ahmet2004"Hangi okulda okuyorsun.Kaçıncı sınıftasın ve Pic asm bilmiyorsan neden
bu projeleri yapıyorsun.Başka projeler yap.Senin gibi birçok arkadaş
var bu forum da.Bundan sonraki projelerinde Pic kullanacaksan bence
bu dilleri ÖĞREN meye çalış. Hem senin açından hem de türkiye için
çok yararlı olacağını düşünüyorum.Bütün ÖĞRENCİ arkadaşlara özelliklede Üniversitede okuyan arkadaşlara bu sitemim.Makinene bir
PicBasicPro yükle bu en kolay olan yol.Basic komutlarını öğren.Daha sonra ASM ye geçersin.

Okulda kaç kişi işlemcilerle proje yapıyor ve hangi işlemcileri kullanıyor.
Sizmi seçiyorsunuz.Hoca mı veriyor projeleri.
Bunun hakkında bir fikrin varsa yazarsan sevinirim.Hangi seviyede
proje yapıyorlar vb..

Dosyayı Mail adresine attım!


YTÜ Meslek yüksek okulu 2. sınıf öğreencisiyim. Elektroniğe çocukluktan beri meraklıyım. şu an pic öğrenmeye çalışıyorum. picbasic ile ufak tefek şeyleri yapabiliyorum.  ödev olarak aldığımız projeleri kendimiz belirliyoruz. normalde arkadaşlar düşük maliyetli, lise seviyesi ödevler hazırlamayı tercih ediyor fakat ben pic'i öğrenmek istediğim için bu tarz ödevleri tercih ediyorum fakat bu sefer biraz ters oldu  :?
kendi uğraştığım devreler de var
http://www.eproje.com/modules.php?name=News&file=article&sid=471&mode=&order=0&thold=0
bunu microbasic kuyllanarak yapmıştım. işin en güzel tarafı şu an okulda 16f877 ve picbasic dersi alıyoruz. temel konular daha yeni bitti. insallah herşeyiyle öğreneceğim. öğrenmek için sürekli birşeylerle uğraşıyorum  ;)  
kodlar ve ilginiz için de çok teşekkür ediyorum.

teknikelektronikci

Sayın arkadaşlar ve üstadlar programlama dilleri öğrenme konusu açılmışken merak etiğim bir şey var universite ye elektronik böl (4 yıllık mühendislik ,öğretmenlik) giden arkadaşlar üniversitede programlama  dillerini öğrenmiyorlarmı ya da hangi dili öğreniyorlar ben yeni mezun olan hocama sordum hocam siz asm filan bilionuzmu diye bana hayer dedi ya hakiketen bilmiyor ya da uğraşmak istemedi. ki eğer hakiketen öğrenmiyorlar ise veya çok az bir bilgi öğreniyorlar ise ne anlamı kalır okumanın anlamıyorum bence yazık.. ya da bu programlamayı isteyenlermi öğreniyorlar doğrsusu bir gün zaman bulabilirsem en yakın üniversite olan ege ya da 9 eylüle gidip öğrenecem bu konuyu ama sizlerede bi sorayım dedim teşekürler saygılar
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

CaFFeiNe

@may86

arkadaşım okulda 16F877 + picbasic öğrendiğini söylemişsin çok güzel peki neden başkasının yaptığı bir devreyi + programı kendin yapmış gibi gösterip birde bundan not almayı düşünüyorsun pek yakıştıramadım açıkcası, sınavda kopya çekmekten ne farkı kaldı?
öğrendiğin kadar picbasic ile kendi çabanla birşeyler yapsaydın daha güzel ve daha öğretici olmazmıydı?

supermakarna

bu arada yıldız tekniğin yanılmıyosam MYO bölümü yok.

supermakarna

Sevgili ahmet2004  arkadaşımın düşüncesine saygı duyuyorum fakat bence ilk önce asm'yi öğrenmesi lazım sonra picbasic veya C'ye geçmesi lazım. hatta picbasici bilmeye bile gerek yok ama C'ye mutlaka geçmesi gerekir.
Üniversite konusuna gelince bizim sınıf 120 kişi felen pic bilen sadece ben varım. Buna üniversitede değil tuzla teknik lisesinde öğrenmiştim.  Üniversitede sadece kabasını verirler geliştirmek insanın kendisine kalmış sadece merak etmek yeterli bunun için zaten bolca türkçe kaynak var. 16 serisi için

supermakarna

arkadaşlar bişey dikkatimi çekti program zannedersemki sadece 1 pageden oluşuyo acaba PCLATCH'i durmadan 0 lamak gerekiyomu ben hiç sıfırlamıyorum da şu anakadarda bi sorun yaşamadım ama bu sorunun cevabını çokkkkkk merak ettim

optech

Her karakterin bir hex karsiligi vardir.  Ornegin:

A:0X41
N:0X4E
T:0X54
R:0X52

geri kalalar icin http://www.lookuptables.com/ a bakabilirsin.

ornegin kod icinde 41 i arat sonra da istedigin karakterle degistir....

page degistirmedikce pclath ile oynamaya gerek yoktur....

HEXF2

ahmet2004 ilk önce PIC BASIC sonra asm'mi???????????

Dostum kusura bakma ama ben senin programcılığından biraz şüpe ettim.Umarım mantıklı bir açıklama yapıp beni bu şüpheden kurtarırsın :cry:

ismetelk

Alıntı yapılan: "may86"
MOVLW 0x01
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x41
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x4E
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x54
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x52
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x41
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x4B
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x44
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x53
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x31
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x38
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x32
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x30
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x54
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x45
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x52
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x4D
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0x4F
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0xFE
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
MOVLW 0xC0
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0003
programın bu kısmında senin dediğin "ANTRAK DS1820 TERMO" yazıyo gerçi sen eksik yazmışsın termo olacak. neyse movlw komutlarını karşısındaki hex sayılar harflerin ve rakamların ascıı kodlarını gösteriyo. optech arkadaşın verdiği siteye bakıp movlw komutlarını karşısındaki hex sayılarını değiştirerek istediğini yazabilirsin. senin yazacağın karakter sayısı biraz az olucak sanırım fazlalıkları sil sorun olmaz.
bu arada arkadaşların da dediği gibi madem öğrenmek istiyosun ne diye hazır program ve hazır devre yapıp hocaya veriyosun anlamadım

may86

Alıntı yapılan: "CaFFeiNe"@may86

arkadaşım okulda 16F877 + picbasic öğrendiğini söylemişsin çok güzel peki neden başkasının yaptığı bir devreyi + programı kendin yapmış gibi gösterip birde bundan not almayı düşünüyorsun pek yakıştıramadım açıkcası, sınavda kopya çekmekten ne farkı kaldı?
öğrendiğin kadar picbasic ile kendi çabanla birşeyler yapsaydın daha güzel ve daha öğretici olmazmıydı?

söylediğin gerçlekten güzel fakat ben kodları kendim yazmadığımı ve aldığım kaynakları açıkladım. bunun haricinde picbasic'de daha o kadar gelişmedik fakat okuldaki öğretimin yanı sıra kendim sürekli uğraşıyorum. bu projeyi almadaki amaç ise çok farklı, kendim tasarlayacak kadar zamanım yoktu. diğer açıdan da bakarsak kodların basic bölümüne ulaşamadığım için birşey yapamadım ve yardım istedim. ayrıca bana da çok faydası oldu. ahmet hocamın gönderdiği kodları va açıklamaları inceleyerek kendim de değişiklik yaptım. bunun haricinde okulda bir hocamdan yardım aldım. projeyi hocamın kabul etmeme sebebi benim uğraşmam için. bu konuya meraklı olduğumu biliyor ve ben araştırıp öğrenyim diye bana o şekilde kabul etmem dedi. yoksa diğer arkadaşlar bu tarz şeylerle zaten uğraşmıyor...

may86

Alıntı yapılan: "süpermakarna"bu arada yıldız tekniğin yanılmıyosam MYO bölümü yok.

haklı olabilirsin fakat o YILDIZ TEKNİK ÜNİVERSİTESİ MESLEK YÜKSEK OKULU(MYO)
bölümüm de endüstriyel elektronik.

may86

Alıntı yapılan: "ismetelk
programın bu kısmında senin dediğin "ANTRAK DS1820 TERMO" yazıyo gerçi sen eksik yazmışsın termo olacak. neyse movlw komutlarını karşısındaki hex sayılar harflerin ve rakamların ascıı kodlarını gösteriyo. optech arkadaşın verdiği siteye bakıp movlw komutlarını karşısındaki hex sayılarını değiştirerek istediğini yazabilirsin. senin yazacağın karakter sayısı biraz az olucak sanırım fazlalıkları sil sorun olmaz.
bu arada arkadaşların da dediği gibi madem öğrenmek istiyosun ne diye hazır program ve hazır devre yapıp hocaya veriyosun anlamadım
teşekkür ederim sorunu hallettim.
hocam bu arada evet amaç öğrenmek, ben bu konu üzerinde bir çaba sarfediyorum fakat bu proje hoşuma gitti ve bunun mantığını araştırdım. tamam belki bu tarz şeyler üretecek kadar gelişemedim fakat bu hiçbirşey yapmadığım anlamına da gelmiyo ki...