J
Jose Fausto
Guest
Hallo Vrienden, doe ik graag leren programmeren in ASM, wilt u ook graag ... laat gaan uit te gaan van kleine proyects, uiteraard, uw medewerking is de goede manier om samen te leren.
Ik heb chosed PIC16F628A omdat vergelijkbaar is met PIC16F84, maar met meer functies.
Eerste Proyect
TURN ON OFF Een LED
Dit Proyect en uit te schakelen een LED conected te PORTB.0<img src="http://images.elektroda.net/75_1199761974_thumb.jpg" border="0" alt="LEARNING TO PROGRAM PICS MICROCONTROLLER WITH MPLAB" title="Leren programmeren PICS microcontroller met MPLAB"/> Code elkaar:Code:
;; Tutorial Primero628ALIST p = 16F628A; vertellen wat assembler chip die wij gebruiken
include "P16F628A.inc"; ook de standaardinstellingen voor de chip; CRYSTAL 20MHZ
; CONFIG van zekeringen
__CONFIG _BOREN_OFF & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _HS_OSC & _LVP_OFFcblock 0x20; empieza Donde el registro de uso algemeenAANTALARG; se usa en la rutina de vertraging
countb; se usa en la rutina de vertraging
countc; se usa en la rutina de vertraging
endcorg 0x0000; setea org, inicio 0x0000 para el 16F628A,; START PROGRAMMA (aqui es donde el programa empieza een Correr)
MOVLW 0x07
movwf CMCON; OFF Comparators (apaga los comparadores)bsf STATUS, RP0; SELECT BANK1 (selecciona bank 1)
movlw b'00000000 '; PORTB outs (setea PORTB como salidas)
movwf TRISB
BCF STATUS, RP0; SELECT BANK0 (selecciona bank 0)Loop
movlw 0x01; SELECT welke uitgangen ZAL WORDEN IN HOOG NIVEAU 00000001, proberen te veranderen
movwf PORTB
nop, geen operación
NOP
oproep Delay
MOVLW 0x00
movwf PORTB; op OFF (setea todos los bits uit)
oproep Delay
goto Loop; RETURN (retornar y volver a hacer)Vertraging
MOVLW d'250 '; VERTRAGING (retardo)Value_VarMOVLW 0xff
movwf AANTALARG
MOVLW 0xff
movwf countb
movlw 0x05; verandering tijd hier
movwf countcDelay_0
decfsz AANTALARG, f
goto Delay_0decfsz countb, f
goto Delay_0decfsz countc, f
goto Delay_0retlw 0x00eindigen
Ik heb chosed PIC16F628A omdat vergelijkbaar is met PIC16F84, maar met meer functies.
Eerste Proyect
TURN ON OFF Een LED
Dit Proyect en uit te schakelen een LED conected te PORTB.0<img src="http://images.elektroda.net/75_1199761974_thumb.jpg" border="0" alt="LEARNING TO PROGRAM PICS MICROCONTROLLER WITH MPLAB" title="Leren programmeren PICS microcontroller met MPLAB"/> Code elkaar:Code:
;; Tutorial Primero628ALIST p = 16F628A; vertellen wat assembler chip die wij gebruiken
include "P16F628A.inc"; ook de standaardinstellingen voor de chip; CRYSTAL 20MHZ
; CONFIG van zekeringen
__CONFIG _BOREN_OFF & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _HS_OSC & _LVP_OFFcblock 0x20; empieza Donde el registro de uso algemeenAANTALARG; se usa en la rutina de vertraging
countb; se usa en la rutina de vertraging
countc; se usa en la rutina de vertraging
endcorg 0x0000; setea org, inicio 0x0000 para el 16F628A,; START PROGRAMMA (aqui es donde el programa empieza een Correr)
MOVLW 0x07
movwf CMCON; OFF Comparators (apaga los comparadores)bsf STATUS, RP0; SELECT BANK1 (selecciona bank 1)
movlw b'00000000 '; PORTB outs (setea PORTB como salidas)
movwf TRISB
BCF STATUS, RP0; SELECT BANK0 (selecciona bank 0)Loop
movlw 0x01; SELECT welke uitgangen ZAL WORDEN IN HOOG NIVEAU 00000001, proberen te veranderen
movwf PORTB
nop, geen operación
NOP
oproep Delay
MOVLW 0x00
movwf PORTB; op OFF (setea todos los bits uit)
oproep Delay
goto Loop; RETURN (retornar y volver a hacer)Vertraging
MOVLW d'250 '; VERTRAGING (retardo)Value_VarMOVLW 0xff
movwf AANTALARG
MOVLW 0xff
movwf countb
movlw 0x05; verandering tijd hier
movwf countcDelay_0
decfsz AANTALARG, f
goto Delay_0decfsz countb, f
goto Delay_0decfsz countc, f
goto Delay_0retlw 0x00eindigen