Advertisement
Guest User

programi za lab_3 pe

a guest
Oct 30th, 2014
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.59 KB | None | 0 0
  1. ;*********************************
  2. ; Predmet: Praktikum elektronike
  3. ; Student: Haris Ačkar
  4. ; Laboratorijska vježba broj 3.
  5. ;*********************************
  6.  
  7. ;Generator signala
  8.  
  9. list p=16f1939
  10. #include <p16f1939.inc>
  11.  
  12. __CONFIG _CONFIG1,_FOSC_HS&_WDTE_OFF&_PWRTE_OFF&_MCLRE_ON&_CP_OFF&_CPD_OFF&_BOREN_OFF&_CLKOUTEN_OFF&_IESO_OFF&_FCMEN_OFF
  13. __CONFIG _CONFIG2,_WRT_OFF&_VCAPEN_OFF&_PLLEN_OFF&_STVREN_OFF&_LVP_OFF
  14.  
  15. ;**** Deklaracija promjenljivih ****
  16.  
  17. brojaca equ 0x71
  18. brojacb equ 0x72
  19. brojacc equ 0x73
  20.  
  21. ;**** Struktura programske memorije ****
  22. ORG 0x00 ; Reset vektor
  23. goto Glavni
  24. ORG 0x04 ; Vektor prekida
  25. goto Glavni ; nema prekidne rutine
  26.  
  27. ;**** Pocetak programa ****
  28.  
  29. Glavni
  30.  
  31. ;**** Inicijalizacija portova ****
  32. bsf BSR,BSR0 ; izbor BANK1
  33. bcf BSR,BSR1
  34. movlw B'00000000' ; inicijalizacija POTD kao izlaznog
  35. movwf TRISD
  36. bcf BSR,BSR0 ; izbor BANK2
  37. bsf BSR,BSR1
  38.  
  39. ; glavni program
  40. bcf LATD,0 ; pocetno stanje
  41.  
  42. L0
  43. bsf LATD,0 ; visi naponski nivo
  44. call msec ; poziv podprograma za kasnjenje od 1 ms
  45. bcf LATD,0 ; nizi naponski nivo
  46. call msec
  47. call msec
  48. call msec
  49. goto L0
  50.  
  51. ; podprogram za kasnjenje od 1 ms
  52.  
  53. msec
  54. movlw 0x0A ; brojac A = 10
  55. movwf brojaca
  56. L1
  57. movlw 0x0A ; brojac B = 10
  58. movwf brojacb
  59. L2
  60. movlw 0x06 ; brojac C = 6
  61. movwf brojacc
  62. L3
  63. decfsz brojacc,1
  64. goto L3
  65. decfsz brojacb,1
  66. goto L2
  67. decfsz brojaca,1
  68. goto L1
  69. return
  70. end
  71.  
  72.  
  73. drugi program
  74.  
  75. ;************************************
  76. ; Predmet: Praktikum elektronike
  77. ; Student: Haris Ačkar i Selma Didik
  78. ; Laboratorijska vježba broj 3.
  79. ;************************************
  80.  
  81. ;Generator signala
  82.  
  83. list p=16f1939
  84. #include <p16f1939.inc>
  85.  
  86. __CONFIG _CONFIG1,_FOSC_HS&_WDTE_OFF&_PWRTE_OFF&_MCLRE_ON&_CP_OFF&_CPD_OFF&_BOREN_OFF&_CLKOUTEN_OFF&_IESO_OFF&_FCMEN_OFF
  87. __CONFIG _CONFIG2,_WRT_OFF&_VCAPEN_OFF&_PLLEN_OFF&_STVREN_OFF&_LVP_OFF
  88.  
  89. ;**** Deklaracija promjenljivih ****
  90.  
  91. brojaca equ 0x71
  92. brojacb equ 0x72
  93. brojacc equ 0x73
  94.  
  95. ;**** Struktura programske memorije ****
  96. ORG 0x00 ; Reset vektor
  97. goto Glavni
  98. ORG 0x04 ; Vektor prekida
  99. goto Glavni ; nema prekidne rutine
  100.  
  101. ;**** Pocetak programa ****
  102.  
  103. Glavni
  104.  
  105. ;**** Inicijalizacija portova ****
  106. bsf BSR,BSR0 ; izbor BANK1
  107. bcf BSR,BSR1
  108. movlw B'00000000' ; inicijalizacija POTD kao izlaznog
  109. movwf TRISD
  110. bcf BSR,BSR0 ; izbor BANK2
  111. bsf BSR,BSR1
  112.  
  113. ; glavni program
  114. bcf LATD,0 ; pocetno stanje
  115.  
  116. L0
  117. bsf LATD,0 ; visi naponski nivo
  118. call msec ; poziv podprograma za kasnjenje od 1 ms
  119. call msec
  120. nop
  121. nop
  122. nop
  123. nop
  124. nop
  125. bcf LATD,0
  126. call msec
  127. nop
  128. nop
  129. bsf LATD,0
  130. call msec
  131. nop
  132. nop
  133. bcf LATD,0
  134. call msec
  135. call msec
  136. nop
  137. nop
  138. nop
  139. nop
  140. nop
  141. bsf LATD,0
  142. call msec
  143. goto L0
  144.  
  145. ; podprogram za kasnjenje od 1 ms
  146.  
  147. msec
  148. movlw D'1' ; brojac A
  149. movwf brojaca
  150. L1
  151. movlw D'14' ; brojac B
  152. movwf brojacb
  153. L2
  154. movlw D'46' ; brojac C
  155. movwf brojacc
  156. L3
  157. decfsz brojacc,1
  158. goto L3
  159. decfsz brojacb,1
  160. goto L2
  161. decfsz brojaca,1
  162. goto L1
  163. return
  164. end
  165.  
  166. za trazenje brojaca
  167.  
  168. #include <iostream>
  169.  
  170. using namespace std;
  171.  
  172. int main()
  173. {
  174. int x = 0;
  175. int a = 1;
  176. int b = 0;
  177. int c = 0;
  178. for(b = 0; b < 100; b++){
  179. for(c = 0; c < 100; c++){
  180. x = a*(3*c + (3*c+4)*(b - 1)+8)+5;
  181. if (x == 1997) {
  182. cout << "b = " << b << " c = " << c;
  183. break;
  184. }
  185. }
  186. }
  187.  
  188. return 0;
  189.  
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement