Hej venner, dette er mit 3. års BE-projekt \'hastighedskontrol for DC-motorer\', og jeg vil gerne dele med jer alle.
Her lærer du, hvordan du forbinder LCD, sekskanttastatur og motor.
Koden blev skrevet i samling for at forenkle. Jeg forklarede først LCD-grænsefladen med hexadecimal tastaturgrænseflade og motorgrænsefladen med L293D. lad os starte! ! !
* Lumia 52 * LCD * hex keyboard * DC motor Jeg tror du har grundlæggende viden om 8051 programmering i assembly 293d
Bridge motor driver, så med en IC, kan vi forbinde to DC motorer, der kan styres med uret og mod uret, og vi kan styre hastigheden på hver DC motor ved at give PWM enable pins.
L293D har en udgangsstrøm på 600 mA og en maksimal udgangsstrøm på 1,2A pr. kanal.
Derudover er det integrerede kredsløb også inkluderet for at beskytte kredsløbet mod påvirkningen fra bagpotentialudgangsdioden.
Udgangsstrømforsyning (VCC2)
Der er et bredt område fra 4,5
V til 36 V, hvilket gør L293D til det bedste valg til DC-motordrev.
Som du kan se i kredsløbet, skal der tre ben til at forbinde DC-motoren (A, B, Enable).
Hvis du vil kontrollere hastigheden, er aktiveringsstiften forbundet til mikrocontrollerens PWM-pin.
Jeg tilsluttede kun én motor og brugte aktiveringsstiften til at styre DC-motorens hastighed.
Jeg har ikke tænkt mig at dykke ned i LCD'et, da det er et for stort emne, og jeg har nævnt nogle steder, der meget bruger fuld LCD inklusive 16-ben Vss-GND Vdd-
Positiv spænding v-
Kontrastindstilling datapin LED til baggrundsbelysning pin LED og LED-
3 kontrollinjer er nødvendige for LCD (RS, R/W & EN) & 8 (eller 4) datalinjer. Når RS er lav (0)
, vil data blive behandlet som en kommando.
Når RS er høj (1)
, betragtes de sendte data som tekstdata, der skal vises på skærmen. WhenR/Wis low (0)
, Informationen på databussen skrives til LCD'et.
Når RW er høj (1)
, læses programmet effektivt fra LCD'et.
I de fleste tilfælde kræves det ikke, at data læses fra LCD'et, så denne linje kan forbindes direkte til Gnd'en, hvilket sparer en controller-linje.
Enablepin bruges til at låse dataene på datapinden. Et HØJ -
Lavt signal er påkrævet for at låse data.
LCD'et vil forklare og udføre vores kommandoer, når EN-linjen er sænket.
Hvis du aldrig sætter det lavt, vil dine instruktioner aldrig blive udført. reference-
Tastaturet er i det væsentlige en samling af 16 taster arrangeret i form af en 4 × 4 matrix.
Et hexadecimalt tastatur har normalt taster, der repræsenterer tallene 0 til 9 og tegnene A til F.
Det hexadecimale tastatur har 8 kommunikationslinjer, henholdsvis R1, R2, R3, R4, C1, C2, C3 og c4.
R1 til R4 repræsenterer fire rækker, og C1 til C4 repræsenterer fire kolonner.
Når der trykkes på en bestemt tast, kortsluttes den tilsvarende række og kolonne i nøglens terminalforbindelse.
Hvis du for eksempel trykker 1, kortsluttes rækken R1 og kolonne C1, og så videre.
Programmet identificerer, hvilken tast der trykkes på af en metode kaldet kolonnescanning.
I denne metode forbliver en bestemt række lav (
Hold andre linjer højt)
og kontroller, om kolonnen er lav.
Hvis en kolonne viser sig at være lav, blev der trykket på tasten, der repræsenterer forbindelsen mellem kolonnen og den tilsvarende række (
Linje holder lav)
.
For eksempel, hvis række R1 initialt holdes lav, og kolonne C1 viser sig at være lav under scanning, betyder det, at tast 1 er trykket.