home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 65 / 64er_Magazin_Sonderheft_65_19xx_Markt__Technik_de_Side_A.d64 / echtzeituhr (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  1KB  |  64 lines

  1. 110 rem *    beispielprogramm zur    *
  2. 120 rem *   nutzung der echtzeituhr  *
  3. 140 cia = 56576:rem basisadresse cia #2
  4. 150 rem 50 hertz netzfrequenz
  5. 160 poke cia+15,peek(cia+15) or 128
  6. 170 print "alarmzeit setzen"
  7. 180 gosub 1000
  8. 190 gosub 2000
  9. 200 rem alarmzeitflag
  10. 210 poke cia + 15,peek (cia+15) or 128
  11. 220 gosub 3000
  12. 230 print "uhrzeit setzen"
  13. 240 gosub 1000
  14. 250 gosub 2000
  15. 260 rem uhrzeitflag
  16. 270 poke cia + 15,peek (cia+15) and 127
  17. 280 gosub 3000
  18. 290 gosub 4000
  19. 300 print chr$ (147)
  20. 310 print h;":";m;":";s;",";z
  21. 320 rem alarm ?
  22. 330 a = peek (cia+13)
  23. 340 poke cia+13,a
  24. 350 if (a and 4) = 0 goto 290
  25. 360 for i=0 to 20:print "alarm":next
  26. 370 end
  27. 1000 rem eingabe
  28. 1010 input"0 = am  1 = pm ";fl
  29. 1020 if fl <> 0 and fl <> 1 then 1010
  30. 1030 input"std.,min.,sek.,1/10 sek";h,m,s,z
  31. 1040 return
  32. 1050 return
  33. 2000 rem umrechnung in bcd-format
  34. 2010 h1=int (h/10)
  35. 2020 h2 = h - h1*10
  36. 2030 h = h1*16 + h2
  37. 2040 m1 = int (m/10)
  38. 2050 m2 = m - m1*10
  39. 2060 m = m1*16 + m2
  40. 2070 s1 = int (s/10)
  41. 2080 s2 = s - s1*10
  42. 2090 s = s1*16 + s2
  43. 2100 return
  44. 3000 rem register setzen
  45. 3010 h = h + fl * 128:rem am/pm
  46. 3020 poke cia + 11,h
  47. 3030 poke cia + 10,m
  48. 3040 poke cia + 9,s
  49. 3050 poke cia + 8,z
  50. 3060 return
  51. 4000 rem register lesen
  52. 4010 h = peek (cia+11)
  53. 4020 fl = (h and 128)/ 128 * 12
  54. 4030 h1 = (h and 16) / 16 * 10
  55. 4040 h = h1 + fl + (h and 15)
  56. 4050 m = peek (cia+10)
  57. 4060 m1 = (m and 112) / 16 * 10
  58. 4070 m = m1 + (m and 15)
  59. 4080 s = peek (cia+9)
  60. 4090 s1 = (s and 112) / 16 * 10
  61. 4100 s = s1 + (s and 15)
  62. 4110 z = peek (cia+8) and 15
  63. 4120 return
  64.