Een zeer kosteneffectief ROBOT met behulp van de microcontroller 89c 51. (5 / 6 stap)

Stap 5: programmering

; P0.0 = M1 VOORWAARTSE RELAY
; P0.1 = M1 OMGEKEERDE RELAY
; P0.2 = M2 VOORWAARTSE RELAY
; P0.3 = M2 OMGEKEERDE RELAY
; P0.4 = M3 VOORWAARTSE RELAY
; P0.5 = M3 OMGEKEERDE RELAY
; P0.6 = M4 VOORWAARTSE RELAY
; P0.7 = M4 OMGEKEERDE RELAY
;
; P0.0 = LCD D0
; P0.0 = LCD D1
; P0.0 = LCD D2
; P0.0 = LCD D3
; P0.0 = LCD D4
; P0.0 = LCD D5
; P0.0 = LCD D6
; P0.0 = LCD D7
;
; P2.0 = FAN
; P2.1 =
; P2.2 = SPELSTRUCTUUR SCHAKELAAR 1
; P2.3 = ONTVANGEN GEGEVENS
; P2.4 = ONTVANGEN GEGEVENS LSB
; P2.5 = ONTVANGEN GEGEVENS LSB + 1
; P2.6 = ONTVANGEN GEGEVENS LSB + 2
; P2.7 = ONTVANGEN GEGEVENS MSB
;
; P3.0 =
; P3.1 =
; P3.2 = LCD-RS
; P3.3 = LCD R/W
; P3.4 = LCD E
; P3.5 =
; P3.6 =
; P3.7 =

; Programma begint hier

ORG 0000H; START

MOV P0, #00 H
MOV P2, #OFOH
SETB P2.3

MOV DPTR, #COMM1; OPDRACHT REGISTER
UPI: CLR; INITIALISEREN DOOR COMM1 STRING
MOVC A,
INC DPTR

CJNE A, #' $', OPDRACHT1
HIER:
MOV, #80 H; STARTADRES VAN LIJN 1
AAAN OPDRACHT

MOV DPTR, #DATA 1; DE GEGEVENS WEERGEVEN
LCALL LINE_DISPLAY_ROLL
HERE1:
MOV, #0C0H; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT

MOV DPTR, #DATA2
LCALL LINE_DISPLAY

LCALL CHECK_INPUT

CJNE A, #00 H, COMPOST1
MOV P0, #05 H
LCALL VERTRAGING
LCALL VERTRAGING
MOV, #0C0H; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT
MOV DPTR, #DATA3
LCALL LINE_DISPLAY
LCALL CHECK_KEY_RELEASE
LJMP HERE1; LOOP HIER NA DISPLAY

OPDRACHT1: AAAN OPDRACHT
AJMP UP1

COMPOST1:
CJNE A, #01 H, ¿NEXT2
MOV P0, #0AH
LCALL VERTRAGING
LCALL VERTRAGING
MOV, ## 0C0H; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT
MOV DPTR, # GEGEVENS4
LCALL LINE_DISPLAY
LCALL CHECK_KEY_RELEASE
LJMP HERE1; LOOP HIER NA DISPLAY

¿NEXT2:
CJNE A, #02 H, NEXT3
MOV P0, #09 H
LCALL VERTRAGING
LCALL VERTRAGING
MOV, #OCOH; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT
MOV DPTR, # GEGEVENS5
LCALL LINE_DISPLAY
LCALL CHECK_KEY_RELEASE
LJMP HERE1; LOOP HIER NA DISPLAY

NEXT3:
CJNE A, #03 H, NEXT4
MOV P0, #06 H
LCALL VERTRAGING
LCALL VERTRAGING
MOV, #0C0H; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT
MOV DPTR, #DATA6
LCALL LINE_DISPLAY
LCALL CHECK_KEY_RELEASE
LJMP HERE1; LOOP HIER NA DISPLAY

NEXT4:
CJNE A, #04 H, NEXT5
MOV P0, #10 H
LCALL VERTRAGING
LCALL VERTRAGING
MOV, #0C0H; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT
MOV DPTR, # GEGEVENS7
LCALL LINE_DISPLAY
LCALL CHECK_KEY_RELEASE
LJMP HERE1; LOOP HIER NA DISPLAY

