;----------------------------------------------------------- LIST P=16F877A #INCLUDE "P16F877A.INC" ;Hasznald az ebben levo szimbolumokat ; CONFIG ; __config 0x3F72 __CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_ON & _BOREN_ON & _LVP_OFF & _CPD_OFF & _WRT_OFF & _CP_OFF ;----------------------------------------------------------- ;---------------- A1 EQU H'20' ;az adatmemória 20h-as területére -regiszterére - ezen túl az "A1" néven hivatkozhatunk B2 EQU H'21' ;21h-es terület lefoglalása B2 néven ORG 0 GOTO BEALL ;---------------- BEALL CLRF PORTB BANKSEL TRISB CLRF TRISB BANKSEL PORTB GOTO PROGRAM ;---------------- PROGRAM MOVLW B'00000001' MOVWF PORTB CALL IDO MOVLW B'00000010' MOVWF PORTB CALL IDO MOVLW B'00000100' MOVWF PORTB CALL IDO MOVLW B'00001000' MOVWF PORTB CALL IDO MOVLW B'00010000' MOVWF PORTB CALL IDO MOVLW B'00100000' MOVWF PORTB CALL IDO MOVWF PORTB CALL IDO MOVLW B'01000000' MOVWF PORTB CALL IDO MOVLW B'10000000' MOVWF PORTB CALL IDO MOVLW B'01000000' MOVWF PORTB CALL IDO MOVLW B'00100000' MOVWF PORTB CALL IDO MOVLW B'00010000' MOVWF PORTB CALL IDO MOVLW B'00001000' MOVWF PORTB CALL IDO MOVLW B'00000100' MOVWF PORTB CALL IDO MOVLW B'00000010' MOVWF PORTB CALL IDO MOVLW B'00000001' MOVWF PORTB CALL IDO GOTO PROGRAM ;---------------- IDO MOVLW D'255' ;D'255'= B'11111111' megy a W-be MOVWF A1 ;W tartalma megy "A1"-ba - 20h-ba: B'11111111' X: MOVLW D'255' MOVWF B2 Y: NOP NOP NOP NOP NOP NOP DECFSZ B2,F ;csökkenti az "B2" tartalmát eggyel (az eredmény az "B2"-be kerül d=1=F), ; ha nulla egy utasítást átugrik és ezzel vége a ciklusnak, ; ha nem a következ?re megy és ezzel a második késleltet?re megy GOTO Y DECFSZ A1,F GOTO X RETURN ;------------------- END ;Forrasprogram vege