Snabba kontroll av likströmsmotor med 8051 (5 / 5 steg)
Steg 5: Komplett kod
Först har jag har initierats LCD för att Visa "tryck på E-ange att ändra PWM " då vi går in en slinga för att generera PWM varje gång det kommer in en loop som söker efter E-ange, det återstår i denna loop tills E-tangenten trycks, när E-tangenten trycks det ändrar visningen av " Ange PWM -" nu hex knappsatsen söks igenom för att få PWM , ett tresiffrigt nummer från 0-255.Now som vi nu från hex knappsatsen scan vi få tre siffriga ASCII number.first ASCII-talet omvandlas till hex genom att maskera den högre nibble
ANL A, #0FH; MASK högre NIBBLE
nu numret vi får omvandlas till tresiffrigt nummer med hjälp av konvertera motor MUX: MOV B, #10 LÄGG TILL A, R7
//---Convert MOTOR---
Konvertera:
MOV R3, A; SPARA NUMRET I R3
MOV, R1;
MOV R2, A; Lägg counter i R2
MOV, R3; SÄTT ANTALET TILLBAKA TILL A
MUL AB; MULTIPLICERA 10
DJNZ R2, MUX, beroende på position
MOV R7, A
RET
När det första numret anges multipliceras det med 100 sedan sparats i R7 en räknare i R1 används för att hålla koll på siffror plats sedan den andra siffran är multiplicerat med 10 och lagt till första nummer sparade i R7 och antal enhet platsen tillsätts få PWM
efter detta utförande programmet hoppar tillbaka till LCD Ändra displayen och PWM loop att rotera motorn med nya PWM och cykeln fortsätter sedan
video
Slutligen den kompletta koden, hex filen och proteus filen är här