Kako prikazati alfanumeričke znakove na LED -u sa 7 segmenta?

Jul 29, 2025Ostavite poruku

Prikazivanje alfanumeričkih znakova na LED-u sa 7 segmenata temeljni je, ali fascinantan aspekt elektronike. Kao dobavljač vodio 7 segmenata, svjedočio sam iz prve ruke raznolike primjene i važnost razumijevanja kako učinkovito iskoristiti ove komponente. U ovom ću blogu zaviriti u sitnice prikazivanja alfanumeričkih znakova na 7-segmentnim LED-ovima, od osnova načina na koji rade do praktičnih strategija provedbe.

Razumijevanje osnova LED-a od 7 segmenata

LED 7 segmenta je uređaj za prikaz sastavljen od sedam pojedinačnih LED segmenata raspoređenih u određenom uzorku, obično u obliku znamenke 8. Ovi segmenti su označeni od A do G, a osvjetljavanjem različitih kombinacija njih mogu se formirati različiti brojevi i neka slova. Postoje dvije glavne vrste LED-a od 7 segmenata: uobičajena katoda i uobičajena anoda.

U uobičajenom katodnom 7-segmentu LED, svi katodi (negativni terminali) pojedinih segmenata povezani su zajedno i utemeljeni. Za osvjetljavanje određenog segmenta, na odgovarajuću anodu primjenjuje se visoka logička razina (obično 5V). Suprotno tome, u zajedničkoj anodi sa 7-segmentom, svi anodi (pozitivni terminali) spojeni su zajedno i isporučuju se s pozitivnim naponom. Za aktiviranje segmenta na njegovu katodu primjenjuje se niska razina logike (obično 0V).

Mapiranje alfanumeričkih znakova na uzorke 7 segmenata

Prvi korak u prikazivanju alfanumeričkih znakova na LED-u sa 7 segmenta je razumijevanje uzoraka segmenta potrebnih za svaki znak. Za brojeve 0 do 9, uzorci su relativno jednostavni. Na primjer, za prikaz broja 0, segmenti A, B, C, D, E i F su osvijetljeni, dok segment G ostaje isključen. Sljedeća tablica prikazuje uzorke segmenta za brojeve 0 do 9:

Broj Uzorak segmenta (AG)
0 11111110
1 0110000
2 1101101
3 1111001
4 0110011
5 1011011
6 1011111
7 1110000
8 11111111
9 1111011

Pored brojeva, 7-segmentni LED mogu prikazati i neka slova. Međutim, zbog ograničenog broja segmenata, ne mogu se točno zastupati sva slova. Najčešće prikazana slova uključuju A, B, C, D, E, F, H, L, P i U. Evo obrasca segmenta za ova slova:

Pismo Uzorak segmenta (AG)
A 1110111
B 0011111
C 1001110
D 0111101
I 1001111
F 1000111
H 0110111
L 0001110
P 1100111
U 0111110

Vožnja LED-ovima od 7 segmenata s mikrokontrolerima

Za prikaz alfanumeričkih znakova na LED-u sa 7 segmenta, mikrokontroler se obično koristi za kontrolu osvjetljenja segmenata. Mikrokontroleri kao što su Arduino, Raspberry PI i PIC popularni su izbora zbog lakoće upotrebe i dostupnosti programskih knjižnica.

41

Osnovni postupak vožnje 7-segmenta LED s mikrokontrolerom uključuje sljedeće korake:

  1. Konfiguracija pin: Povežite pojedinačne segmente 7-segmenta doveli su do odgovarajućih izlaznih igle mikrokontrolera. Ako se koriste uobičajeni katodni LED, segmenti su spojeni na izlazne igle mikrokontrolera putem otpornika koji ograničavaju struju. Ako se koriste uobičajeni anodni LED, segmenti su spojeni na izlazne igle mikrokontrolera putem tranzistora ili međuspremnika za pružanje dovoljno struje.
  2. Mapiranje znakova: Stvorite niz ili tablicu pretraživanja koja pohranjuje uzorke segmenta za svaki alfanumerički karakter. Ova se tablica može koristiti za brzo pronalazak odgovarajućeg uzorka na temelju znaka koji će se prikazati.
  3. Prikaz funkcija: Napišite funkciju koja uzima znak kao ulaz i postavlja izlazne igle mikrokontrolera na odgovarajući uzorak segmenta. Ova se funkcija može nazvati kad god treba prikazati novi lik.

Evo primjera Arduino koda koji pokazuje kako prikazati brojeve 0 do 9 na uobičajenom LED-u segmenta katode:

// Definirajte igle spojene na segmente const int segmentpins [] = {2, 3, 4, 5, 6, 7, 8}; // Segment patterns for numbers 0 to 9 const byte digitPatterns[] = { B1111110, // 0 B0110000, // 1 B1101101, // 2 B1111001, // 3 B0110011, // 4 B1011011, // 5 B1011111, // 6 B1110000, // 7 B1111111, // 8 B1111011 // 9 }; void setUp () {// Postavite segmentne igle kao izlaz za (int i = 0; i <7; i ++) {pinMode (segmentPins [i], izlaz); }} void loop () {// Prikažite brojeve 0 do 9 s kašnjenjem od 1 sekunde između svakog broja za (int i = 0; i <10; i ++) {displaydigit (i); kašnjenje (1000); }} void displaydigit (int digit) {// Nabavite uzorak segmenta za uzorak znamenki bajt = digitpatterns [znamenka]; // Postavite segmentne igle prema uzorku za (int i = 0; i <7; i ++) {digitalWrite (segmentPins [i], bitread (uzorak, i)); }}

