S
Sheeraz Khan
Guest
Salve
Questo codice è per 12C508A ciò che è il processo di convertire questo codice per 16F84A
SK
Codice:;************************************************* *********************
; Questo file è un codice per il template di base per la generazione di codice assembly *
; Sul PIC12C508A PICmicro.
Questo file contiene il codice di base *
; Mattoni su cui costruire. *
; *
; Se l'oscillatore RC interno non è poi attuato il primo *
; Istruzione dopo la ORG 0x000 direttiva non è necessaria. *
; *
, Consultare la Guida per l'utente MPASM per ulteriori informazioni su *
; Caratteristiche del assembler (DS33014 documento). *
; *
; Fare riferimento ai rispettivi dati PICmicro foglio per ulteriori *
; Informazioni sul set di istruzioni. *
; *
; File modello assemblato con MPLAB V3.99.18 e MPASM V2.15.06. *
; *
;************************************************* *********************
; *
; Filename: xxx.asm *
; Data: *
; File Version: *
; *
; Author: *
; Azienda: *
; *
; *
;************************************************* *********************
; *
; File necessari: *
; *
; *
; *
;************************************************* *********************
; *
; Note: *
; *
; *
; *
; *
;************************************************* *********************p = elenco 12C508A; direttiva elenco di definire processore
# include <p12c508a.inc>; specifiche definizioni processore variabile__CONFIG _CP_ON & _WDT_OFF & _MCLRE_ON & _LP_OSC; Esterna / MCLR, n. WDT, 32kHz oscillatore; 'Direttiva __CONFIG' viene utilizzata la parola di configurazione incorporare all'interno di file. ASM.
; Il Lables a seguito della direttiva si trovano nel rispettivo file. Inc.
; Vedere rispettivi scheda tecnica per ulteriori informazioni sulla parola di configurazione.# define SEC_OUT GPIO, 0;
# define _SEC_OUT GPIO, 1;
# define MIN_OUT GPIO, 2;;***** COSTANTE DEFINIZIONI
OPTION_CFG EQU B'11000100 '; opzione di configurazione del registro: non Pullups, n. sveglia, interno TMR0 1:16
PORT_CFG EQU 0x00; configurazione delle porte, tutte le uscite
PORT_INI EQU B'00000010 '; valore di inizializzazione del porto, SEC_OUT bassa / alta SEC_OUT, MIN_OUT basso
CONST_03 EQU D'77 '; costante utilizzata per generare ritardi 0.3sec;***** VARIABILE DEFINIZIONI
MIN EQU 0x07, deposito temporaneo, contatore 60 secondi
;************************************************* *********************
ORG 0x1FF; vettore di reset del processore
; Interno valore di taratura RC è messo a 0x1FF posizione da Microchip
; Come un k movlw, dove la k è un valore letterale.ORG 0x000; il codice inizia quigoto Main; Vai a inizio del codiceORG 0x008; salvare queste località per le modifiche del codicePrincipali: OPTION_CFG movlw; reg opzione di installazione
opzione;
movlw PORT_INI; inizializzare porto
movwf GPIO;
PORT_CFG movlw; pin porta configurare
TRIS GPIO;
movlw 0x01; inizializzare il timer
movwf TMR0;
movlw D'60 '; initialize counter
movwf MIN;Wait_0: MOVF TMR0, W; leggere timer
btfss STATUS, Z; verificare se si rotolò
Wait_0 goto, in caso contrario, attenderebcf MIN_OUT; uscita minuti chiara
bsf SEC_OUT; set SEC_OUT uscita
_SEC_OUT BCF; cancellare la / SEC_OUT
decfsz MIN, F; contatore dei minuti decremento
Wait_03 goto, se non zero, andare generare impulsi 0.3secmovlw D'60 '; counter reload
movwf MIN;
bsf MIN_OUT; uscita minuti di
Wait_03: CONST_03 movlw; aspettare qui per 0.3s
subwf TMR0, W;
btfss STATUS, C;
goto Wait_03;bcf SEC_OUT; chiara secondo uscita
_SEC_OUT bsf; impostare l'uscita complementari
Wait_0 goto; tornare indietro di aspettare nel ciclo;------------------------------------------------- ----------------------
END; fine direttiva 'del programma'
Questo codice è per 12C508A ciò che è il processo di convertire questo codice per 16F84A
SK
Codice:;************************************************* *********************
; Questo file è un codice per il template di base per la generazione di codice assembly *
; Sul PIC12C508A PICmicro.
Questo file contiene il codice di base *
; Mattoni su cui costruire. *
; *
; Se l'oscillatore RC interno non è poi attuato il primo *
; Istruzione dopo la ORG 0x000 direttiva non è necessaria. *
; *
, Consultare la Guida per l'utente MPASM per ulteriori informazioni su *
; Caratteristiche del assembler (DS33014 documento). *
; *
; Fare riferimento ai rispettivi dati PICmicro foglio per ulteriori *
; Informazioni sul set di istruzioni. *
; *
; File modello assemblato con MPLAB V3.99.18 e MPASM V2.15.06. *
; *
;************************************************* *********************
; *
; Filename: xxx.asm *
; Data: *
; File Version: *
; *
; Author: *
; Azienda: *
; *
; *
;************************************************* *********************
; *
; File necessari: *
; *
; *
; *
;************************************************* *********************
; *
; Note: *
; *
; *
; *
; *
;************************************************* *********************p = elenco 12C508A; direttiva elenco di definire processore
# include <p12c508a.inc>; specifiche definizioni processore variabile__CONFIG _CP_ON & _WDT_OFF & _MCLRE_ON & _LP_OSC; Esterna / MCLR, n. WDT, 32kHz oscillatore; 'Direttiva __CONFIG' viene utilizzata la parola di configurazione incorporare all'interno di file. ASM.
; Il Lables a seguito della direttiva si trovano nel rispettivo file. Inc.
; Vedere rispettivi scheda tecnica per ulteriori informazioni sulla parola di configurazione.# define SEC_OUT GPIO, 0;
# define _SEC_OUT GPIO, 1;
# define MIN_OUT GPIO, 2;;***** COSTANTE DEFINIZIONI
OPTION_CFG EQU B'11000100 '; opzione di configurazione del registro: non Pullups, n. sveglia, interno TMR0 1:16
PORT_CFG EQU 0x00; configurazione delle porte, tutte le uscite
PORT_INI EQU B'00000010 '; valore di inizializzazione del porto, SEC_OUT bassa / alta SEC_OUT, MIN_OUT basso
CONST_03 EQU D'77 '; costante utilizzata per generare ritardi 0.3sec;***** VARIABILE DEFINIZIONI
MIN EQU 0x07, deposito temporaneo, contatore 60 secondi
;************************************************* *********************
ORG 0x1FF; vettore di reset del processore
; Interno valore di taratura RC è messo a 0x1FF posizione da Microchip
; Come un k movlw, dove la k è un valore letterale.ORG 0x000; il codice inizia quigoto Main; Vai a inizio del codiceORG 0x008; salvare queste località per le modifiche del codicePrincipali: OPTION_CFG movlw; reg opzione di installazione
opzione;
movlw PORT_INI; inizializzare porto
movwf GPIO;
PORT_CFG movlw; pin porta configurare
TRIS GPIO;
movlw 0x01; inizializzare il timer
movwf TMR0;
movlw D'60 '; initialize counter
movwf MIN;Wait_0: MOVF TMR0, W; leggere timer
btfss STATUS, Z; verificare se si rotolò
Wait_0 goto, in caso contrario, attenderebcf MIN_OUT; uscita minuti chiara
bsf SEC_OUT; set SEC_OUT uscita
_SEC_OUT BCF; cancellare la / SEC_OUT
decfsz MIN, F; contatore dei minuti decremento
Wait_03 goto, se non zero, andare generare impulsi 0.3secmovlw D'60 '; counter reload
movwf MIN;
bsf MIN_OUT; uscita minuti di
Wait_03: CONST_03 movlw; aspettare qui per 0.3s
subwf TMR0, W;
btfss STATUS, C;
goto Wait_03;bcf SEC_OUT; chiara secondo uscita
_SEC_OUT bsf; impostare l'uscita complementari
Wait_0 goto; tornare indietro di aspettare nel ciclo;------------------------------------------------- ----------------------
END; fine direttiva 'del programma'