16f877 termomettre yardımı

emrahbey

Üye
Katılım
15 Şub 2009
Mesajlar
10
Puanları
1
Yaş
49
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_0x34 equ 0x34
LRAM_0x35 equ 0x35
LRAM_0x3A equ 0x3A
LRAM_0x3B equ 0x3B
LRAM_0x3C equ 0x3C
LRAM_0x3D equ 0x3D
LRAM_0x3E equ 0x3E
LRAM_0x3F equ 0x3F
LRAM_0x40 equ 0x40


; Program


Org 0x0000


; Reset-Vector
CLRF LRAM_0x34
GOTO LADR_0x00D6


Org 0x0004


; Interrupt-Vector
RETURN
LADR_0x0005
CLRF LRAM_0x25
MOVWF LRAM_0x24
BSF LRAM_0x35,7
MOVLW 0x27
MOVWF LRAM_0x23
MOVLW 0x10
CALL LADR_0x0018
MOVLW 0x03
MOVWF LRAM_0x23
MOVLW 0xE8
CALL LADR_0x0018
CLRF LRAM_0x23
MOVLW 0x64
CALL LADR_0x0018
CLRF LRAM_0x23
MOVLW 0x0A
CALL LADR_0x0018
MOVF LRAM_0x24,W
GOTO LADR_0x0023
LADR_0x0018
MOVWF LRAM_0x22
MOVF LRAM_0x25,W
MOVWF LRAM_0x21
MOVF LRAM_0x24,W
MOVWF LRAM_0x20
CALL LADR_0x009F
MOVF LRAM_0x20,W
BTFSS STATUS,Z
BCF LRAM_0x35,7
BTFSC LRAM_0x35,7
RETURN
LADR_0x0023
ADDLW 0x30
LADR_0x0024
MOVWF LRAM_0x27
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_0x34,1
GOTO LADR_0x0050
MOVLW 0x3A
MOVWF LRAM_0x21
MOVLW 0x98
CALL LADR_0x0081
MOVLW 0x33
MOVWF LRAM_0x26
CALL LADR_0x0064
MOVLW 0x13
MOVWF LRAM_0x21
MOVLW 0x88
CALL LADR_0x0081
CALL LADR_0x0064
MOVLW 0x64
CALL LADR_0x0080
CALL LADR_0x0064
MOVLW 0x64
CALL LADR_0x0080
MOVLW 0x22
MOVWF LRAM_0x26
CALL LADR_0x0064
MOVLW 0x28
CALL LADR_0x004F
MOVLW 0x0C
CALL LADR_0x004F
MOVLW 0x06
CALL LADR_0x004F
BSF LRAM_0x34,1
MOVF LRAM_0x27,W
GOTO LADR_0x0050
LADR_0x004F
BSF LRAM_0x34,0
LADR_0x0050
MOVWF LRAM_0x26
BTFSS LRAM_0x34,0
GOTO LADR_0x005E
BCF PORTE,0 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
SUBLW 0x03
BTFSS STATUS,C
GOTO LADR_0x0063
CALL LADR_0x0063
MOVLW 0x07
MOVWF LRAM_0x21
MOVLW 0xD0
CALL LADR_0x0081
BSF STATUS,C
RETURN
LADR_0x005E
BSF LRAM_0x34,0
SUBLW 0xFE
BTFSC STATUS,Z
GOTO LADR_0x00D1
BSF PORTE,0 ; !!Bank!! PORTE - TRISE - Unimplemented - Unimplemented
LADR_0x0063
BTFSS LRAM_0x34,0
LADR_0x0064
BCF LRAM_0x34,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_0x34,0
GOTO LADR_0x0064
MOVLW 0x32
CALL LADR_0x0080
BSF STATUS,C
RETURN
LADR_0x0073
CLRF LRAM_0x23
LADR_0x0074
MOVWF LRAM_0x22
LADR_0x0075
MOVLW 0xFF
ADDWF LRAM_0x22,F
BTFSS STATUS,C
ADDWF LRAM_0x23,F
BTFSS STATUS,C
GOTO LADR_0x00D1
MOVLW 0x03
MOVWF LRAM_0x21
MOVLW 0xDF
CALL LADR_0x0081
GOTO LADR_0x0075
LADR_0x0080
CLRF LRAM_0x21
LADR_0x0081
ADDLW 0xE8
MOVWF LRAM_0x20
COMF LRAM_0x21,F
MOVLW 0xFC
BTFSS STATUS,C
GOTO LADR_0x008A
LADR_0x0087
ADDWF LRAM_0x20,F
BTFSC STATUS,C
GOTO LADR_0x0087
LADR_0x008A
ADDWF LRAM_0x20,F
CLRWDT
INCFSZ LRAM_0x21,F
GOTO LADR_0x0087
BTFSC LRAM_0x20,0
GOTO LADR_0x0090
LADR_0x0090
BTFSS LRAM_0x20,1
GOTO LADR_0x0094
NOP
GOTO LADR_0x0094
LADR_0x0094
RETURN
LADR_0x0095
ADDLW 0x01
MOVWF LRAM_0x27
MOVLW 0x0A
MOVWF LRAM_0x22
CLRF LRAM_0x23
LADR_0x009A
CALL LADR_0x009F
DECFSZ LRAM_0x27,F
GOTO LADR_0x009A
MOVF LRAM_0x24,W
RETURN
LADR_0x009F
MOVLW 0x10
MOVWF LRAM_0x26
CLRF LRAM_0x25
CLRF LRAM_0x24
LADR_0x00A3
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_0x00B5
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_0x00B5
RLF LRAM_0x20,F
RLF LRAM_0x21,F
DECFSZ LRAM_0x26,F
GOTO LADR_0x00A3
MOVF LRAM_0x20,W
GOTO LADR_0x00D1
LADR_0x00BB
MOVLW 0x10
MOVWF LRAM_0x28
CLRF LRAM_0x21
CLRF LRAM_0x20
LADR_0x00BF
RRF LRAM_0x27,F
RRF LRAM_0x26,F
BTFSS STATUS,C
GOTO LADR_0x00C9
MOVF LRAM_0x22,W
ADDWF LRAM_0x20,F
MOVF LRAM_0x23,W
BTFSC STATUS,C
INCFSZ LRAM_0x23,W
ADDWF LRAM_0x21,F
LADR_0x00C9
RRF LRAM_0x21,F
RRF LRAM_0x20,F
RRF LRAM_0x25,F
RRF LRAM_0x24,F
DECFSZ LRAM_0x28,F
GOTO LADR_0x00BF
MOVF LRAM_0x24,W
GOTO LADR_0x00D1
LADR_0x00D1
BCF STATUS,IRP
BCF STATUS,RP1 ; !!Bank Register-Bank(2/3)-Select
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRWDT
RETURN
LADR_0x00D6
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x85
MOVWF ADCON0 ; !!Bank!! ADCON0 - ADCON1 - RAM - RAM
BCF TMR0,7 ; !!Bank!! TMR0 - OPTION_REG - TMR0 - OPTION_REG
CLRF PORTC ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRF PORTC ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRF PORTD ; !!Bank!! PORTD - TRISD - Unimplemented - Unimplemented
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRF PORTD ; !!Bank!! PORTD - TRISD - Unimplemented - Unimplemented
MOVLW 0x64
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0073
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
GOTO LADR_0x011B
LADR_0x00E7
MOVLW 0x41
MOVWF ADCON0 ; !!Bank!! ADCON0 - ADCON1 - RAM - RAM
MOVLW 0x32
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0080
BSF ADCON0,2 ; !!Bank!! ADCON0 - ADCON1 - RAM - RAM
MOVLW 0x32
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0080
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVF ADRESH,W ; !!Bank!! ADRESH - ADRESL - RAM - RAM
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVWF LRAM_0x3C
MOVF ADRESH,W ; !!Bank!! ADRESH - ADRESL - RAM - RAM
MOVWF LRAM_0x3D
MOVF LRAM_0x3C,W
MOVWF LRAM_0x26
MOVF LRAM_0x3D,W
MOVWF LRAM_0x27
MOVLW 0x19
MOVWF LRAM_0x22
CLRF LRAM_0x23
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x00BB
MOVWF LRAM_0x3A
MOVF LRAM_0x25,W
MOVWF LRAM_0x3B
MOVF LRAM_0x3A,W
MOVWF LRAM_0x20
MOVF LRAM_0x3B,W
MOVWF LRAM_0x21
MOVLW 0x03
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0095
MOVWF LRAM_0x3E
MOVF LRAM_0x3A,W
MOVWF LRAM_0x20
MOVF LRAM_0x3B,W
MOVWF LRAM_0x21
MOVLW 0x02
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0095
MOVWF LRAM_0x3F
MOVF LRAM_0x3A,W
MOVWF LRAM_0x20
MOVF LRAM_0x3B,W
MOVWF LRAM_0x21
MOVLW 0x01
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0095
MOVWF LRAM_0x40
RETURN
LADR_0x011B
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x00E7
MOVLW 0xFE
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x01
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x41
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x4E
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x54
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x52
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x41
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x4B
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x54
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x45
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x52
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x4D
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x4F
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x4D
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x45
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x54
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x52
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0xFE
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0xC0
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVF LRAM_0x3E,W
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0005
MOVF LRAM_0x3F,W
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0005
MOVLW 0x20
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0xDF
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x43
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0024
MOVLW 0x01
MOVWF LRAM_0x23
MOVLW 0x2C
CLRF PCLATH ; !!Bank Program-Page-Select
CALL LADR_0x0074
CLRF PCLATH ; !!Bank Program-Page-Select
GOTO LADR_0x011B
LADR_0x017E
SLEEP
CLRF PCLATH ; !!Bank Program-Page-Select
GOTO LADR_0x017E


End

ben pic programlamaya yeni basladımprogramlama yapamıyorum ama konuyu daha iyi kavramak icin yazılmıs hex dosyalarını yapmaya calısıyorum antrak gazetesinin konusu
16f877 yukledim devresını kurdum ekranda karartı var yardımcı olursanız sevınırım stres yaptı bende neyi yanlıs yapıyorum ben
 
Bu hex ten asm ye çevrilmiş yazılımı anlamak ve yorum yapmak için çok zaman harcanması gerektiğini biliyorsundur umarım.. Forumda buna uğraşacak biri olduğunu sanmıyorum.. Hex e çevrilmemiş asm hali varsa onu koy bence.. En azından etiketlerden tam olarak ne yapıldığını anlarız..
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…