NEXT5:
CJNE A, #05 H, NEXT6
MOV P0, #20 H
LCALL VERTRAGING
LCALL VERTRAGING
MOV, #0C0H; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT
MOV DPTR, #DATA8
LCALL LINE_DISPLAY
LCALL CHECK_KEY_RELEASE
LJMP HERE1; LOOP HIER NA DISPLAY

NEXT6:
CJNE A, #06 H, NEXT7
MOV P0, #40 H
LCALL VERTRAGING
LCALL VERTRAGING
MOV, #0C0H; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT
MOV DPTR, #DATA9
LCALL LINE_DISPLAY
LCALL CHECK_KEY_RELEASE
LJMP HERE1; LOOP HIER NA DISPLAY

NEXT7:
CJNE A, #07 H, NEXT8
MOV P0, #80 H
LCALL VERTRAGING
LCALL VERTRAGING
MOV, #0C0H; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT
MOV DPTR, #DATA10
LCALL LINE_DISPLAY
LCALL CHECK_KEY_RELEASE
LJMP HERE1; LOOP HIER NA DISPLAY

NEXT8:
CJNE A, #08 H, NEXT9
SETB P2.0;(CONDITIONAL.. ALS EXTRA FUNCTIES TOEGEVOEGD)
LCALL VERTRAGING
LCALL VERTRAGING
MOV, #0C0H; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT
MOV DPTR, #DATA11
LCALL LINE_DISPLAY
LCALL CHECK_KEY_RELEASE
LJMP HERE1; LOOP HIER NA DISPLAY

NEXT9:
CJNE A, #09 H, NEXTA
CLR-P2.0; (VOORWAARDELIJKE... ALS EXTRA FUNCTIES TOEGEVOEGD)
LCALL VERTRAGING
LCALL VERTRAGING
MOV, #0C0H; STARTADRES VAN METROLIJN 2
AAAN OPDRACHT
MOV DPTR, #DATA12
LCALL LINE_DISPLAY
LCALL CHECK_KEY_RELEASE
LJMP HERE1; LOOP HIER NA DISPLAY

NEXTA:
LJMP HERE1; LOOP HIER NA DISPLAY

LINE_DISPLAY:
CLR A
MOVC A,
INC DPTR
CJNE A, #' $', DISPLAY1
RET

DISPLAY1: AAAN DISPLAY
AJMP LINE_DISPLAY

LINE_DISPLAY_ROLL:
LCALL VERTRAGING
CLR A
MOVC A,
INC DPTR
CJNE A, #' $', DISPLAY11
RET

DISPLAY11: AAAN DISPLAY
AJMP LINE_DISPLAY_ROLL

VERTRAGING: MOV R7, #0FFH
LOOP1: MOV R6, #0FFH
LOOP: DJNZ R6, LUS
DJNZ R7, LOOP1
RET

;************************************************************************************************

; LCD-STROBE OPDRACHT

OPDRACHT: AAAN KLAAR; SCHRIJVEN ALS DISPLAY NIET DRUK IS
MOV P1, A; KARAKTER VAN DE OPDRACHT IN DE P1 POORT
CLR-P3.2; OPDRACHT REGISTER GEKOZEN
CLR-P3.3; SCHRIJVEN INSCHAKELEN
SETB P3.4; STROBE TEKEN WEERGEGEVEN
CLR-P3.4
RET; TERUGKEER

;************************************************************************************************

DISPLAY: AAAN KLAAR
MOV P1, A; NEMEN VAN DE GEGEVENS MOET WORDEN WEERGEGEVEN
SETB P3.2; PS = P3.2 = 1 TOE AAN DE SELECTIEQUERY REGISTER
CLR-P3.3; SCHRIJVEN INSCHAKELEN
SETB P3.4; STROBE TEKEN WEERGEGEVEN
CLR-P3.4
RET; TERUGKEER

;************************************************************************************************

KLAAR: CLR P3.4; STROBE DISPLAY
MOV P1, #0FFH; P1 CONFIGUREREN VOOR INPUT
CLR-P3.2; SELECT-OPDRACHT REGISTER
SETB P3.3; LEZEN INSCHAKELEN
WACHTEN: CLR P3.4; STROBE DISPLAY
SETB P3.4
JB P1.7, WACHTEN; LEES BESCHIKBAARHEIDSSTATUS (BF = 0)
CLR-P3.4; EINDE WEERGAVE STROBE.
RET; TERUGKEER

; ************************************************************************************************

COMM1: DB 3CH, 0EH, 06, 01H, '$'
DATA1: DB 'BEBIL DE-ROBOT, $'
DATA2: DB 'INSTRUCTABLES, $'
DATA3: DB 'FORWARD $'
GEGEVENS4: DB 'ACHTERWAARTS $'
GEGEVENS5: DB 'LINKER $'
DATA6: DB 'JUISTE $'
GEGEVENS7: DB 'CAMERA LINKS $'
DATA8: DB 'CAMERA JUISTE $'
DATA9: DB 'CAMERA VAN $'
DATA10: DB 'CAMERA NAAR BENEDEN$ '
DATA11: DB 'OPTIONELE $'
DATA12: DB 'OPTIONELE $'

CHECK_INPUT:
MOV P2, #0F0H
SETB P2.3
JB P2.3, READ_INPUT
NOP
SJMP CHECK_INPUT

READ_INPUT:
MOV P0, #00 H
LCALL VERTRAGING
MOV, P2
ANL A, #0F0H
A RUILEN
RET

CHECK_KEY_RELEASE:
SETB P2.3
NOP
JB P2.3, CHECK_KEY_RELEASE
SETB P2.3
MOV P0, #00 H
RET

Gerelateerde Artikelen

Maak een Candy Bowl Robot (met behulp van een joystick)

Maak een Candy Bowl Robot (met behulp van een joystick)

ik weet niet wat er mis is met mijn Colombiaanse koffie snoepjes. Ik bracht een tas uit mijn land, en niemand wilde eten. In het kantoor zeiden dat ze zijn voorzichtig met de snoepjes, omdat ze gewend zijn gekke en vreemde snoepjes projecten kunnen b
Maak een eenvoudige draadloze RF robot met behulp van Arduino!

Maak een eenvoudige draadloze RF robot met behulp van Arduino!

UPDATE: IK HEB JOYSTICK-CONTROLE TOEGEVOEGD AAN DEZE ROBOT. GELIEVE TE VERWIJZEN NAAR DE STAP 7, ALS U WILT BEPALEN UW ROBOT VIA JOYSTICK.HalloDit is mijn eerste instructable en in deze tutorial, I 'm gonna Toon u hoe te bouwen van een eenvoudige dra
Obstakel te vermijden Robot met behulp van IR Module geïnterfacet met een boord van Mediatek LinkIt

Obstakel te vermijden Robot met behulp van IR Module geïnterfacet met een boord van Mediatek LinkIt

In deze Intructable zal u worden kunnen te maken een obstakel vermijden Robot met behulp van IR module met L293D en Mediatek Linkit een boord.Stap 1: vereisten L293D Motor Driver IC.2 IR Sensor Modules.Chassi voor Bot.Mediatek LinkItOne-Board2 100 RP
Obstakel ontwijkt Robot met behulp van de Arduino Uno en de nabijheid van de IR Sensor

Obstakel ontwijkt Robot met behulp van de Arduino Uno en de nabijheid van de IR Sensor

Volg de stappen voor het maken van een obstakel vermijden Robot met behulp van Arduino Uno en IR Sensor van de nabijheidStap 1: Onderdelen die nodig zijn1) Arduino Uno R3 (kloon zal doen)2) IR naderingssensoren (2 aanbevolen)3) chassis met motoren4)
Draadloos bedienen een Robot met behulp van de Arduino en RF Modules!

Draadloos bedienen een Robot met behulp van de Arduino en RF Modules!

/*Bewerken van 05/05/2016Hey jongens, ik druk bezig geweest met college en kon niet antwoorden naar commments. De meeste van jullie wilde de code en schema's gedaan een beetje beter dus ik heb het schema op Eagle 7.2.0 gemaakt en geüpload alles op Gi
Oprichting van een wandelende robot met behulp van polycaprolactone

Oprichting van een wandelende robot met behulp van polycaprolactone

Video over hoe ik een wandelende robot met behulp van polycaprolactone gemaakt. Polycaprolactone is een interessante kunststof, waardoor u snel maken van prototypes. Het gesmolten bij 60-65 ° C. Voor het smelten van polycaprolactone, gebruikte ik war
Het bouwen van een Robot met behulp van MSP430 Launchpad

Het bouwen van een Robot met behulp van MSP430 Launchpad

In dit Instructable gaan we aan het bouwen van een kleine robot met behulp van MSP430 Launchpad van TI. De robot zal gebruik maken van twee gericht gelijkstroommotoren en differentiële aandrijfsysteem zal tewerkstellen.De intelligentie is voorzien va
Hoe u kunt besturen van een Robot met behulp van een seriële verbinding

Hoe u kunt besturen van een Robot met behulp van een seriële verbinding

hier zijn instructies op hoe te om een seriële verbinding tussen een Rapsberry Pi en Arduino met behulp van een USB-kabel.  Zodra een seriële verbinding is vastgesteld, kan het worden gebruikt om te bepalen wat je kunt bedenken.  In dit geval gebruik
BOUW uw eigen INSECT ROBOT met behulp van de ARDUINO en SERVO

BOUW uw eigen INSECT ROBOT met behulp van de ARDUINO en SERVO

Hey daar, ben ik terug met een meer instructalble. Ik ga je leren hoe te bouwen van een Insect robot met behulp van Arduino en servomotoren. Klinkt cool, toch?. Wat u denkt over het gebruik van deze robot? Vanwege hun compacte formaat, die ze kunnen
Goedkope 4WD object vermijden Robot met behulp van vier IR naderingssensoren...

Goedkope 4WD object vermijden Robot met behulp van vier IR naderingssensoren...

Dit is een goedkope basis vier motoren, vier sensoren, programmeerbare 8051 object vermijden robot met behulp van breadboad. Deze robot kan ook worden gebruikt als een lijn na robot alleen het veranderen van het programma. Ik installeerde twee batter
Arduino gebaseerde lijn volgeling robot met behulp van Pololu kW-8RC lijn sensor

Arduino gebaseerde lijn volgeling robot met behulp van Pololu kW-8RC lijn sensor

UPDATE FEB 2012: deze gids is featured op de Adafruit bloghttp://www.adafruit.com/blog/2012/02/14/Arduino-based-line-follower-robot/Dit is de Faz3a II, mijn eerste lijn-volgende robot, die hopelijk ook te gebruiken voor het oplossen van de doolhof. I
Hoe maak je een Glittery metalen Lamp met behulp van papier

Hoe maak je een Glittery metalen Lamp met behulp van papier

Allright!! Allright!! Voordat u denkt dat de titel van dit instructable misleidend is, Lees verder. :)"Ideeën niet blijven in één hoofd lang" - TarunIk doorbladerde behance.net en vond dit geweldig designer's portefeuille met de naam Romy Kuhne.
Hoe te te herbouwen van een fiets voorwiel Hub met behulp van eenvoudige Tools

Hoe te te herbouwen van een fiets voorwiel Hub met behulp van eenvoudige Tools

Dit instructable is bedoeld u te helpen leren hoe te te herbouwen van een voorwiel hub op elke fiets. Een fervent fietser moet weten hoe om te herstellen van de naaf van een wiel. Wederopbouw van de hub op bespaart uw eigen ook de tijd en geld dat ve
GSM gebaseerd veelzijdige Robotic voertuig met behulp van PIC Microcontroller

GSM gebaseerd veelzijdige Robotic voertuig met behulp van PIC Microcontroller

dit project is ontworpen als een robot voertuig dat kan worden gecontroleerd door een mobiele telefoons te ontwikkelen. DTMF opdrachten vanaf een telefoon verzenden naar een andere mobiele telefoon die is gemonteerd op de robotic voertuig. Deze opdra