00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "sure_7seg.h"
00015
00016 void sure_7seg_setup() {
00017 spi_setup();
00018 }
00019
00020
00021 uns8 sure_7seg_convert(uns8 digit) {
00022 switch (digit) {
00023 case ' ': return 0;
00024 case '0': return 0xfc;
00025 case '1': return 0x60;
00026 case '2': return 0xda;
00027 case '3': return 0xf2;
00028 case '4': return 0x66;
00029 case '5': return 0xb6;
00030 case '6': return 0xbe;
00031 case '7': return 0xe0;
00032 case '8': return 0xfe;
00033 case '9': return 0xf6;
00034 }
00035 }
00036
00037 void sure_7seg_write_str(char *data) {
00038
00039 uns8 count, digit;
00040 char converted[5];
00041
00042 count = 0;
00043 do {
00044 digit = data[count];
00045 converted[count] = sure_7seg_convert(digit);
00046 count++;
00047 } while (count < 4);
00048 spi_write_sure(converted[3]);
00049 spi_write_sure(converted[2]);
00050 spi_write_sure(converted[1]);
00051 spi_write_sure(converted[0]);
00052
00053 clear_pin(spi_clk_port, spi_clk_pin);
00054 set_pin(spi_clk_port, spi_clk_pin);
00055
00056 }
00057