Advertisement
Guest User

asdasd

a guest
Jun 4th, 2018
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $regfile = "m8adef.dat"
  2.  
  3.  
  4.  
  5.  'config lcd
  6. Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.7 , Db6 = Portb.6 , Db7 = Portb.1 , Rs = Portc.0 , E = Portc.1
  7. Config Lcd = 16 * 2
  8.  
  9. 'configuracja poboru napiecia reference moze nie byc potrzebne
  10. Config Adc = Single , Prescaler = Auto , Reference = Internal
  11. 'Now give power to the chip
  12. Start Adc
  13. 'get adc powinno pobrac napiecie
  14.  
  15. 'config klawiatury
  16.  
  17.  
  18. Config Kbd = Portd , Debounce = 40 , Delay = 50
  19. Config Pind.7 = 0
  20.   Cursor Off
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.    Dim B As Byte
  29.    'nadanie wlasnej nazwy portom konfiguracja diody rgb
  30.    Red Alias Portc.3
  31.    Green Alias Portc.4
  32.    Blue Alias Portc.5
  33.  
  34.  
  35.    'konfiguracja pinow portow poprzez ustawienie ich na wyjscie
  36.    Config Pinc.3 = Output
  37.    Config Pinc.4 = Output
  38.    Config Pinc.5 = Output
  39.  
  40.  
  41.    B = 0
  42.    'reset niekonieczny ale warto zresetowac
  43.  
  44.    Reset Red
  45.    Reset Green
  46.    Reset Blue
  47.  
  48.    'przelaczenie w stan spoczynku portow odpowiednich za diode rgb
  49.    '0 wartosc
  50.  
  51.    Toggle Red
  52.    Toggle Green
  53.    Toggle Blue
  54.  
  55.     Toggle Red
  56.  
  57. Dim Klawisz As Byte
  58. 'zmienna do ktorej zapisywanyjest kod klawisza
  59. Dim Konw_klaw As Byte
  60.  'zmienna do ktorej zapisywany jest przekodowany kod klawisza
  61. Cursor Off
  62.  'wylaczenie kursora
  63.  
  64.  
  65.  
  66. Goto Wybor_aku
  67.  
  68.  
  69.  
  70. End
  71.  'koniec programu
  72.  
  73. '*******************************************************************************************'
  74. Wybor_aku:
  75. Dim Licznik As Byte
  76. Licznik = 1
  77. 'Do
  78. 'Cls
  79. 'Lcd "Wybor aku czek..";
  80. 'Incr Licznik
  81. 'Loop Until Licznik = 100
  82.  
  83. Cls
  84. Locate 1 , 1 : Lcd "1 Olow 2 Zelowy"
  85. Locate 2 , 1 : Lcd "3 AGM"
  86.  
  87. Klawisz = 0
  88. Do
  89. Klawisz = Getkbd()
  90. Konw_klaw = Lookup(klawisz , Tab_klw)
  91.  
  92. If Konw_klaw = 1 Then
  93. Goto Olowiany
  94. End If
  95.  
  96. If Konw_klaw = 2 Then
  97. Goto Zelowy
  98. End If
  99.  
  100. If Konw_klaw = 3 Then
  101. Goto Agm
  102. End If
  103.  
  104. Loop
  105. End
  106. '*******************************************************************************************'
  107.  
  108. Olowiany:
  109. Cls
  110. Locate 1 , 1 : Lcd "Olow-wybor trybu"
  111. Locate 2 , 1 : Lcd "1-Auto,2-Recz,3B"
  112.  
  113. Klawisz = 0
  114. 'POMIAR NAPIECIA W ZALEZNOSCI OD PORTU ->GETADC
  115. Do
  116. Klawisz = Getkbd()
  117. Konw_klaw = Lookup(klawisz , Tab_klw)
  118.  
  119. If Konw_klaw = 1 Then
  120. Goto Automatycznie_olowiany
  121. End If
  122.  
  123. If Konw_klaw = 2 Then
  124. Goto Recznie_olowiany
  125. End If
  126.  
  127. If Konw_klaw = 3 Then
  128. Goto Wybor_aku
  129. End If
  130. Loop
  131. End
  132. '*******************************************************************************************'
  133. Zelowy:
  134. Cls
  135. Locate 1 , 1 : Lcd "Zel-wybor trybu"
  136. Locate 2 , 1 : Lcd "1-Auto,2-Recz3B"
  137. Klawisz = 0
  138. 'POMIAR NAPIECIA W ZALEZNOSCI OD PORTU ->GETADC
  139. Do
  140. Klawisz = Getkbd()
  141. Konw_klaw = Lookup(klawisz , Tab_klw)
  142.  
  143. If Konw_klaw = 1 Then
  144. Goto Automatycznie_zelowy
  145. End If
  146.  
  147. If Konw_klaw = 2 Then
  148. Goto Recznie_zelowy
  149. End If
  150.  
  151. If Konw_klaw = 3 Then
  152. Goto Wybor_aku
  153. End If
  154.  
  155. Loop
  156. End
  157. '*******************************************************************************************'
  158. Agm:
  159. Cls
  160. Locate 1 , 1 : Lcd "AGM-wybor trybu"
  161. Locate 2 , 1 : Lcd "1-Auto,2-Recz3B"
  162. Klawisz = 0
  163. 'POMIAR NAPIECIA W ZALEZNOSCI OD PORTU ->GETADC
  164. Do
  165. Klawisz = Getkbd()
  166. Konw_klaw = Lookup(klawisz , Tab_klw)
  167.  
  168. If Konw_klaw = 1 Then
  169. Goto Automatycznie_agm
  170. End If
  171.  
  172. If Konw_klaw = 2 Then
  173. Goto Recznie_agm
  174. End If
  175. If Konw_klaw = 3 Then
  176. Goto Wybor_aku
  177. End If
  178. Loop
  179. End
  180. '*******************************************************************************************'
  181. Automatycznie_olowiany:
  182. Cls
  183. Locate 1 , 1 : Lcd "Olowiany"
  184. Locate 2 , 1 : Lcd "1-Potwierdz,2-B"
  185. Klawisz = 0
  186. Do
  187. Klawisz = Getkbd()
  188. Konw_klaw = Lookup(klawisz , Tab_klw)
  189.  
  190. If Konw_klaw = 1 Then
  191. Goto Laduj_olowiany
  192. End If
  193.  
  194. If Konw_klaw = 2 Then
  195. Goto Wybor_aku
  196. End If
  197.  
  198. Loop
  199. End
  200. '*******************************************************************************************'
  201.  
  202. Automatycznie_zelowy:
  203. Cls
  204. Locate 1 , 1 : Lcd "Zelowy"
  205. Locate 2 , 1 : Lcd "1-Potwierdz,2-B"
  206. Klawisz = 0
  207. Do
  208. Klawisz = Getkbd()
  209. Konw_klaw = Lookup(klawisz , Tab_klw)
  210.  
  211. If Konw_klaw = 1 Then
  212. Goto Laduj_zelowy
  213. End If
  214.  
  215. If Konw_klaw = 2 Then
  216. Goto Wybor_aku
  217. End If
  218.  
  219. Loop
  220. End
  221. '*******************************************************************************************'
  222. Automatycznie_agm:
  223. Cls
  224. Locate 1 , 1 : Lcd "AGM"
  225. Locate 2 , 1 : Lcd "1-Potwierdz,2-B"
  226. Klawisz = 0
  227. Do
  228. Klawisz = Getkbd()
  229. Konw_klaw = Lookup(klawisz , Tab_klw)
  230.  
  231. If Konw_klaw = 1 Then
  232. Goto Laduj_agm
  233. End If
  234.  
  235. If Konw_klaw = 2 Then
  236. Goto Wybor_aku
  237. End If
  238.  
  239. Loop
  240. End
  241. '*******************************************************************************************'
  242. Recznie_olowiany:
  243. Cls
  244. Locate 1 , 1 : Lcd "Olowiany, 3B"
  245. Locate 1 , 2 : Lcd "1-laduj,2-odsiar"
  246. Klawisz = 0
  247. Do
  248. Klawisz = Getkbd()
  249. Konw_klaw = Lookup(klawisz , Tab_klw)
  250.  
  251. If Konw_klaw = 1 Then
  252. Goto Laduj_olowiany
  253. End If
  254.  
  255. If Konw_klaw = 2 Then
  256. Goto Odsiarczaj_olowiany
  257. End If
  258.  
  259. If Konw_klaw = 3 Then
  260. Goto Wybor_aku
  261. End If
  262.  
  263. Loop
  264. End
  265.  
  266. '*******************************************************************************************'
  267. Recznie_zelowy:
  268. Cls
  269. Locate 1 , 1 : Lcd "Zelowy, 3B"
  270. Locate 1 , 2 : Lcd "1-laduj,2-odsiar"
  271. Klawisz = 0
  272. Do
  273. Klawisz = Getkbd()
  274. Konw_klaw = Lookup(klawisz , Tab_klw)
  275.  
  276. If Konw_klaw = 1 Then
  277. Goto Laduj_zelowy
  278. End If
  279.  
  280. If Konw_klaw = 2 Then
  281. Goto Odsiarczaj_zelowy
  282. End If
  283.  
  284. If Konw_klaw = 3 Then
  285. Goto Wybor_aku
  286. End If
  287.  
  288. Loop
  289. End
  290.  
  291. '*******************************************************************************************'
  292. Recznie_agm:
  293. Cls
  294. Locate 1 , 1 : Lcd "AGM, 3B"
  295. Locate 1 , 2 : Lcd "1-laduj,2-odsiar"
  296. Klawisz = 0
  297. Do
  298. Klawisz = Getkbd()
  299. Konw_klaw = Lookup(klawisz , Tab_klw)
  300.  
  301. If Konw_klaw = 1 Then
  302. Goto Laduj_agm
  303. End If
  304.  
  305. If Konw_klaw = 2 Then
  306. Goto Odsiarczaj_agm
  307. End If
  308.  
  309. If Konw_klaw = 3 Then
  310. Goto Wybor_aku
  311. End If
  312.  
  313. Loop
  314. End
  315.  
  316. '*******************************************************************************************'
  317.  
  318.  
  319. Laduj_olowiany:
  320.  
  321. Dim Pojemnosc As Byte
  322. Pojemnosc = 4
  323.  
  324.  
  325. 'wyswietlenie bazowej pojemnosci poczatkowej
  326.  
  327. Cls
  328. Locate 1 , 1 : Lcd "Pojemnosc w Ah"
  329. Locate 2 , 1 : Lcd "1B " ; Pojemnosc ; " 3->4Ok"
  330.  
  331. Klawisz = 0
  332. Do
  333. Klawisz = Getkbd()
  334. Konw_klaw = Lookup(klawisz , Tab_klw)
  335.  
  336. '3 pojemnosc +4, 1 powrot do menu poczatkowego, 2 powrot do bazowej pojemnosci aku , 4 zaakceptuj i laduj
  337. If Konw_klaw = 3 Then
  338. Pojemnosc = Pojemnosc + 4
  339.  
  340.    If Pojemnosc > 120 Then
  341.       Goto Laduj_olowiany
  342.    End If
  343.  
  344.    Cls
  345.    Locate 1 , 1 : Lcd "Pojemnosc w Ah"
  346.    Locate 2 , 1 : Lcd "1B2E " ; Pojemnosc ; " 3->4Ok"
  347. End If
  348.  
  349. If Konw_klaw = 4 Then
  350.  
  351.     Cls
  352.    Locate 1 , 1 : Lcd "Ladownie..."
  353.    Locate 2 , 1 : Lcd "" ; Pojemnosc ; "Ah"
  354.  
  355.  
  356. End If
  357.  
  358. If Konw_klaw = 1 Then
  359. Goto Wybor_aku
  360. End If
  361.  
  362. If Konw_klaw = 2 Then
  363. Goto Laduj_olowiany
  364. End If
  365.  
  366.  
  367.  
  368. Loop
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375. End
  376. '*******************************************************************************************'
  377.  
  378. Laduj_zelowy:
  379.  
  380. Pojemnosc = 4
  381.  
  382.  
  383. 'wyswietlenie bazowej pojemnosci poczatkowej
  384.  
  385. Cls
  386. Locate 1 , 1 : Lcd "Pojemnosc w Ah"
  387. Locate 2 , 1 : Lcd "1B " ; Pojemnosc ; " 3->4Ok"
  388.  
  389. Klawisz = 0
  390. Do
  391. Klawisz = Getkbd()
  392. Konw_klaw = Lookup(klawisz , Tab_klw)
  393.  
  394. '3 pojemnosc +4, 1 powrot do menu poczatkowego, 2 powrot do bazowej pojemnosci aku , 4 zaakceptuj i laduj
  395. If Konw_klaw = 3 Then
  396. Pojemnosc = Pojemnosc + 4
  397.  
  398.    If Pojemnosc > 120 Then
  399.       Goto Laduj_zelowy
  400.    End If
  401.  
  402.    Cls
  403.    Locate 1 , 1 : Lcd "Pojemnosc w Ah"
  404.    Locate 2 , 1 : Lcd "1B2E " ; Pojemnosc ; " 3->4Ok"
  405. End If
  406.  
  407. If Konw_klaw = 4 Then
  408.  
  409.     Cls
  410.    Locate 1 , 1 : Lcd "Ladownie..."
  411.    Locate 2 , 1 : Lcd "" ; Pojemnosc ; "Ah"
  412.  
  413.  
  414. End If
  415.  
  416. If Konw_klaw = 1 Then
  417. Goto Wybor_aku
  418. End If
  419.  
  420. If Konw_klaw = 2 Then
  421. Goto Laduj_zelowy
  422.  
  423. End If
  424.  
  425.  
  426.  
  427. Loop
  428.  
  429.  
  430. End
  431. '*******************************************************************************************'
  432.  
  433. Laduj_agm:
  434.  
  435. Pojemnosc = 4
  436.  
  437.  
  438. 'wyswietlenie bazowej pojemnosci poczatkowej
  439.  
  440. Cls
  441. Locate 1 , 1 : Lcd "Pojemnosc w Ah"
  442. Locate 2 , 1 : Lcd "1B " ; Pojemnosc ; " 3->4Ok"
  443.  
  444. Klawisz = 0
  445. Do
  446. Klawisz = Getkbd()
  447. Konw_klaw = Lookup(klawisz , Tab_klw)
  448.  
  449. '3 pojemnosc +4, 1 powrot do menu poczatkowego, 2 powrot do bazowej pojemnosci aku , 4 zaakceptuj i laduj
  450. If Konw_klaw = 3 Then
  451. Pojemnosc = Pojemnosc + 4
  452.  
  453.    If Pojemnosc > 120 Then
  454.       Goto Laduj_agm
  455.  
  456.    End If
  457.  
  458.    Cls
  459.    Locate 1 , 1 : Lcd "Pojemnosc w Ah"
  460.    Locate 2 , 1 : Lcd "1B2E " ; Pojemnosc ; " 3->4Ok"
  461. End If
  462.  
  463. If Konw_klaw = 4 Then
  464.  
  465.     Cls
  466.    Locate 1 , 1 : Lcd "Ladownie..."
  467.    Locate 2 , 1 : Lcd "" ; Pojemnosc ; "Ah"
  468.  
  469.  
  470. End If
  471.  
  472. If Konw_klaw = 1 Then
  473. Goto Wybor_aku
  474. End If
  475.  
  476. If Konw_klaw = 2 Then
  477. Goto Laduj_agm
  478.  
  479.  
  480. End If
  481.  
  482.  
  483.  
  484. Loop
  485.  
  486.  
  487. End
  488. '*******************************************************************************************'
  489.  
  490. Odsiarczaj_olowiany:
  491. Cls
  492. Locate 1 , 1 : Lcd "Odsiarczanie.."
  493. End
  494. '*******************************************************************************************'
  495.  
  496. Odsiarczaj_zelowy:
  497. Cls
  498. Locate 1 , 1 : Lcd "Odsiarczanie.."
  499. End
  500. '*******************************************************************************************'
  501.  
  502. Odsiarczaj_agm:
  503. Cls
  504. Locate 1 , 1 : Lcd "Odsiarczanie.."
  505. End
  506. '*******************************************************************************************'
  507.  
  508. Tab_klw:
  509.  'tablica konwersji kodow klawiszy
  510. 'Data 1 , 4 , 7 , 16 , 2 , 5 , 1 , 16 , 3 , 6 , 9 , 16 , 9 , 8 , 7 , 16 , 16
  511. Data 1 , 4 , 7 , 10 , 2 , 5 , 8 , 0 , 3 , 6 , 9 , 11 , 9 , 8 , 7 , 16 , 16
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement