Taula de continguts:
- Pas 1: coses necessàries
- Pas 2: lògica i visualització del codi
- Pas 3: conduir pantalla amb microcontrolador
- Pas 4: per què multiplexar?
- Pas 5: Com aconseguir-ho?
- Pas 6: Algorisme de multiplexació
Vídeo: Cronòmetre que utilitza Pic18f4520 a Proteus amb 7 segments: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Acabo de començar a treballar amb el controlador de fotos, un dels meus amics em va demanar que en construís un cronòmetre. Per tant, no tinc imatge de maquinari per compartir, he escrit codi i l'he simulat al programari Proteus.
aquí he compartit l'esquema del mateix.
es defineixen tres milisegons, segons i minuts variables
aquí hem utilitzat una interrupció del temporitzador de 10 ms, per cada 1000 mil·lisegons, la variable segons augmentarà, per cada 60 segons la variable augmentarà.
Pas 1: coses necessàries
1 controlador pic18f4520
2 pantalles de set segments
3 transistors bc547
4 commutadors per iniciar / aturar / reiniciar
5 resistències 330E, 10K, 1K
6 descarregueu mikroC per a la imatge
7 descarregar proteus
Pas 2: lògica i visualització del codi
Una pantalla de set segments (SSD) és una de les pantalles més habituals, econòmiques i senzilles d’utilitzar. Sembla a dalt.
aquí hem d’utilitzar un tipus de càtode comú de visualització de 7 segments: en el tipus SSD de càtode comú, el terminal –ve de tots els LED es connecta normalment al pin ‘COM’. Es pot il·luminar un segment quan s’assigna ‘1’ al segment LED respectiu i la terra es connecta al comú. Les dades internes es mostren a la figura 2.
Pas 3: conduir pantalla amb microcontrolador
Al meu circuit he utilitzat el transistor NPN BC547.
Per al simple ús d'un BJT com a commutador, les unions emissor-col·lector s'escurcen quan hi ha un senyal d'entrada al terminal base; en cas contrari, queda tallat. L'entrada s'ha de donar mitjançant una resistència adequada.
Pas 4: per què multiplexar?
Sovint hem d’utilitzar dos, tres o més discs SSD i això també només utilitzant una sola MCU, però un problema que tenim és la manca de pins d'E / S a la MCU, ja que un SSD prendria 8 pins i, per tant, tres SSD prendria 24 pins. A pic18, només tenim 48 pins d'E / S. Quina és la solució?
Una possibilitat és que fem servir una MCU més gran amb més pins d'E / S. Però llavors encara estem restringits a només un màxim de 3 discs SSD que es poden utilitzar. Una altra solució molt millor i recomanable a aquest problema és multiplexar les pantalles de set segments.
La Viquipèdia diu que A les xarxes de telecomunicacions i ordinadors, la multiplexació (també coneguda com a muxing) és un mètode mitjançant el qual es combinen múltiples senyals de missatges analògics o fluxos de dades digitals en un senyal en un mitjà compartit. L’objectiu és compartir un recurs car.’El que volem dir amb multiplexació de la pantalla de set segments és que utilitzarem només 7 ports de sortida per mostrar la visualització de tots els discs SSD.
Pas 5: Com aconseguir-ho?
Aquí, utilitzarem "Persistència de la visió". Ara heu de tenir aquest terme ja abans. Sí, aquesta és la mateixa tècnica que s’utilitza en cinematografia (mostrar imatges tan ràpidament que el nostre cervell no pot distingir cap desfasament entre dues imatges consecutives). De la mateixa manera, quan muxem més d'un SSD, només mostrem un SSD a la vegada i canviem entre ells tan ràpidament que el nostre cervell no pot distingir-los.
Suposem que cada pantalla està activa durant només 5 mil·lisegons a la vegada, és a dir, s’il·lumina 1 / 0,0045 vegades al segon, és a dir, aproximadament 222 vegades / segon. Els nostres ulls no poden percebre un canvi tan ràpid i, per tant, el que veiem és que totes les pantalles funcionen simultàniament. El que realment passa al maquinari és que la MCU dóna '1' al pin (recordeu, donant '1' a la base d'un BJT en curt la unió del col·lector i l'emissor?), Que està connectat a la base del transistor de les respectives pantalles, manté el port "ACTIVAT" durant 5 mil·lisegons i el torna a apagar. Aquest procediment es posa en un bucle sense fi, de manera que veiem la pantalla contínuament.
Pas 6: Algorisme de multiplexació
Definiu dos ports al codi, un per al port de dades del segment i el port de control del segment.
truc aquí és mostrar les dades en els 7 segments. i activeu l’únic pin de control on heu de mostrar aquestes dades. canvieu les dades i canvieu el pin de control.
aquí, en aquest instructiu, hem utilitzat la multiplexació de 6 dígits; només heu de revisar el fitxer c adjunt i l’obtindreu.
Recomanat:
Robot d'evitació d'obstacles que utilitza un sensor d'ultrasons (Proteus): 12 passos
Robot d'evitació d'obstacles que utilitza un sensor d'ultrasons (Proteus): generalment ens trobem amb qualsevol robot d'evitació d'obstacles. La simulació de maquinari d’aquest robot forma part de la competència en molts col·legis i en molts esdeveniments. Però la simulació de programari del robot d'obstacles és poc freqüent. Tot i que si el podem trobar en algun lloc
Prototip de projecte de semàfor basat en Atmega16 que utilitza una pantalla de 7 segments (simulació Proteus): 5 passos
Prototip de projecte de semàfor basat en Atmega16 que utilitza la visualització de 7 segments (simulació Proteus): en aquest projecte farem un projecte de semàfors basat en Atmega16. Aquí hem pres un segment de 7 i 3 LED per indicar els senyals del semàfor
Com fer un cronòmetre amb Arduino: 8 passos (amb imatges)
Com fer un cronòmetre amb Arduino: es tracta d’un cronòmetre de pantalla LCD Arduino de 16 * 2 molt senzill ……….. Si us agrada aquest instructiu, subscriviu-vos al meu canal https://www.youtube.com / ZenoModiff
Cronòmetre de visualització de 4 dígits de 7 segments: 3 passos
Cronòmetre de visualització de 4 dígits de 7 segments: aquest instructiu us mostrarà com crear un cronòmetre en temps real totalment funcional a partir d’una pantalla de 4 segments de 4 dígits
Comandament a distància sense fils que utilitza el mòdul NRF24L01 de 2,4 Ghz amb Arduino - Nrf24l01 Receptor transmissor de 4 canals / 6 canals per quadcòpter - Helicòpter Rc - Avió Rc amb Arduino: 5 passos (amb imatges)
Comandament sense fils que utilitza un mòdul NRF24L01 de 2,4 Ghz amb Arduino | Nrf24l01 Receptor transmissor de 4 canals / 6 canals per quadcòpter | Helicòpter Rc | Avió Rc amb Arduino: per fer funcionar un cotxe Rc | Quadcopter | Drone | Avió RC | Vaixell RC, sempre necessitem un receptor i un transmissor, suposem que per RC QUADCOPTER necessitem un transmissor i un receptor de 6 canals i aquest tipus de TX i RX és massa costós, així que en farem un al nostre