driver for 8x8
8x8.cpp@0:12e8e6371165, 2016-06-14 (annotated)
- Committer:
- cstevens
- Date:
- Tue Jun 14 13:33:56 2016 +0000
- Revision:
- 0:12e8e6371165
libvrary to drive an 8x8 led matrix
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cstevens | 0:12e8e6371165 | 1 | #include "8x8.h" |
cstevens | 0:12e8e6371165 | 2 | |
cstevens | 0:12e8e6371165 | 3 | #include "smiles.h" |
cstevens | 0:12e8e6371165 | 4 | |
cstevens | 0:12e8e6371165 | 5 | //define 2 buses for the row and column pins |
cstevens | 0:12e8e6371165 | 6 | BusOut Row(PTC11,PTC10,PTC3,PTB10,PTC0,PTE2,PTE3,PTC5); |
cstevens | 0:12e8e6371165 | 7 | |
cstevens | 0:12e8e6371165 | 8 | BusOut Col(PTC7,PTC6,PTB8,PTC4,PTE5,PTB9,PTE4,PTB11); |
cstevens | 0:12e8e6371165 | 9 | |
cstevens | 0:12e8e6371165 | 10 | // sub to write character to the 8x8 display once - has to be repeated to keep display live |
cstevens | 0:12e8e6371165 | 11 | int write_8x8(int eye,int mth) |
cstevens | 0:12e8e6371165 | 12 | { |
cstevens | 0:12e8e6371165 | 13 | int rw,i; |
cstevens | 0:12e8e6371165 | 14 | //write eyes |
cstevens | 0:12e8e6371165 | 15 | for(i=0; i<4; i++) { |
cstevens | 0:12e8e6371165 | 16 | rw=0; |
cstevens | 0:12e8e6371165 | 17 | rw=1<<i; |
cstevens | 0:12e8e6371165 | 18 | Row=~rw; // this inverts the row code so that only the desired row is low |
cstevens | 0:12e8e6371165 | 19 | Col=eyes[i+4*eye]; |
cstevens | 0:12e8e6371165 | 20 | wait(0.002); |
cstevens | 0:12e8e6371165 | 21 | |
cstevens | 0:12e8e6371165 | 22 | }//endfori |
cstevens | 0:12e8e6371165 | 23 | //write mouth |
cstevens | 0:12e8e6371165 | 24 | for(i=4; i<8; i++) { |
cstevens | 0:12e8e6371165 | 25 | rw=0; |
cstevens | 0:12e8e6371165 | 26 | rw=1<<i; |
cstevens | 0:12e8e6371165 | 27 | Row=~rw; // this inverts the row code so that only the desired row is low |
cstevens | 0:12e8e6371165 | 28 | Col=mouth[i-4+4*mth]; |
cstevens | 0:12e8e6371165 | 29 | wait(0.002); |
cstevens | 0:12e8e6371165 | 30 | |
cstevens | 0:12e8e6371165 | 31 | }//endfori |
cstevens | 0:12e8e6371165 | 32 | |
cstevens | 0:12e8e6371165 | 33 | |
cstevens | 0:12e8e6371165 | 34 | |
cstevens | 0:12e8e6371165 | 35 | |
cstevens | 0:12e8e6371165 | 36 | return(0); |
cstevens | 0:12e8e6371165 | 37 | } |