Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;*********************************
- ; Predmet: Praktikum elektronike
- ; Student: Haris Ačkar
- ; Laboratorijska vježba broj 3.
- ;*********************************
- ;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 promjenljivih ****
- 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 POTD 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 podprograma za kasnjenje od 1 ms
- bcf LATD,0 ; nizi naponski nivo
- call msec
- call msec
- call msec
- goto L0
- ; podprogram za kasnjenje od 1 ms
- msec
- movlw 0x0A ; brojac A = 10
- movwf brojaca
- L1
- movlw 0x0A ; brojac B = 10
- movwf brojacb
- L2
- movlw 0x06 ; brojac C = 6
- movwf brojacc
- L3
- decfsz brojacc,1
- goto L3
- decfsz brojacb,1
- goto L2
- decfsz brojaca,1
- goto L1
- return
- end
- drugi program
- ;************************************
- ; Predmet: Praktikum elektronike
- ; Student: Haris Ačkar i Selma Didik
- ; Laboratorijska vježba broj 3.
- ;************************************
- ;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 promjenljivih ****
- 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 POTD 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 podprograma za kasnjenje od 1 ms
- call msec
- nop
- nop
- nop
- nop
- nop
- bcf LATD,0
- call msec
- nop
- nop
- bsf LATD,0
- call msec
- nop
- nop
- bcf LATD,0
- call msec
- call msec
- nop
- nop
- nop
- nop
- nop
- bsf LATD,0
- call msec
- goto L0
- ; podprogram za kasnjenje od 1 ms
- msec
- movlw D'1' ; brojac A
- movwf brojaca
- L1
- movlw D'14' ; brojac B
- movwf brojacb
- L2
- movlw D'46' ; brojac C
- movwf brojacc
- L3
- decfsz brojacc,1
- goto L3
- decfsz brojacb,1
- goto L2
- decfsz brojaca,1
- goto L1
- return
- end
- za trazenje brojaca
- #include <iostream>
- using namespace std;
- int main()
- {
- int x = 0;
- int a = 1;
- int b = 0;
- int c = 0;
- for(b = 0; b < 100; b++){
- for(c = 0; c < 100; c++){
- x = a*(3*c + (3*c+4)*(b - 1)+8)+5;
- if (x == 1997) {
- cout << "b = " << b << " c = " << c;
- break;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement