Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Generator signala
- list p=16f1939
- #include <p16f1939.inc>
- __CONFIG _CONFIG1,_FOSC_HS&_WDTE_OFF&_PWRTE_OFF&_MCLRE_ON&_CP_OFF&_CPD_OFF&_BOREN_OFF&_CLKOUTEN_OFF&_IESO_OFF&_FCMEN_OFF
- __CONFIG _CONFIG2,_WRT_OFF&_VCAPEN_OFF&_PLLEN_OFF&_STVREN_OFF&_LVP_OFF
- ;***** Deklaracija promjenjivih *****
- brojaca equ 0x71
- brojacb equ 0x72
- brojacc equ 0x73
- ;***** Struktura programske memorije *****
- ORG 0x00 ; Reset vektor
- goto Glavni
- ORG 0x04 ; Vektor prekida
- goto Glavni ; nema prekidne rutine
- ;**** Pocetak programa ****
- Glavni
- ;***** inicijalizacija portova *****
- bsf BSR,BSR0 ; izbor BANK1
- bcf BSR,BSR1
- movlw B'00000000' ; inicijalizacija PORTD, kao izlaznog
- movwf TRISD
- bcf BSR,BSR0 ;izbor BANK2
- bsf BSR,BSR1
- ; glavni program
- bcf LATD,0 ; pocetno stanje
- L0
- bsf LATD,0 ; visi naponski nivo
- call msec ; poziv potprograma za kasnjenje od 1 ms
- nop
- nop
- nop
- call msec
- nop
- nop
- bcf LATD,0 ; nizi naponski nivo
- call msec
- nop
- nop
- bsf LATD, 0
- call msec
- nop
- nop
- bcf LATD,0
- call msec
- nop
- nop
- nop
- call msec
- nop
- nop
- bsf LATD,0
- call msec
- goto L0
- ; potprogram za kasnjenje od 1 ms
- msec
- movlw d'1' ; brojac A=10
- movwf brojaca
- L1
- movlw d'14' ; brojac B=10
- movwf brojacb
- L2
- movlw d'46' ; brojac C=6
- movwf brojacc
- L3
- decfsz brojacc,1
- goto L3
- decfsz brojacb,1
- goto L2
- decfsz brojaca,1
- goto L1
- return
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement