Postat: 4 september 2006, 18:42:26
Se även : http://www.jescab.se/Info_MPLAB.html
Svenskt forum för elektroniksnack.
https://elektronikforumet.com/forum/
Kod: Markera allt
;**********************************************************************
; Enkelt blink-a-led, 16F628A. *
; *
;**********************************************************************
; Files required: P16F628A.INC *
; 16F628A.LNK *
; *
;**********************************************************************
list p=16f628A
#include <p16f628A.inc>
__CONFIG _DATA_CP_OFF & _CP_OFF & _LVP_OFF & _BODEN_OFF & _BOREN_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _MCLRE_OFF
RESET_VECTOR CODE 0x000 ; processor reset vector
goto start ; go to beginning of program
INT_VECTOR CODE 0x004 ; interrupt vector location
goto isr_routine ; goto main interrupt service routine.
;***************************************************************
MAIN CODE
start
banksel cmcon
movlw h'07'
movwf cmcon ; Stäng av ADC.
banksel trisa
clrf trisa
clrf trisb ; Alla pinnar = utgångar.
banksel t1con
movlw b'00110001'
movwf t1con ; Se datablad...
banksel pie1
movlw b'00000001'
movwf pie1 ; Enable avbrott från TMR1.
banksel intcon
bsf intcon, peie
bsf intcon, gie ; Enable avbrott...
loop
goto loop ; Vänta på avbrott...
;***************************************************************
ISR_ROUTINE CODE
isr_routine
banksel portb
comf porta ; Blinka !!
banksel pir1
bcf pir1, tmr1if ; clear avbrotts flagga.
retfie
end