Both sides previous revisionPrevious revisionNext revision | Previous revision |
fr:examples:display:segment_display [2010/03/10 14:43] – sdeniaud | fr:examples:display:segment_display [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
---|
===== Pratique ===== | ===== Pratique ===== |
| |
Il y a un afficheur 7 segments disponible sur la carte du module numérique. Il est contrôlé par l'intermédiaire de l'interface en série A6275. L'interface en série est similaire à SPI, où on utilise les signaux de l'horloge et les signaux de donnée. Contrairement à SPI la fonction //chip-select// n'est pas utilisée ici, nous la remplacerons par la fonction //latch//. Les trois voies mentionnées ci-dessus sont connectées à ATmega128 comme suit: | Il y a un afficheur 7 segments disponible sur la carte du module numérique. Il est contrôlé par l'intermédiaire de l'interface en série A6275. L'interface en série est similaire à SPI, où on utilise les signaux de l'horloge et les signaux de donnée. Contrairement à SPI la fonction ''chip-select'' n'est pas utilisée ici, nous la remplacerons par la fonction ''latch''. Les trois voies mentionnées ci-dessus sont connectées à ATmega128 comme suit: |
| |
[{{ :examples:display:segment_display:segment_display_driver_logic.png?300|La construction de l'index du driver de LED avec le segment de l'afficheur correspondant.}}] | [{{ :examples:display:segment_display:segment_display_driver_logic.png?300|La construction de l'index du driver de LED avec le segment de l'afficheur correspondant.}}] |
~~CL~~ | ~~CL~~ |
| |
The data is delivered by bits through the data pin. Every time the clock signal goes high, the contents of the shift-index is shifted to the right and the bit from the data-pin is read to the left most cell. By this 8-bits are loaded to the shift-index. If the latch signal is set high, the value of the shift-index is loaded to the latch-index, where it remains until new loading. Each bit of the latch-index is connected through the current switching to one number-indicator’s segment. The segment is lit during the high bit-rate. | Les données sont transmises en bits en passant par la broche de données. A chaque passage du signal de l'horloge en position haute, le contenu de l'index shift est modifié vers la droite et le bit provenant de la broche de données est lu vers la cellule la plus à gauche. Avec ce 8 bits est transféré vers l'index shift. Si le signal //latch// est configuré en position haute, la valeur de l'index shift est transférée vers l'index latch, où il y rest jusqu'à un nouveau chargement. Chaque bits de l'index latch est connecté à l'interrupteur de courant de l'un des segments de l'afficheur. Le segment correspond est allumé en position haute du bit-rate. |
| |
For displaying the numbers on the Home Labs digital modules´ indicator, the following functionality is writen to the library of the Home Lab. | |
| |
| Pour afficher des nombres sur l'afficheur du HomeLab, la fonctions suivante se trouve dans la librairie du HomeLab. |
| |
<code c> | <code c> |
</code> | </code> |
| |
For displaying numbers and the letter “E”, is created a 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 higher to lower (from left to right in binary form) are marking segments DP, G, F, E, D, C, B, A. 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. | Dans le but d'afficher les chiffres ainsi que la lettre "E", nous utiliserons une liste constante ''segment_char_map'', qui permet d'allumer tous les segments marqués d'un 1 et inversement d'éteindre ceux marqués par un 0. Les bits du plus grand au plus petit (de gauche à droite de la forme binaire) sont dénomé par les segments DP, G, F, E, D, C, B, A. L'interface de contrôle du driver est réalisée a l'aide du logiciel SPI, i.e. en utilisant un logiciel permettant de contrôler les broches de communication dans le programme. Les trois broches sont configurées en sorties avec la fonction ''segment_display_init''. Puis la fonction ''segment_display_write''permet l'affichage, qui trouve la carte des segments à partir de la liste et transmet bit à bit toutes les valeurs des segments. Le fréquence de l'horloge avec les temporisation est d'environ 500 kHz. |
| |
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. Such counting is achieved by taking a module from a much larger number. | |
| |
| Le programme suivant est un exemple plus concret d'une utilisation de l'afficheur. Les fonctions utilisées correspondent à celles évoquées ci-dessus. Le programme permet de compter de 0 à 9 avec un intervalle d'environ 1 seconde. Un tel comptage peut être réalisé en prenant en module depuis un nombre plus grand. |
| |
<code c> | <code c> |