De TIL311 datasheet.| Korte beschrijving: Op deze pagina vind je een aantal voorbeelden omtrent het aansturen van een TIL311 hexadecimaal dot-LED-display. De TIL311 werd in 1972 ontwikkeld door Texas Instruments, het is een display met geintegreerde TTL logika, heeft een 4-bit databus, dus met weinig verbindingen in staat om elk hexadecimaal getal (0 - F) weer te geven, wat betekent, ook alle decimale getallen (0 - 9) Door een microcontroller erop aan te sluiten kun je bijv. verschillende grootheden weergeven of andere mogelijkheden, zoals temperatuur (bijv. 2 display's), een rondeteller, een elektronische dobbelsteen, enz. Hier een eenvoudig schema van een TIL311 aangesloten op een AVR microcontroller. |

|
PIN 1 LED VOEDING PIN 2 DATA INGANG B PIN 3 DATA INGANG A PIN 4 LINKER DECIMALE PUNT KATHODE PIN 5 HOUD INGANG PIN 6 GEEN FUNKTIE PIN 7 GEMEENSCHAPPELIJKE MASSA PIN 8 DOOF INGANG PIN 9 GEEN FUNKTIE PIN 10 RECHTER DECIMALE PUNT KATHODE PIN 11 GEEN FUNKTIE PIN 12 DATA INGANG D PIN 13 DATA INGANG C PIN 14 LOGIKA VOEDING, Vcc |
| Hoe programmeer je de AVR: Om de TIL311 te laten werken moet je een 4-bit getal aanbieden (16 waarden -> 6=hex, 10=deci) op de data ingangen. In dit voorbeeld gebruik ik de eerste nibble (een nibble is halve byte, 1 byte zijn 8-bit's) van PORTB van een AT90S1200. Wil je bijvoorbeeld het getal 8 afbeelden, dan moet je een bit hoog maken op de D ingang van de TIL311, D heeft de binare waarde 8 (D=8, 1000 binair): ldi display, 0x08 out PORTB, display Met maar een paar regels assembleertaal kun je de TIL311 tot leven wekken. Het volgende voorbeeld is een decimale opteller met twee TIL311's. |


| Vervolg... Het verloop van het tellen gaat als volgt: 00 -> 01 -> 02, enz. wanneer je de 10 bereikt moet de eerste nibble op 0 springen, daarna zal ie zo verder tellen: 11 -> 12 -> 13, enz. Start eerst het tellen: inc display Op dit moment staat de teller op 01. Is de waarde 10? Zo ja verhoog dan de 2de nibble, zo niet blijf de eerste nibble doortellen, zoals dit: cpi display, 0x0A brne showCount De 2de nibble is precies andersom: cpi display, 0xA0 brne showCount Wanneer je de 99 bereikt kun je EE laten afbeelden (error of overflow) simpelweg zo: ldi display, 0xEE. Vergeet er niet vertraging in te zetten anders zie je het tellen niet verlopen: out PORTB, display ldi temp, 2 rcall longDelay rjmp upCount |
| Tweecijferige opteller: In dit voorbeeld heb ik twee TIL311's aan een Atmel AT90S1200 aangesloten, en er een opteller (00 - 99) van gemaakt. De TIL311 is oude (1972) technologie, en heeft zodoende veel stroom nodig, 1 puntje = 20mA, dus bij het nummer 88 is de stroom op z'n maximum, en is 28x 20mA = 560mA, hierdoor zullen de display's behoorlijk warm worden. Ik heb hier PORTB gebruikt, dit maakt de software vrij simpel. Gebruik de 'doof' ingang tussen het aanbieden van de data, dit maakt het telverloop wat strakker. Het volgende voorbeeldje laat zien hoe je een opteller kan maken met AVR assembleertaal. |