367 lines
3.4 KiB
Plaintext
367 lines
3.4 KiB
Plaintext
' ########### start ###########
|
||
' pic:PIC16F886
|
||
' ########### end ###########
|
||
|
||
'A program to drive the LED Matrix Shield
|
||
'Display the 0 symbol
|
||
|
||
'Chip model
|
||
#chip 16F886, 16
|
||
#include <chipino.h>
|
||
'#include "Characters.gcb" ;character pattern data in tables
|
||
|
||
'Main routine
|
||
Start:
|
||
TRISA = 0
|
||
TRISB = 0
|
||
TRISC = 0
|
||
|
||
DIM COLUMN(8) AS BYTE
|
||
FOR DIG = 1 TO 239 STEP 8 ; Display ascii
|
||
INDEX = DIG
|
||
FOR CNT = 1 TO 8
|
||
ReadTable NUMERIC, INDEX, COLUMN(CNT)
|
||
INDEX++
|
||
NEXT
|
||
FOR TIME = 1 TO 50
|
||
ROW = 1
|
||
FOR CNT = 1 TO 8
|
||
'Columns need to be pulled low to light
|
||
D9 = COLUMN(CNT).0
|
||
D8 = COLUMN(CNT).1
|
||
D4 = COLUMN(CNT).2
|
||
A3 = COLUMN(CNT).3
|
||
D3 = COLUMN(CNT).4
|
||
D10 = COLUMN(CNT).5
|
||
D11 = COLUMN(CNT).6
|
||
D6 = COLUMN(CNT).7
|
||
'Rows are driven high to light LED
|
||
D2 = ROW.0
|
||
D7 = ROW.1
|
||
A5 = ROW.2
|
||
D5 = ROW.3
|
||
D13 = ROW.4
|
||
A4 = ROW.5
|
||
D12 = ROW.6
|
||
A2 = ROW.7
|
||
ROW = ROW*2
|
||
wait 1 mS
|
||
NEXT
|
||
NEXT
|
||
NEXT
|
||
'Jump back to the start of the program
|
||
goto Start
|
||
|
||
table numeric ;5 by 7 patterns, ASCII 32 through 63
|
||
;space 1
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
|
||
;! 9
|
||
0xFF
|
||
0xFB
|
||
0xFB
|
||
0xFB
|
||
0xFB
|
||
0xFB
|
||
0xFF
|
||
0xFB
|
||
|
||
;" 17
|
||
0xFF
|
||
0xFA
|
||
0xF5
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
|
||
;# 25
|
||
0xFF
|
||
0xFF
|
||
0xF5
|
||
0xE0
|
||
0xF5
|
||
0xE0
|
||
0xF5
|
||
0xFF
|
||
|
||
;$ 33
|
||
0xFF
|
||
0xFB
|
||
0xF0
|
||
0xEB
|
||
0xF1
|
||
0xFA
|
||
0xE1
|
||
0xFB
|
||
|
||
;% 41
|
||
0xFF
|
||
0xE3
|
||
0xEA
|
||
0xE1
|
||
0xFB
|
||
0xF0
|
||
0xEA
|
||
0xF8
|
||
|
||
;& 49
|
||
0xFF
|
||
0xF9
|
||
0xF6
|
||
0xE7
|
||
0xF7
|
||
0xEA
|
||
0xED
|
||
0xF2
|
||
|
||
;‘ 57
|
||
0xFF
|
||
0xEF
|
||
0xF7
|
||
0xFB
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
|
||
;( 65
|
||
0xFF
|
||
0xFD
|
||
0xFB
|
||
0xF7
|
||
0xF7
|
||
0xF7
|
||
0xFB
|
||
0xFD
|
||
|
||
;) 73
|
||
0xFF
|
||
0xF7
|
||
0xFB
|
||
0xFD
|
||
0xFD
|
||
0xFD
|
||
0xFB
|
||
0xF7
|
||
|
||
;* 81
|
||
0xFF
|
||
0xFB
|
||
0xEA
|
||
0xF1
|
||
0xF1
|
||
0xEA
|
||
0xFB
|
||
0xFF
|
||
|
||
;+ 89
|
||
0xFF
|
||
0xFF
|
||
0xFB
|
||
0xFB
|
||
0xE0
|
||
0xFB
|
||
0xFB
|
||
0xFF
|
||
|
||
;, 97
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFD
|
||
0xFD
|
||
0xFB
|
||
0xF7
|
||
|
||
;- 105
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xE0
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
|
||
;. 113
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xF8
|
||
0xF8
|
||
0xF8
|
||
|
||
;/ 121
|
||
0xFF
|
||
0xFF
|
||
0xFE
|
||
0xFD
|
||
0xFB
|
||
0xF7
|
||
0xEF
|
||
0xFF
|
||
|
||
;0 129 (CORRECTED)
|
||
0xFF
|
||
0xf1
|
||
0xEE
|
||
0xE6
|
||
0xEA
|
||
0xEC
|
||
0xEE
|
||
0xF1
|
||
|
||
;1 137 (CORR)
|
||
0xFF
|
||
0xFB
|
||
0xF3
|
||
0xFB
|
||
0xFB
|
||
0xFB
|
||
0xFB
|
||
0xF1
|
||
|
||
;2 147
|
||
0xFF
|
||
0xF1
|
||
0xEE
|
||
0xFE
|
||
0xFD
|
||
0xFB
|
||
0xF7
|
||
0xE0
|
||
|
||
;3 155
|
||
0xFF
|
||
0xF1
|
||
0xEE
|
||
0xFE
|
||
0xF9
|
||
0xFE
|
||
0xEE
|
||
0xF1
|
||
|
||
;4 163
|
||
0xFF
|
||
0xED
|
||
0xED
|
||
0xED
|
||
0xE0
|
||
0xFD
|
||
0xFD
|
||
0xFD
|
||
|
||
;5 171
|
||
0xFF
|
||
0xE0
|
||
0xEF
|
||
0xEF
|
||
0xE1
|
||
0xFE
|
||
0xFE
|
||
0xE1
|
||
|
||
;6 179
|
||
0xFF
|
||
0xF1
|
||
0xEE
|
||
0xEF
|
||
0xE1
|
||
0xEE
|
||
0xEE
|
||
0xF1
|
||
|
||
;7 183
|
||
0xFF
|
||
0xE0
|
||
0xFE
|
||
0xFE
|
||
0xFD
|
||
0xFB
|
||
0xFB
|
||
0xFB
|
||
|
||
;8 191
|
||
0xFF
|
||
0xF1
|
||
0xEE
|
||
0xEE
|
||
0xF1
|
||
0xEE
|
||
0xEE
|
||
0xF1
|
||
|
||
;9 199
|
||
0xFF
|
||
0xF1
|
||
0xEE
|
||
0xEE
|
||
0xF0
|
||
0xFE
|
||
0xFE
|
||
0xF1
|
||
|
||
;: 207
|
||
0xFF
|
||
0xFF
|
||
0xF9
|
||
0xF9
|
||
0xFF
|
||
0xF9
|
||
0xF9
|
||
0xFF
|
||
|
||
;; 215
|
||
0xFF
|
||
0xFF
|
||
0xF9
|
||
0xF9
|
||
0xFF
|
||
0xFD
|
||
0xFB
|
||
0xF7
|
||
|
||
;< 223
|
||
0xFF
|
||
0xFD
|
||
0xFB
|
||
0xF7
|
||
0xEF
|
||
0xF7
|
||
0xFB
|
||
0xFD
|
||
|
||
;= 231
|
||
0xFF
|
||
0xFF
|
||
0xFF
|
||
0xE0
|
||
0xFF
|
||
0xE0
|
||
0xFF
|
||
0xFF
|
||
|
||
;> 239
|
||
0xFF
|
||
0xF7
|
||
0xFB
|
||
0xFD
|
||
0xFE
|
||
0xFD
|
||
0xFB
|
||
0xF7
|
||
|
||
|
||
end table |