Seitsemän segmenttinäyttöä ovat tärkeitä elektroniikan näyttöyksikköjä, ja niitä käytetään laajalti numeroiden näyttämiseen välillä 0–9. Se voi myös näyttää joitain merkin aakkosia, kuten A, B, C, H, F, E jne. Tässä opetusohjelmassa opimme 7-segmenttisen näytön liittäminen 8051-mikrokontrolleriin. Käytämme AT89S52-mikrokontrolleria 8051-sarjasta.
Ennen liittymistä meidän tulisi oppia 7 segmentin näytöstä. Se on yksinkertaisin yksikkö näyttää numeroita ja merkkejä. Se vain koostuu 8 LED, jokainen LED, jota käytetään valaisemaan yhden segmentin yksikön ja 8 : nnen LED, jota käytetään valaisemaan DOT 7 segmentin näyttö. Voimme kutsua kutakin segmenttiä viivaksi, koska voimme nähdä, että yksikössä on 7 riviä, joita käytetään luvun / merkin näyttämiseen. Voimme viitata jokaiseen riviin / segmenttiin "a, b, c, d, e, f, g" ja pistemerkkiin käytämme "h". On olemassa 10 nastaa, joissa 8 nastaa käytetään viittaamaan a, b, c, d, e, f, g ja h / dp, kaksi keskimmäistä nastaa ovat yhteisiä anodeja / katodeja kaikista LEDeistä. Nämä yleiset anodi / katodi ovat sisäisesti oikosulussa, joten meidän on liitettävä vain yksi COM-nasta.
7 segmenttinäyttöä on kahta tyyppiä: yhteinen anodi ja yhteinen katodi:
Yhteinen anodi: Tässä kaikkien 8 LEDin kaikki negatiiviset liittimet (katodi) on kytketty yhteen (katso alla oleva kaavio), nimeltään COM. Ja kaikki positiiviset päätteet jätetään yksin.
Yhteinen katodi: Tässä kaikkien 8 LEDin kaikki positiiviset liittimet (anodit) on kytketty yhteen, nimeltään COM. Ja kaikki negatiiviset termiset jätetään yksin.
Kytkentäkaavio ja työtarkastus
Tässä käytetään yleistä 7-segmenttistä anodityyppiä, koska meidän on kytkettävä LED-valot päinvastaisessa järjestyksessä. Koska tiedämme, että mikro-ohjain ei tarjoa tarpeeksi virtaa LEDin hehkutukseen, joten meidän on kytkettävä LED: n katodi mikro-ohjaimen tapiin ja LED: n anodi virtalähteeseen. Voit ymmärtää tämän negatiivisen logiikan käsitteen tässä artikkelissa ”LED-liitäntä 8051-mikrokontrolleriin”. Sinun tulisi myös lukea tämä artikkeli ymmärtääksesi mikrokontrollerin perusliitännän, kuten kristalli- ja palautuspiirit.
Kuten edellä on esitetty piirikaavio 7-segmenttinäytön liittämiseksi 8051-mikrokontrolleriin, olemme liittäneet a, b, c, d, e, f, g, h nastoihin 2.0 - 2.7 tarkoittaa, että yhdistämme 7 segmenttiä mikrokontrollerin porttiin 2. Oletetaan nyt, että haluamme näyttää 0, sitten meidän on hehkuttava kaikki LEDit paitsi linjalle “g” kuuluva LED (katso yllä oleva kaavio), joten nastojen 2.0 - 2.6 tulisi olla 0 (pitäisi olla 0, jotta LED KÄYTÖSSÄ ON negatiivisen logiikan mukaan) ja nastojen 2.7 ja 2.8 tulisi olla 1 (pitäisi olla 1, jotta LED sammuu negatiivisen logiikan mukaisesti). Joten nastoihin 2.0 - 2.6 (a, b, c, d, e, f) kytketyt LEDit palavat ja 2.7 ja 2.8 (g ja h) liitetyt LEDit sammuvat, mikä luo "0" 7: ssä segmentti. Tarvitsemme siis bittikuvion 11000000 (nasta 8 on korkein bitti, joten aloitetaan välillä P2.7 - P2.0), ja binäärisen 11000000: n HEX-koodi on "C0". Vastaavasti voimme laskea kaikille numeroille. Tässä on huomattava, että pidämme "piste / h" aina POIS PÄÄLTÄ,joten meidän on annettava sille LOGIC “1” joka kerta. Alla on annettu taulukko kaikista numeroista käytettäessä Common Anode 7 -segmenttiä.
Numero näytettäväksi |
hgfedcba |
Hex-koodi |
0 |
11000000 |
C0 |
1 |
11111001 |
F9 |
2 |
10100100 |
A4 |
3 |
10110000 |
B0 |
4 |
10011001 |
99 |
5 |
10010010 |
92 |
6 |
10000010 |
82 |
7 |
11111000 |
F8 |
8 |
10000000 |
80 |
9 |
10010000 |
90 |
Koodin selitys
Olemme luoneet ms_delay-toiminnon viiveen tuottamiseksi millisekunteina, tämä viive tarjotaan yleensä missä tahansa mikro-ohjainohjelmassa, jotta mikro-ohjain voi suorittaa sisäisen toimintansa loppuun.
Sitten olemme luoneet joukon heksakoodeja 0-9: lle (katso yllä oleva taulukko) ja lopuksi olemme lähettäneet heksakoodit porttiin 2, joka on kytketty yhteiseen anodin 7 segmenttiin. Joten tällä tavalla numerot näkyvät 7 segmentin näytössä.
Nyt meillä on vain 4 porttia mikrokontrollerissa ja entä jos haluamme näyttää tiedot yli neljässä 7 segmentissä? Tämän ongelman ratkaisemiseksi kuvaan tulee multipleksointitekniikka. Meidän on kerrottava useita 7 segmenttiyksikköä. Lue myös 7-segmenttinen näyttö ja AVR-mikrokontrolleri.