Brak produktów
Poniższy przykład to chyba najprostszy z możliwych sterowników pojedynczego wyświetlacza 7-segmentowego. Działa z wyświetlaczem ze wspólną anodą, czyli elektrodę wspólną podłączamy do plusa zasilania, a segmenty zapalane są zerami. Przeróbka na wyświetlacz ze wspólną katodą jest bardzo prosta - wystarczy w case zmienić zera na jedynki i jedynki na zera.
Interfejs jest również trywialny. Mamy tu jedno wejście w postaci magistrali 4-bitowej, gdzie najmłodszy bit ma wartość 1 (oznaczenie A w klasycznych sterownikach, jak 7447, 4511), a najstarszy ma wartość 8 (oznaczenie D w 7447, 4511). Wyjściami są oczywiście linie sterujące segmentami wyświetlacza: sa, sb... W przeciwieństwie do sterowników klasycznych, możliwe jest tutaj wyświetlanie liter A, b, C, d, E, F. Kropka nie jest w tym przypadku obsługiwana. Cały ten sterownik jest układem kombinacyjnym, który nie posiada żadnej pamięci, ani nie wymaga sygnału zegarowego.
// Sterownik wyświetlacza 7-segmentowego LED // wspólna anoda, zapalanie segmentu zerem module decoder_7seg( input [3:0] digit, output reg sa, sb, sc, sd, se, sf, sg ); always @(digit) case(digit) // abcdefg 4'b0000: {sa,sb,sc,sd,se,sf,sg} <= 7'b0000001; // 0 4'b0001: {sa,sb,sc,sd,se,sf,sg} <= 7'b1001111; // 1 4'b0010: {sa,sb,sc,sd,se,sf,sg} <= 7'b0010010; // 2 4'b0011: {sa,sb,sc,sd,se,sf,sg} <= 7'b0000110; // 3 4'b0100: {sa,sb,sc,sd,se,sf,sg} <= 7'b1001100; // 4 4'b0101: {sa,sb,sc,sd,se,sf,sg} <= 7'b0100100; // 5 4'b0110: {sa,sb,sc,sd,se,sf,sg} <= 7'b0100000; // 6 4'b0111: {sa,sb,sc,sd,se,sf,sg} <= 7'b0001111; // 7 4'b1000: {sa,sb,sc,sd,se,sf,sg} <= 7'b0000000; // 8 4'b1001: {sa,sb,sc,sd,se,sf,sg} <= 7'b0000100; // 9 4'b1010: {sa,sb,sc,sd,se,sf,sg} <= 7'b0001000; // a 4'b1011: {sa,sb,sc,sd,se,sf,sg} <= 7'b1100000; // b 4'b1100: {sa,sb,sc,sd,se,sf,sg} <= 7'b0110001; // c 4'b1101: {sa,sb,sc,sd,se,sf,sg} <= 7'b1000010; // d 4'b1110: {sa,sb,sc,sd,se,sf,sg} <= 7'b0110000; // e 4'b1111: {sa,sb,sc,sd,se,sf,sg} <= 7'b0111000; // f default: {sa,sb,sc,sd,se,sf,sg} <= 7'b1111111; // - endcase endmodule
Budowa wyświetlacza LED 7-segmentowego:
...a tutaj zdjęcie mojego mega low-costowego "zestawu badawczo-rozwojowego" :) Kolejny raz przydały się płytki testowe do mikrokontrolerów