home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug099.arc / LED.WSF < prev    next >
Text File  |  1979-12-31  |  4KB  |  107 lines

  1.                            LED Flasher
  2.  
  3.                          by Simon Carter
  4.  
  5.  
  6.  
  7. The 8 LED flasher is a very  simple circuit that you can get hours 
  8. of fun from.   It consists of 8 identical  blocks, each containing 
  9. two resistors, a LED and a transistor.
  10.  
  11. Component List
  12.  
  13. $2.80  8 x 5mm Red LEDs
  14. $0.40  8 x 82R Resistors
  15. $0.40  8 x 2K2 Resistors
  16. $1.52  8 x NPN BC548 transistor
  17. $3.15  1 x DB15 plug
  18. -------------------------------
  19. $8.27  (Without cicuit board)
  20. -------------------------------
  21.  
  22. Diagram 1a shows the complete circuit in a circular form, 1b shows 
  23. the basic circuit.  If you wish you can have a row of LEDs instead 
  24. of a circle, by repeating diagram 1b eight times.  Diagram 2 shows 
  25. the parallel port pinouts as seen on the soldering lug side of the 
  26. DB15 plug.
  27.  
  28.  
  29.          (1)          Each LED is numbered as shown.  To light
  30.     (128)   (2)       that LED, output its number to the parallel
  31.   (64)         (4)    port with an OUTL#1:OUT 0,X statement.  To
  32.      (32)   (8)       display more than one LED, add their values.
  33.         (16)
  34.  
  35.  
  36. The following Basic  program uses the LED flasher  circuit to full 
  37. effect.   A Machine  Code subroutine  is called  which displays  a 
  38. duplicate  of the  output on  the screen  as well  as running  the 
  39. flasher circuit,  enabling those  without the  flasher circuit  to 
  40. still use  the program.   A negative  (-) number  in the  LED data 
  41. indicates speed.  The higher the number,  the slower the speed.  A 
  42. -10000 indicates the  end of the data.   All data is read  once to 
  43. determine how much there  is, an array is set up  to hold the data 
  44. and speed factor, and the data is then read into it.  Three groups 
  45. of  four PCGs  are needed  to maintain  a circular  effect on  the 
  46. screen.  The first two bytes of M/C data (line 00290) indicate the 
  47. upper left corner of the display, allowing you to move it around.
  48.  
  49.  
  50.  
  51.  
  52.  
  53. 00100 REM LED flasher routine V3 by Simon Carter 7/5/1988
  54. 00110 RESTORE 240:S=-255:OUTL#1:CLS
  55. 00120 READ D:IF D=>0:C=C+1
  56. 00130 IF D<>-10000 THEN 120
  57. 00140 RESTORE 240:DIM G(C,1)
  58. 00150 FOR C=1 TO C:READ D
  59. 00160  IF D<0:S=D:READ D
  60. 00170 G(C,0)=D:G(C,1)=S:NEXT C
  61. 00180 RESTORE 290:FOR I=28659 TO 29051:READ D:POKE I,D:NEXT I
  62. 00190 U=USR(28661)
  63. 00200 FOR C=1 TO C:FOR S=G(C,1) TO 0:NEXT S
  64. 00210  U=USR(28672,G(C,0))
  65. 00220 NEXT C:GOTO 200
  66. 00230 REM Data for LED display
  67. 00240 DATA -125,1,2,4,8,-100,16,32,64,-75,128,1,2,-50,4,8,16,32
  68. 00250 DATA -25,64,128,1,2,4,-1,8,16,32,64,128,1,2,4,8,16,32,-25
  69. 00260 DATA 64,128,1,-50,2,4,8,-75,16,32,64,128
  70. 00270 DATA -10000
  71. 00280 REM Data for POKEing from 28659 to 29051 Decimal
  72. 00290 DATA 86,241,33,188,112,17,16,252,1,192
  73. 00300 DATA 0,237,176,221,42,243,111,121,211,0
  74. 00310 DATA 203,71,32,10,221,54,6,193,221,54
  75. 00320 DATA 7,194,24,8,221,54,6,195,221,54
  76. 00330 DATA 7,196,203,127,32,10,221,54,66,197
  77. 00340 DATA 221,54,67,198,24,8,221,54,66,199
  78. 00350 DATA 221,54,67,200,203,79,32,10,221,54
  79. 00360 DATA 74,197,221,54,75,198,24,8,221,54
  80. 00370 DATA 74,199,221,54,75,200,17,140,0,221
  81. 00380 DATA 25,203,119,32,10,221,54,244,193,221
  82. 00390 DATA 54,245,194,24,8,221,54,244,195,221
  83. 00400 DATA 54,245,196,203,87,32,10,221,54,0
  84. 00410 DATA 193,221,54,1,194,24,8,221,54,0
  85. 00420 DATA 195,221,54,1,196,203,111,32,10,221
  86. 00430 DATA 54,54,201,221,54,55,202,24,8,221
  87. 00440 DATA 54,54,203,221,54,55,204,203,95,32
  88. 00450 DATA 10,221,54,62,201,221,54,63,202,24
  89. 00460 DATA 8,221,54,62,203,221,54,63,204,203
  90. 00470 DATA 103,32,9,221,54,122,193,221,54,123
  91. 00480 DATA 194,201,221,54,122,195,221,54,123,196,201
  92. 00490 REM Pcg Data
  93. 00500 DATA 0,0,0,15,48,64,128,128,128,128,64,48,15,0,0,0
  94. 00510 DATA 0,0,0,240,12,2,1,1,1,1,2,12,240,0,0,0
  95. 00520 DATA 0,0,0,15,63,127,255,255,255,255,127,63,15,0,0,0
  96. 00530 DATA 0,0,0,240,252,254,255,255,255,255,254,252,240,0,0,0
  97. 00540 DATA 15,48,64,128,128,128,128,64,48,15,0,0,0,0,0,0
  98. 00550 DATA 240,12,2,1,1,1,1,2,12,240,0,0,0,0,0,0
  99. 00560 DATA 15,63,127,255,255,255,255,127,63,15,0,0,0,0,0,0
  100. 00570 DATA 240,252,254,255,255,255,255,254,252,240,0,0,0,0,0,0
  101. 00580 DATA 0,0,0,0,0,0,15,48,64,128,128,128,128,64,48,15
  102. 00590 DATA 0,0,0,0,0,0,240,12,2,1,1,1,1,2,12,240
  103. 00600 DATA 0,0,0,0,0,0,15,63,127,255,255,255,255,127,63,15
  104. 00610 DATA 0,0,0,0,0,0,240,252,254,255,255,255,255,254,252,240
  105.  
  106.  
  107. 0600 DATA 0,0,0,0,0,0,15,63,127,255,255,255,25