Next revision | Previous revision |
pt:examples:display:segment_display [2015/12/14 13:47] – Criação deste novo documento. artica | pt:examples:display:segment_display [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
---|
~~PB~~ | <pagebreak> |
====== Mostrador LED de 7 segmentos ====== | ====== Mostrador LED de 7 segmentos ====== |
| |
Um mostrador de números LED de 7 segmentos consiste em 7 LEDs posicionados em forma de número 8. Ao ligar ou desligar os LEDs correspondentes (segmentos), é possível exibir os números de 0 a nove, bem como algumas letras. | Um mostrador de números LED de 7 segmentos consiste em 7 LEDs posicionados em forma de número 8. Ao ligar ou desligar os LEDs correspondentes (segmentos), é possível exibir os números de 0 a nove, bem como algumas letras. |
| |
Electrically all anodes of the LEDs are connected to one anode pin //ca//. LEDs are lit by switching their cathodes (//a, b, c...//). Exists also reversed connections, where the indicators have a common cathode //cc//. Generally several number-indicators are used for displaying multi digit numbers - for this purpose the indicators are equipped with coma (point) segment //dp//. All in all one indicator has 8 segments, but they are still called 7-segmented according to the number of number-segments. | Electricamente todos os ânodos dos LEDs estão ligados a um pin ânodo //ca//. Os LEDs são iluminados ao mudar os seus catodos (//a, b, c...//). Existem também conexões invertidas, onde os indicadores têm um cátodo comum //cc//. Geralmente vários indicadores de números são usados para exibir números com vários dígitos - para este fim os indicadores estão equipados com segmento coma (ponto) //dp//. Apesar da sua designação, cada indicador tem 8 segmentos, devido ao númerod e segmentos necessários para representar cada dígito. |
| |
[{{ :examples:display:segment_display:segment_display_leds.png?300|Positioning of the LED indicator's segments and electrical scheme}}] | [{{ :examples:display:segment_display:segment_display_leds.png?300|Posicionamento dos segmentos do indicador LED e esquema eléctrico}}] |
[{{ :examples:display:segment_display:segment_display_driver_logic.png?300|The build-up of the LED driver's shift-index with corresponding segments of the indicator.}}] | [{{ :examples:display:segment_display:segment_display_driver_logic.png?300|O acumulador do índice de shift do driver de LED, com segmentos do indicador correspondente.}}] |
| |
LED number-indicators are easy to use, they can be controlled directly from the pins of the microcontroller, but there are also special drivers, which able to control number-indicators using fewer pins of the microcontroller. There are different colors of LED number indicators, which can be very bright and very large. For displaying the entire Latin alphabet exist indicators with extra segments. There are different drivers, but common drivers using a serial interface, which is similar to the SPI, where both clock signal and data signal are used. Different from SPI the chip-select is not used there, and is replaced with latch function. The above mentioned three lines are connected to the controller pins. | Os LEDS indicadores de números são fáceis de usar. Podem ser controlados diretamente a partir dos pins do microcontrolador, mas também há drivers especiais, que permitem controlar os indicadores utilizando menos pinos do microcontrolador. Existem diferentes cores de LEDs indicadores de número, que podem ser muito brilhantes e muito grandes. Para exibir todo o alfabeto latino existem indicadores com segmentos extras. Existem diferentes drivers que utilizam uma interface de série, semelhante ao SPI, onde tanto o sinal de relógio como o sinal de dados são utilizados. Ao contrário do SPI o chip-select não é usado aqui, e é substituído pela função latch. As acima mencionadas três linhas estão ligados aos pins do controlador. |
| |
* Latch-signal | * Sinal de Latch |
* Clock-signal | * Sinal de Relógio |
* Data-signal | * Sinal de dados |
| |
===== Practice ===== | ===== Prática ===== |
| |
There is one 7-segment LED number-indicator on the Digital i/o module. It is controlled through a driver with serial interface. | Existe umindicador de 7 segmentos no módulo de i/o digitais. Ele é controlado por meio de um condutor com interface serial. Para exibir os números no módulo indicador HomeLabs Digital i/o, a seguinte funcionalidade está escrita na biblioteca do HomeLab. |
For displaying the numbers on the HomeLabs Digital i/o module indicator, the following functionality is written to the library of the HomeLab. | |
| |
| |
</code> | </code> |
| |
For displaying numbers and the letter “E”, is created a "weak" constant array //segment_char_map//, where lighting of all 8 segments is marked with bit 1 and switch off is market with bit 0. The bits form lower to higher (from right to left in binary form) are marking segments A, B, C, D, E, F, G ja DP. The control interface of the driver is realized through software SPI, i.e. by using a software for controlling the data communication pins in the program. All three pins are set as output with // segment_display_init// function. // segment_display_write// is for displaying the function, which finds the segment-card of the mark from the array and transmits bit by bit all values of the segments to the driver. The frequency of the clock signal with the software delays is now approximately 500 kHz. When a user defines a variable segment_char_map its own code, it is possible to create other characters on the screen (eg, text, etc.) | Para exibir números e a letra "E", é criado um array constante "fraco" //segment_char_map//, onde a iluminação de todos os oito segmentos é marcada com bit 1 enquanto que são desligados com o bit 0. Os bits, do menos significativo ao mais significativo (da direita para a esquerda na forma binária) são segmentos de marcação A, B, C, D, E, F, G e DP. A interface de controlo do driver é realizada através do software SPI, ou seja, usando um software para controlar os pins de comunicação de dados no programa. Todos os três pins estão definidas como saída com a função //segment_display_init//. //segment_display_write// serve para exibir a função, a qual encontra o segment-card da marca a partir da matriz e transmite bit a bit todos os valores dos segmentos ao driver. A frequência do sinal de relógio com as esperas de software é agora de aproximadamente 500 kHz. Quando um utilizador define uma variável segment_char_map no seu código, é possível criar outros caracteres no ecrã (por exemplo, texto, etc.) |
| |
The following is a more concrete example of a program for using the number-indicator. Previously described function of the library is described in the program. The program counts numbers from 0 to 9 with approximate interval of 1 second and then displays letter E, because two-digit numbers is not possible to show on the one digit indicator. | O que se segue é um exemplo mais concreto de um programa para usar o indicador de números. A função previamente descrita da biblioteca é descrita no programa. O programa conta números de 0 a 9, com intervalo aproximado de um segundo e, de seguida, exibe a letra E, pois números de dois dígitos não são possíveis de mostrar no indicador de um dígito. |
| |
| |