Inhoudsopgave:

Interfacing met 7-segmentendisplay met Shift Register met behulp van CloudX Microcontroller - Ajarnpa
Interfacing met 7-segmentendisplay met Shift Register met behulp van CloudX Microcontroller - Ajarnpa

Video: Interfacing met 7-segmentendisplay met Shift Register met behulp van CloudX Microcontroller - Ajarnpa

Video: Interfacing met 7-segmentendisplay met Shift Register met behulp van CloudX Microcontroller - Ajarnpa
Video: Introduction to HT16K33 4 Digit LED Seven Segment Display with Arduino 2024, Juli-
Anonim
Interfacing 7-segment display met Shift Register met behulp van CloudX Microcontroller
Interfacing 7-segment display met Shift Register met behulp van CloudX Microcontroller

In dit project publiceren we een tutorial over hoe je een zevensegments LED-display kunt koppelen aan een CloudX-microcontroller. Displays met zeven segmenten worden gebruikt in veel embedded systemen en industriële toepassingen waar het bereik van de te tonen outputs van tevoren bekend is. Basisweergave met 1 cijfer en zeven segmenten kan cijfers van 0-9 en een paar tekens weergeven. 7 segment displays zijn van verschillende typen; ze verschillen vooral in het aantal cijfers/tekens dat het kan weergeven. In principe is een 7-segments display een enkele eenheid, die slechts 1 cijfer of 1 teken kan weergeven. Meer cijfers worden weergegeven door enkele 7-segmentsdisplays met één eenheid te multiplexen om een 2-cijferig display, een 3-cijferig display of een 4-cijferig 7-segmentdisplay te vormen. Het stille, eenvoudig te koppelen CloudX- en 7 Segment-display samen! Laten we beginnen met de tutorial.

Stap 1: HC595 schakelregister

HC595 schakelregister
HC595 schakelregister

74HC595

De 74HC595 bestaat uit een 8-bits schuifregister en een opslagregister met parallelle uitgangen met drie standen. Het zet seriële invoer om in parallelle uitvoer, zodat u IO-poorten van een MCU kunt opslaan. De 74HC595 wordt veel gebruikt om multipath-LED's aan te duiden en multi-bit segmentdisplays aan te sturen. "Drie-toestanden" verwijst naar het feit dat u de uitgangspinnen kunt instellen als hoog, laag of "hoge impedantie". Met data-latching wordt de instant output niet beïnvloed tijdens het schakelen; met gegevensuitvoer kunt u 74HC595's gemakkelijker cascaderen. Pinnen van 74HC595 en hun functies: Q0-Q7: 8-bits parallelle data-uitgangspinnen, in staat om 8 LED's of 8 pinnen van 7-segments display direct aan te sturen. Q7': serie-uitgangspen, aangesloten op DS van een andere 74HC595 om meerdere 74HC595's in serie aan te sluiten MR: resetpen, actief op laag niveau; hier is hij direct aangesloten op 5V. SH: Tijdreeksinvoer van schuifregister. Op de stijgende flank bewegen de gegevens in het schuifregister achtereenvolgens één bit, d.w.z. de gegevens in Q1 gaan naar Q2, enzovoort. Op de dalende flank blijven de gegevens in het schuifregister ongewijzigd. ST: Tijdreeksinvoer van opslagregister. Op de stijgende flank gaan gegevens in het schuifregister naar het geheugenregister. OE: Uitgangspin, actief op laag niveau, aangesloten op GND. Ds: Seriële data-invoerpin VCC: Positieve voedingsspanning GND: Ground Hier wordt de functie shiftout() gebruikt, die bij de CloudX IDE wordt geleverd. Voer eenvoudig een getal tussen 0 en 255 in en het opslagregister kan het omzetten in een 8-bits binair getal en het parallel uitvoeren. Hierdoor bedien je eenvoudig de 8 pinnen van het 7-segment display en creëer je alle patronen die je wilt.

Stap 2: 7 SEGMENT

7 SEGMENT
7 SEGMENT
7 SEGMENT
7 SEGMENT

Laten we beginnen met de zelfstudie. We gaan CloudX M633 gebruiken en een standaard zevensegmentendisplay met decimale punt. U kunt de segmenten van het display identificeren met behulp van bovenstaande afbeelding.

Dit display met zeven segmenten heeft in totaal 8 LED's per cijfer, zoals weergegeven in de bovenstaande afbeelding, zeven LED's voor elk segment en één voor de komma.

Zoals je kunt zien zijn er in totaal 10 pinnen. Mogelijk ziet u twee pinnen met de naam com, zoals weergegeven in het schakelschema, alle kathode (- pinnen) van de LED's zijn verbonden met deze twee pinnen. We noemen deze 2 pinnen als gewone kathodes en dergelijke displays worden Common Cathode 7-segmentdisplays genoemd. Er zijn zo'n zeven segment displays die gemeenschappelijke anodes hebben in plaats van gemeenschappelijke kathode. Het enige verschil voor gewone anodedisplays is dat alle anodes (+ pinnen) met elkaar zijn verbonden en dat ze bekend staan als Common Anode 7-segmentdisplays. Naast deze 2 com-pinnen zijn er nog 8 andere pinnen genaamd A, B, C, D, E, F, G en DP. Zoals u in de afbeelding kunt zien, zijn deze pinnen anodes (+ pinnen) van de led-segmenten van een gemeenschappelijke kathodeweergave (in het geval van een gemeenschappelijke anodeweergave zijn deze pinnen kathodes)

Stap 3: Component nodig

Onderdeel nodig
Onderdeel nodig
Onderdeel nodig
Onderdeel nodig
Onderdeel nodig
Onderdeel nodig
Onderdeel nodig
Onderdeel nodig
  • CloudX M633
  • CloudX SoftCard
  • V3-USB-kabel
  • HC595 Schakelregister
  • jumperdraden
  • Breadboard
  • 7 Segmentweergave
  • 330 ohm weerstand

Stap 4: SETUP

OPSTELLING
OPSTELLING

Sluit het 7-segments display en 74HC595 schuifregister aan op CloudX M633:

Sluit de Vcc-pin op 74HC595 aan op de 5V-pin op CloudX.

Verbind GND- en OE-pinnen op 74HC595 met GND-pin op CloudX.

Sluit de DS- of SER-pin op 74HC595 aan op digitale pin 2 op CloudX.

Sluit de SHCP- of SRCLK-pin op 74HC595 aan op digitale pin 1 op CloudX.

Verbind STCP- of RCLK-pin op 74HC595 met digitale pin 3 op CloudX.

Verbind Q0-Q6 of QA-QG pin op 74HC595 met pin A-G op 7-segment display.

Verbind Q7- of QH-pin op 74HC595 met pin DP op 7-segments display.

Sluit de gemeenschappelijke kathodepinnen (pin 3 en 8 in het diagram) op het 7-segmentsdisplay aan op de Gnd-pin op CloudX.

Stap 5: Coderen

#erbij betrekken

#erbij betrekken

ChangeValue (niet-ondertekende tekenwaarde){

switch (waarde) {geval 0: retourneer 0x3f; geval 1: retour 0x06; geval 2: retourneer 0x5b; geval 3: retour 0x4f; geval 4: retour 0x66; geval 5: retour 0x6d; geval 6: retourneer 0x7d; geval 7: retour 0x07; geval 8: retourneer 0x7f; geval 9: retour 0x6f; } }

opstelling(){

HC595_setting(2, 1, 3);

lus(){

for(char i=0; i

Aanbevolen: