S
Sheeraz Khan
Guest
Hej
Denna kod är till 12C508A vad är processen att omvandla denna kod för 16F84A
SK
Kod:;************************************************* *********************
; Denna fil är en grundläggande kod mall för montering kodgenerering *
; På PICmicro PIC12C508A.
Denna fil innehåller de grundläggande kod *
; Byggstenar att bygga vidare på. *
, *
, Om den inre RC oscillator är inte genomfördes sedan den första *
; Undervisning efter ORG 0x000 direktivet krävs inte. *
, *
; Se MPASM användarhandboken för ytterligare information om *
; Funktioner i assembler (Document DS33014). *
, *
; Se respektive PICmicro datablad för ytterligare *
, Information om instruktionsuppsättning. *
, *
; Mallfil ihop med MPLAB V3.99.18 och MPASM V2.15.06. *
, *
;************************************************* *********************
, *
; Filnamn: xxx.asm *
; Datum: *
, File Version: *
, *
; Författare: *
; Företag: *
, *
, *
;************************************************* *********************
, *
; Files krävs: *
, *
, *
, *
;************************************************* *********************
, *
; Notes: *
, *
, *
, *
, *
;************************************************* *********************lista p = 12c508a; lista direktiv att definiera processor
# include <p12c508a.inc>; processor viss variabel definitioner__CONFIG _CP_ON & _WDT_OFF & _MCLRE_ON & _LP_OSC, Yttre / MCLR, ingen WDT, 32kHz oscillator, "__CONFIG" Direktiv används för att bädda konfiguration ord inom. Asm file.
; Den etiketter efter det att direktivet finns i respektive. Inc fil.
; Se respektive datablad för ytterligare information om konfiguration ord.# define SEC_OUT GPIO, 0;
# define _SEC_OUT GPIO, 1;
# define MIN_OUT GPIO, 2;;***** KONSTANT DEFINITIONER
OPTION_CFG EQU B'11000100 "alternativ register konfiguration: ingen pullups, ingen vakna, inre TMR0 1:16
PORT_CFG EQU 0x00; portkonfigurationen, alla utgångar
PORT_INI EQU B'00000010 "hamn initiering, SEC_OUT låg, / SEC_OUT hög, MIN_OUT låg
CONST_03 EQU D'77 '; konstant används för att generera 0.3sec förseningar;***** VARIABEL DEFINITIONER
MIN EQU 0x07; tillfällig förvaring, disk 60 sekunder
;************************************************* *********************
ORG 0x1FF; processor reset vector
; Internal RC kalibreringsvärde sätts på plats 0x1FF av Microchip
, Som movlw k, där k är en bokstavlig värde.ORG 0x000; kodning börjar härgoto Main hoppa till början av kodORG 0x008; spara dessa platser för kodändringarnaMain: movlw OPTION_CFG; inställningsalternativet reg
option;
movlw PORT_INI; initialize hamn
movwf GPIO;
movlw PORT_CFG; konfigurera port pins
tris GPIO;
movlw 0x01; initialize timer
movwf TMR0;
movlw D'60 '; initialize counter
movwf min;Wait_0: movf TMR0, W, läs timer
btfss STATUS, Z; kontrollera om det rullade över
goto Wait_0, annars väntaBCF MIN_OUT; klar minut output
bsf SEC_OUT; som SEC_OUT output
BCF _SEC_OUT, rensa / SEC_OUT
decfsz MIN, F; AVTAGANDE minut counter
goto Wait_03, om inte noll, gå generera 0.3sec pulsmovlw D'60 '; reload counter
movwf min;
bsf MIN_OUT; ställa minute output
Wait_03: movlw CONST_03, vänta här för 0.3s
subwf TMR0, W;
btfss STATUS, C;
goto Wait_03;BCF SEC_OUT; klar sekunder output
bsf _SEC_OUT; ställa kompletterande produktion
goto Wait_0; gå tillbaka vänta i slingan;------------------------------------------------- ----------------------
END; direktivet slutet av programmet "
Denna kod är till 12C508A vad är processen att omvandla denna kod för 16F84A
SK
Kod:;************************************************* *********************
; Denna fil är en grundläggande kod mall för montering kodgenerering *
; På PICmicro PIC12C508A.
Denna fil innehåller de grundläggande kod *
; Byggstenar att bygga vidare på. *
, *
, Om den inre RC oscillator är inte genomfördes sedan den första *
; Undervisning efter ORG 0x000 direktivet krävs inte. *
, *
; Se MPASM användarhandboken för ytterligare information om *
; Funktioner i assembler (Document DS33014). *
, *
; Se respektive PICmicro datablad för ytterligare *
, Information om instruktionsuppsättning. *
, *
; Mallfil ihop med MPLAB V3.99.18 och MPASM V2.15.06. *
, *
;************************************************* *********************
, *
; Filnamn: xxx.asm *
; Datum: *
, File Version: *
, *
; Författare: *
; Företag: *
, *
, *
;************************************************* *********************
, *
; Files krävs: *
, *
, *
, *
;************************************************* *********************
, *
; Notes: *
, *
, *
, *
, *
;************************************************* *********************lista p = 12c508a; lista direktiv att definiera processor
# include <p12c508a.inc>; processor viss variabel definitioner__CONFIG _CP_ON & _WDT_OFF & _MCLRE_ON & _LP_OSC, Yttre / MCLR, ingen WDT, 32kHz oscillator, "__CONFIG" Direktiv används för att bädda konfiguration ord inom. Asm file.
; Den etiketter efter det att direktivet finns i respektive. Inc fil.
; Se respektive datablad för ytterligare information om konfiguration ord.# define SEC_OUT GPIO, 0;
# define _SEC_OUT GPIO, 1;
# define MIN_OUT GPIO, 2;;***** KONSTANT DEFINITIONER
OPTION_CFG EQU B'11000100 "alternativ register konfiguration: ingen pullups, ingen vakna, inre TMR0 1:16
PORT_CFG EQU 0x00; portkonfigurationen, alla utgångar
PORT_INI EQU B'00000010 "hamn initiering, SEC_OUT låg, / SEC_OUT hög, MIN_OUT låg
CONST_03 EQU D'77 '; konstant används för att generera 0.3sec förseningar;***** VARIABEL DEFINITIONER
MIN EQU 0x07; tillfällig förvaring, disk 60 sekunder
;************************************************* *********************
ORG 0x1FF; processor reset vector
; Internal RC kalibreringsvärde sätts på plats 0x1FF av Microchip
, Som movlw k, där k är en bokstavlig värde.ORG 0x000; kodning börjar härgoto Main hoppa till början av kodORG 0x008; spara dessa platser för kodändringarnaMain: movlw OPTION_CFG; inställningsalternativet reg
option;
movlw PORT_INI; initialize hamn
movwf GPIO;
movlw PORT_CFG; konfigurera port pins
tris GPIO;
movlw 0x01; initialize timer
movwf TMR0;
movlw D'60 '; initialize counter
movwf min;Wait_0: movf TMR0, W, läs timer
btfss STATUS, Z; kontrollera om det rullade över
goto Wait_0, annars väntaBCF MIN_OUT; klar minut output
bsf SEC_OUT; som SEC_OUT output
BCF _SEC_OUT, rensa / SEC_OUT
decfsz MIN, F; AVTAGANDE minut counter
goto Wait_03, om inte noll, gå generera 0.3sec pulsmovlw D'60 '; reload counter
movwf min;
bsf MIN_OUT; ställa minute output
Wait_03: movlw CONST_03, vänta här för 0.3s
subwf TMR0, W;
btfss STATUS, C;
goto Wait_03;BCF SEC_OUT; klar sekunder output
bsf _SEC_OUT; ställa kompletterande produktion
goto Wait_0; gå tillbaka vänta i slingan;------------------------------------------------- ----------------------
END; direktivet slutet av programmet "