El enfoque que generalmente tomo es crear un mapa de bits de los segmentos en la memoria y escribir lo que se mostrará en ese mapa de bits.
Si el microcontrolador que está utilizando tiene un controlador LCD, ese mapa de bits formará parte del periférico. Si está haciendo rodar el suyo, es probable que se acceda al mapa de bits mediante una rutina de servicio de interrupción periódica (ISR) para escribir periódicamente los datos en los pines (usted debe mantener el componente de CC del voltaje en la pantalla LCD). 'vidrio' a un nivel muy bajo o dañará la pantalla LCD por acción electroquímica (con frecuencia se establece un límite de 50 mV, pero lea la hoja de datos de la pantalla LCD). Su código de controlador LCD (o hardware del controlador LCD) controlará cada segmento. dependiendo de los bits en el mapa de bits, por lo tanto, si el bit es '1' para ese segmento en particular, verá la forma de onda especificada en la hoja de datos de su LCD.
Tenga en cuenta que ha elegido un LCD común de 1/3 de polarización 4 en lugar de una unidad estática (menos conexiones), por lo que las formas de onda se complican un poco y necesitará un divisor de resistencia si no tiene un controlador dedicado. Controlador LCD periférico. Aquí hay un nota de aplicación de Microchip, que se puede aplicar fácilmente a casi cualquier microcontrolador.
Tupregunta:
Loquenoobtengoescómogenerarelvalordesegmentoparaundígitoenparticular.
Normalmentehagoalgocomoesto(enC)
Esto se asigna a los segmentos de la pantalla directamente, segmento 'A' = LSB todo lo que se dice hasta el segmento 'G' = bit 6, (y el punto decimal es el MSB). Puede usar otro byte o dos para los anunciadores, como 'TIEMPO'.
Luego se puede escribir un dígito 'n' en el i'th dígito del búfer bitmapped por ...
Cuandoelbúferesagradableybonito,conlosdatosfinalesquequierequeveaelusuario,sepuedecopiarenelmapadebitsdelapantalla,porloqueesanálogoaunbúferdecuadrosenunapantallagráficademapadebits.
Esprobablequenodeseeescribirdatosintermediosensumapadebitsdevisualizaciónporquepodríahacerquelavisualizaciónaparezcaerráticaymenosatractiva.
Generarlosdígitoscorrectosencadaposiciónpara(digamos)unnúmerobinariodecomplementoa2endecimalconunpuntodecimalimplícitoyunasupresióndeceroinicialesunejerciciodeprogramacióninteresante,ylodejaréparausted.Notienenadaqueverconlaelectrónica,elcódigoseríaelmismoparaunapantallaLED.TienesquehaceralgocomoconvertirbinarioaBCDdesempaquetadoyformatearlo.ElcódigoanteriorconvertirácadadígitoBCDdesempaquetadoenunmapadebitsde7segmentos.
Lossegmentosendígitosdelaspantallasde7segmentosestánnumeradosdelasiguientemanera:
El bit 0 se asigna al segmento A, el bit 1 a B y así sucesivamente.