AVR Assembler Övningsexempel 9 (3 / 7 steg)
Steg 3: Ledningar 4-siffrig display
Enligt databladet 4-siffrig display har en framåt nuvarande 60 mA och en framåt spänning på 2,2 volt. Så, av samma beräkning som innan, jag kunde använda en 47 ohms motstånd om jag ville. Istället kommer jag att använda en... hrm... Låt mig se... Vad sägs om 330 ohm.
Det sätt som den 4-siffriga displayen är wired är att det finns 4 anoder, en för varje av siffrorna, och de andra stiften kontroll som segmentet kommer i varje. Du kan visa 4 siffror samtidigt eftersom de är multiplexerade. Med andra ord, precis som vi gjorde för par av dice, vi helt enkelt cykla strömmen genom anoderna i sin tur och det blinkar dem på en efter en. Det kommer att göra detta så snabbt att våra ögon inte ser blinkandet och det ser ut som fyra siffror på. Dock bara för att vara säker på att det sätt vi kommer koden är att ställa in alla fyra siffror, sedan cykla anoder, snarare än set, flytta, ställa in, flytta, osv. På så sätt kan vi få en exakt timing mellan belysning upp varje siffra.
För nu, låt oss testa att segmenten alla fungerar.
Placera din 330 ohm motstånd mellan den positiva järnvägstransporter av din skärbräda och första anoden på displayen. Databladet berättar att stiften är numrerade från 1 till 16 moturs börjar på nederst vänstra (när du tittar på displayen normalt.. med decimalpunkter längs botten) och det anges att anoderna är pin nummer 6, 8, 9 och 12.
Så vi ansluta stift 6 till 5V och sedan ta en negativ bly från din GND järnväg och peta in den till alla andra stiften och se att alla segment tänds på siffran det motsvarar (vilket är faktiskt den andra siffran från höger). Se till att du får alla 7 segment och decimalkommat att lysa upp.
Nu stick din GND tråd till ett av stiften att lysa upp ett av segment och denna tid flytta motståndet till de andra 3 anoderna och se att i samma segment som lyser i alla de andra siffrorna.
Något ovanligt?
Det visar sig att ordningen på pinout i databladet är fel. Detta är eftersom det är datablad och pinout för en 12-polig, 4-siffrig display. Dvs. en med nr kolon eller övre decimalkommat. Som jag fick när jag beställde det är en 16 stift, 4-siffriga displayen visas. I själva verket på min är det segment anoderna på stift 1, 2, 6 och 8. Kolon anoden är stift 4 (katod pin 12) och övre dp anoden är stift 10 (katod är stift 9)
Övning 1: använda din motstånd och marken tråd för att kartlägga vilka stift motsvarar vilka segment och decimalkommat på displayen så att vi får rätt segment tänds när vi koden.
Så som vi vill att kod segmentet karta är precis som vi gjorde med ensiffriga 7-segment skärmen ovanför - vi inte behöver ändra en sak i koden, är det enda vi ändra hur kablarna är anslutna i styrelsen. Anslut bara rätt port pin på mikrokontroller till motsvarande stift på 4-siffrig display så att till exempel PB0 fortfarande går till stiftet motsvarande segment, PB1 går till segmentet B, etc.
Den enda skillnaden är att nu behöver vi 4 extra stift för anoderna eftersom vi inte kan helt enkelt gå till 5V järnväg längre. Vi behöver mikrokontroller avgöra vilken siffra som får saften.
Så vi ska använda PC1, PC2, PC3 och PD4 för att styra anoder av de 4 siffrorna.
Du kan också gå vidare och koppla in kablarna. (Glöm inte 330 ohm motstånd på anoden trådarna!)