Multipleksiranje više LED-a od 7 segmenata

U mnogim se aplikacijama više LED-a od 7 segmenata koriste za prikaz višeznamenkastih brojeva ili poruka. Međutim, vožnju svakog LED -a pojedinačno zahtijevaju veliki broj izlaznih igle na mikrokontroleru. Da bi se prevladalo ovo ograničenje, obično se koristi tehnika koja se naziva multipleksiranje.

Multipleksiranje uključuje brzo prebacivanje između pojedinih LED -ova, osvjetljavajući svaki u nizu u kratkom vremenskom razdoblju. Budući da ljudsko oko ima upornost vida, sve LED -ove percipira kao da su istovremeno upaljene. Postoje dvije glavne vrste multipleksiranja: multipleksiranje vremenske podjele (TDM) i multipleksiranje frekvencije (FDM). TDM je najčešće korištena metoda za vožnju LED-ovima od 7 segmenata.

Za implementaciju TDM multipleksiranja, svaki LED od 7 segmenta povezan je s istim skupom segmentnih pinova, a za kontrolu je aktivna zasebna PIN za omogućavanje. Mikrokontroler izmjenjuje između omogućavanja svakog LED -a i prikazivanja odgovarajuće znamenke na njemu. Slijedi primjer Arduino koda koji pokazuje kako multipleksirati tri uobičajene katode od 7 segmenta za prikaz troznamenkastih broja:

// Definirajte igle spojene na segmente const int segmentpins [] = {2, 3, 4, 5, 6, 7, 8}; // Definirajte igle povezane s omogućenim linijama LEDS const int EnAblepins [] = {9, 10, 11}; // Segment patterns for numbers 0 to 9 const byte digitPatterns[] = { B1111110, // 0 B0110000, // 1 B1101101, // 2 B1111001, // 3 B0110011, // 4 B1011011, // 5 B1011111, // 6 B1110000, // 7 B1111111, // 8 B1111011 // 9 }; // broj koji se prikazuje int broj = 123; void setUp () {// Postavite segmentne igle kao izlaz za (int i = 0; i <7; i ++) {pinMode (segmentPins [i], izlaz); } // Postavite igle za Omogući kao izlaz za (int i = 0; i <3; i ++) {pinMode (enablepins [i], izlaz); DigitalWrite (EnablePins [i], visok); // Onemogući sve LED -ove u početku}} void loop () {// Izdvojite pojedinačne znamenke od broja int digit1 = broj / 100; int digit2 = (broj / 10) % 10; int digit3 = broj % 10; // Multipleksiranje LED -ova za (int i = 0; i <3; i ++) {// Omogućite trenutni LED digitalWrite (EnablePins [i], nisko); // Prikažite odgovarajuću znamenku if (i == 0) {displaydigit (digit1); } else if (i == 1) {displaydigit (digit2); } else {displaydigit (digit3); } // kašnjenje za kratko razdoblje kako bi se omogućilo da LED osvjetljava kašnjenje (2); // Onemogući trenutni LED digitalWrite (EnablePins [i], visoki); }} void displaydigit (int digit) {// Nabavite uzorak segmenta za uzorak znamenki bajt = digitpatterns [znamenka]; // Postavite segmentne igle prema uzorku za (int i = 0; i <7; i ++) {digitalWrite (segmentPins [i], bitread (uzorak, i)); }}

Naši LED proizvodi od 7 segmenata

Kao dobavljač sa 7 segmenata, nudimo širok spektar visokokvalitetnih proizvoda od 7 segmenata kako bi zadovoljili raznolike potrebe naših kupaca. Naši proizvodi uključujuJednoznamenkasti 7 segment LED,,Troznamenkasti 7 segment LED, iČetveroznamenkasti 7 segment LED. Ove LED -ove dostupne su i u uobičajenim katodi i uobičajenim anodnim konfiguracijama, a dolaze u različitim veličinama i bojama kako bi odgovarale različitim aplikacijama.

Naše LED segmente izrađuju se pomoću napredne tehnologije i visokokvalitetnih materijala, osiguravajući izvrsne performanse i pouzdanost. Naširoko se koriste u aplikacijama kao što su digitalni satovi, kalkulatori, mjera i industrijski upravljački sustavi. Bez obzira jeste li hobist, inženjer ili proizvođač, za vas imamo pravo LED rješenje od 7 segmenata.

Kontaktirajte nas za nabavu

Ako ste zainteresirani za naše LED proizvode od 7 segmenata ili imate bilo kakvih pitanja o prikazivanju alfanumeričkih znakova na 7-segmentnim LED-ovima, slobodno nas kontaktirajte. Naš tim stručnjaka uvijek je spreman pomoći vam u vašim potrebama za nabavom i pružiti vam najbolja moguća rješenja. Radujemo se što ćemo raditi s vama i pomoći vam da postignete svoje ciljeve projekta.

Reference

  • Arduino Dokumentacija: https://www.arduino.cc/reference/en/
  • Vodiči za elektroniku: https://www.electronics-tutorials.ws/
  • SparkFun Saznajte: https://learn.sparkfun.com/tutorials/