Hallo vrienden, dit is mijn derdejaars BE-project \'snelheidsregeling voor DC-motoren\' en ik wil het graag met jullie delen.
Hier leert u hoe u het LCD-scherm, het hex-toetsenbord en de motor aansluit.
De code is in assembler geschreven om het te vereenvoudigen. Ik heb eerst de LCD-interface, hexadecimale toetsenbordinterface en de motorinterface met L293D uitgelegd. laten we beginnen! ! !
* Lumia 52 * LCD * hex toetsenbord * DC-motor Ik denk dat je basiskennis hebt van 8051-programmering in de 293d
Bridge-motordriver, dus met een IC kunnen we twee DC-motoren aansluiten die met de klok mee en tegen de klok in kunnen worden aangestuurd, en we kunnen de snelheid van elke DC-motor regelen door PWM-inschakelpinnen te geven.
De L293D heeft een uitgangsstroom van 600 mA en een piekuitgangsstroom van 1,2A per kanaal.
Bovendien is er ook een geïntegreerde schakeling aanwezig om de schakeling te beschermen tegen de invloed van de tegenpotentiaaluitgangsdiode.
Uitgangsvoeding (VCC2)
Er is een breed bereik van
4,5 V tot 36 V, waardoor de L293D de beste keuze is voor DC-motoraandrijvingen.
Zoals u in het circuit kunt zien, zijn er drie pinnen nodig om de DC-motor aan te sluiten (A, B, Enable).
Als u de snelheid wilt regelen, wordt de enable-pin verbonden met de PWM-pin van de microcontroller.
Ik heb slechts één motor aangesloten en de enable-pin gebruikt om de snelheid van de DC-motor te regelen.
Ik ga me niet verdiepen in het LCD-scherm omdat het een te groot onderwerp is en ik heb een aantal sites genoemd die veel gebruik maken van een volledig LCD-scherm, inclusief 16-pins Vss-GND Vdd-
Positieve spanning v-
Contrastinstelling datapin LED naar backlight-pin LED en LED-
Er zijn 3 bedieningslijnen vereist voor LCD (RS, R/W & EN) en 8 (of 4) datalijnen. WanneerRSislow (0)
, worden gegevens behandeld als een opdracht.
Wanneer RS hoog is (1)
, worden de verzonden gegevens beschouwd als tekstgegevens die op het scherm moeten worden weergegeven. WhenR/Wis low (0)
, De informatie op de databus wordt naar het LCD-scherm geschreven.
Wanneer RW hoog is (1)
, wordt het programma effectief van het LCD-scherm gelezen.
In de meeste gevallen hoeven er geen gegevens van het LCD-scherm te worden gelezen, dus deze lijn kan rechtstreeks op de Gnd worden aangesloten, waardoor een controllerlijn wordt bespaard.
Enablepin wordt gebruikt om de gegevens op de datapin te vergrendelen. Een HOOG -
Laag signaal is vereist om gegevens te vergrendelen.
Het LCD-scherm zal onze opdrachten uitleggen en uitvoeren wanneer de EN-lijn wordt neergelaten.
Als u het nooit laag zet, zullen uw instructies nooit worden uitgevoerd. referentie-
Het toetsenbord is in wezen een verzameling van 16 toetsen gerangschikt in de vorm van een 4 × 4-matrix.
Een hexadecimaal toetsenbord heeft meestal toetsen die de cijfers 0 tot en met 9 en de tekens A tot en met F vertegenwoordigen.
Het hexadecimale toetsenbord heeft respectievelijk 8 communicatielijnen, R1, R2, R3, R4, C1, C2, C3 en c4.
R1 tot R4 vertegenwoordigt vier rijen en C1 tot C4 vertegenwoordigt vier kolommen.
Wanneer een specifieke toets wordt ingedrukt, worden de overeenkomstige rij en kolom van de terminalaansluiting van de toets kortgesloten.
Als u bijvoorbeeld op 1 drukt, worden rij R1 en kolom C1 kortgesloten, enzovoort.
Het programma identificeert welke toets wordt ingedrukt door een methode die kolomscannen wordt genoemd.
Bij deze methode blijft een bepaalde rij laag (
Houd andere regels hoog)
En controleer of de kolom laag is.
Als wordt vastgesteld dat een kolom laag is,
Lijn laag houden) .
is de toets ingedrukt die de verbinding tussen de kolom en de overeenkomstige rij vertegenwoordigt (
Als rij R1 bijvoorbeeld aanvankelijk laag wordt gehouden en kolom C1 tijdens het scannen laag blijkt te zijn, betekent dit dat toets 1 wordt ingedrukt.
HOPRIO-groep, een professionele fabrikant van controllers en motoren, werd opgericht in 2000. Hoofdkantoor van de groep in Changzhou City, provincie Jiangsu.