Arquivar para Agosto 2016

Rotina eficiente para display de 7 segmentos ( mapeado em pinos do uC )

Autor: andre_luis • Categoria: Microchip PIC • Postado em 04 Ago 2016 10:00 • Visualizado: 1901x • 0 comentários

De um modo geral, sempre tentamos mapear os pinos de um display de 7 segmentos em uma porta do microcontrolador bit-a-bit na mesma sequencia do LSB ao MSB, de modo a espelhar o conteúdo do registrador/variável do programa sem necessidade de processamento adicional da CPU. Porém, há casos de projetos onde os pinos disponiveis estão dispersos em diferentes portas, e isso complica a programação.

Por exemplo, no caso do programa abaixo, onde os pinos foram mapeados da seguinte forma:

Code: Selecionar todos
#define DISP7_A       PIN_A7
#define DISP7_B       PIN_A6
#define DISP7_C       PIN_A5
#define DISP7_D       PIN_A4
#define DISP7_E       PIN_B3
#define DISP7_F       PIN_B4
#define DISP7_G       PIN_C6

O primeiro impulso foi implementar algo do tipo:

cpp code
void Display7seg ( char number )
{
switch(number)
{
case 0 : // escreve caracter "0" do display de 7 segmentos
output_HIGH(DISP7_A);...

Ler mais »

cron

x