( Pilote des afficheurs 7 segments. Version 0.10 du 24 Janvier 2010. Ecrit par jpb.forth . ) DECIMAL ( Afficheurs 7 segments: ---------------------- Bits[15..8]: 0x00 Bits[7..0]: a b c d e f g p Segment allume si 1 adr_generateur --> octet 7 segment index 0 octet 7 segment index 1 octet 7 segment index 2 ... octet 7 segment index 126 octet 7 segment index 127 adr_chaine --> code (ASCII) afficheur 0 code (ASCII) afficheur 1 ... code (ASCII) afficheur 7 le bit 7 de code commande le point -a- | | f b | | -g- | | e c | | -d- p ) 280 CONSTANT CW_AFFICHEUR ( --> 287 ) BIN HERE 00000000 C, 00000000 C, 00000000 C, 00000000 C, ( 0..3 ) 00000000 C, 00000000 C, 00000000 C, 00000000 C, ( 4..7 ) 00000000 C, 00000000 C, 00000000 C, 00000000 C, ( 8..11 ) 00000000 C, 00000000 C, 00000000 C, 00000000 C, ( 12..15 ) 00000000 C, 00000000 C, 00000000 C, 00000000 C, ( 16..19 ) 00000000 C, 00000000 C, 00000000 C, 00000000 C, ( 20..23 ) 00000000 C, 00000000 C, 00000000 C, 00000000 C, ( 24..27 ) 00000000 C, 00000000 C, 00000000 C, 00000000 C, ( 28..31 ) 00000000 C, 00000000 C, 01000100 C, 00000000 C, ( 32..35 ) 00000000 C, 00000000 C, 00000000 C, 00000100 C, ( 36..39 ) 00011010 C, 00110010 C, 00000000 C, 00000000 C, ( 40..43 ) 00000001 C, 00000010 C, 00000001 C, 01001010 C, ( 44..47 ) 11111100 C, 01100000 C, 11011010 C, 11110010 C, ( 48..51 ) 01100110 C, 10110110 C, 10111110 C, 11100000 C, ( 52..55 ) 11111110 C, 11110110 C, 00000000 C, 00000000 C, ( 56..59 ) 00011000 C, 00010010 C, 00100010 C, 11001010 C, ( 60..63 ) 11011110 C, 11101110 C, 00111110 C, 10011100 C, ( 64..67 ) 01111010 C, 10011110 C, 10001110 C, 10111100 C, ( 68..71 ) 01101110 C, 00100000 C, 01110000 C, 10101110 C, ( 72..75 ) 00011100 C, 11101100 C, 00101010 C, 00111010 C, ( 76..79 ) 11001110 C, 11100110 C, 00001010 C, 10110110 C, ( 80..83 ) 00011110 C, 01111100 C, 00111000 C, 00111100 C, ( 84..87 ) 01101110 C, 01110110 C, 11011010 C, 10011100 C, ( 88..91 ) 00100110 C, 11110000 C, 11000100 C, 00010000 C, ( 92..95 ) 01000000 C, 11111010 C, 00111110 C, 10011100 C, ( 96..99 ) 01111010 C, 10011110 C, 10001110 C, 10111100 C, ( 100..103 ) 01101110 C, 00100000 C, 01110000 C, 10101110 C, ( 104..107 ) 00011100 C, 11101100 C, 00101010 C, 00111010 C, ( 108..111 ) 11001110 C, 11100110 C, 00001010 C, 10110110 C, ( 112..115 ) 00011110 C, 01111100 C, 00111000 C, 00111100 C, ( 116..119 ) 01101110 C, 01110110 C, 11011010 C, 01100010 C, ( 120..123 ) 00001100 C, 00001110 C, 01000110 C, 11111111 C, ( 124..127 ) DECIMAL CONSTANT TABLE_AFFICHEUR : AFFICHEUR ( adr_chaine --> - ) 8 0 DO DUP DUP IF I + C@ DUP 0< 1 AND >R 127 AND TABLE_AFFICHEUR + C@ R> + THEN CW_AFFICHEUR I + CW! LOOP DROP ; ( FIN )