; ; ######################################## ; ## Timer ## ; ## PIC16F676 4MHz ## ; ## Version 1.0 ## ; ## ## ; ######################################## ; #include CBLOCK H'20' ;definiert freie Register Bank 0 TIMER_EIN TIMER_AUS MODUS FAKTOR_EIN FAKTOR_AUS TEST ENDC CBLOCK H'A0' ;definiert freie Register Bank 1 ENDC ;Ausgang EQU PORTA #define IRP STATUS,7 #define RP1 STATUS,6 #define RP0 STATUS,5 #define NOT_TO STATUS,4 #define NOT_PD STATUS,3 #define Z STATUS,2 #define DC STATUS,1 #define C STATUS,0 #define ANALOG_TEIN PORTA,0 #define ANALOG_TAUS PORTA,1 #define SPALTE_TASTEN PORTA,2 #define SPALTE_FAKTOR_EIN PORTA,3 #define SPALTE_FAKTOR_AUS PORTA,4 #define SPALTE_MODUS PORTA,5 #define ZEILE1 PORTC,0 #define ZEILE2 PORTC,1 #define ZEILE3 PORTC,2 #define ZEILE4 PORTC,3 #define AUSGANG PORTC,4 ;#define xxx PORTC,5 ; ########################################## Macros BANK_0 MACRO BCF RP0 ENDM BANK_1 MACRO BSF RP0 ENDM ; ###################################################### RESET-Vektor und initialiesierung ORG H'0000' NOP CLRF PORTA CLRF PORTC MOVLW B'00000111' MOVWF CMCON BANK_1 MOVLW B'11000100' ; Prescaler Timer0 1:32 MOVWF OPTION_REG MOVLW B'00000011' ; AN0 und AN1 zum Analogausgang MOVWF ANSEL MOVLW B'00000011' MOVWF TRISA MOVLW B'00000000' MOVLW TRISC BANK_0 CLRF TMR0 CLRF TEST GOTO main main ; 4ms Schleife MOVLW D'125' SUBWF TMR0,W BTFSS Z GOTO main INCFSZ TEST GOTO main BTFSS AUSGANG ; BSF AUSGANG ; BTFSC AUSGANG ; BCF AUSGANG GOTO main END