Inhoudsopgave:

De rots: 8 stappen
De rots: 8 stappen

Video: De rots: 8 stappen

Video: De rots: 8 stappen
Video: Samenkomst CG de Rots | Zondag 21 januari 2024 | Ruben Visser 2024, November
Anonim
De steen
De steen

Deze robot wordt bestuurd door een visueel basisprogramma (via de seriële poort) en kan in drie verschillende snelheden bewegen door een pulsbreedtegemoduleerd (PWM) signaal dat wordt gegenereerd door een PIC-microcontroller (16F877). De robot kan in twee modi worden bediend, "normale controle" en "light tracker" modi. In de normale besturingsmodus kan de robot objecten van 3 - 18 cm van de ene plaats naar de andere vervoeren binnen 150 m. terwijl het in de lichtvolgmodus het licht in een donkere kamer volgt. Er werden veel sensoren gebruikt, zoals lichtsensoren; kantelsensor, detectie van stroomuitval, detectie van batterijniveau en enkele limietschakelaars en aanraaksensoren die in de hand worden gebruikt. Hij kan zijn snelheid constant houden als hij een heuvel op gaat (gekanteld) en schakelt automatisch het licht aan als het donker en donker wordt. Ook om de IC's veilig te houden, ontkoppelt het de stroom wanneer het vastzit en stopt de hand wanneer het iets vasthoudt.4 DC-motoren werden gebruikt, bestuurd door een PIC-microcontroller 16F877 en 3 motorbesturingscircuits. Het duurde ongeveer 4 maanden en kost ongeveer $ 600

Stap 1: Ontwerp het project

Ontwerp het project
Ontwerp het project
Ontwerp het project
Ontwerp het project

in de beginfase werd een ontwerp van het project aangeleverd. voornamelijk, het definiëren van het blokschema; zie de figuur.

In dit stadium is een meer gedetailleerd schakelschema vereist, maar om dit te vergemakkelijken, waren de belangrijkste geïdentificeerde modules: 1. Microcontroller 2. Sensoren 3. Motoren 4. Draadloos circuit 5. PC-programma. Er is ook een 3D-ontwerp gemaakt, zie de afbeelding.

Stap 2: Kies de apparaten en componenten

In dit stadium moet de ontwerper de apparaten en componenten kiezen die nodig zijn om de robot te bouwen.

Dit omvat: het draadloze circuit (MAX232, LM331, FM-zender en ontvangermodules), motoren (4 DC-motoren), motorbesturingscircuit (H-brug), de microcontroller PIC (16F877), batterij, spanningsregelaars (MC7805), microschakelaars, Fotoweerstanden, Tilt-sensor … enz. Het is belangrijk om de berekenbaarheid van deze apparaten te begrijpen en hoe ze samenwerken.

Stap 3: De microcontroller

De microcontroller
De microcontroller

Deze stap is de belangrijkste stap. in het begin moeten de codes die door de PIC worden ontvangen en verzonden, worden geïdentificeerd.

Begin met het aansluiten van de componenten op de juiste pinnen van de PIC en programmeer de microcontroller. Dit kan nodig zijn om kleine circuits te bouwen met behulp van de regelaars, weerstanden, sensoren … enz.

Stap 4: Schrijf het pc-programma

Schrijf het pc-programma
Schrijf het pc-programma
Schrijf het pc-programma
Schrijf het pc-programma

Het programma is geschreven op visual basic.

De communicatie verliep via de RS-232. MSComm gebruiken om de gegevens naar de microcontroller te sturen door de instellingen te configureren (poortnummer, baudrate, pariteitsaantal databits, stopbits). Ik gebruikte 8-bits data met één stopbit en pariteit bij een baudrate van 9600 bps.

Stap 5: Bouw het lichaam op

Bouw het lichaam
Bouw het lichaam
Bouw het lichaam
Bouw het lichaam

Een goed ontwerp van het lichaam is belangrijk. Ook het kiezen van de wielopstelling, zie de afbeelding.

e robot is gebouwd nadat hij zeker wist dat de programma's goed werken. Deze stap kan ook vóór het programmeren worden uitgevoerd.

Stap 6: Bouw het draadloze circuit

Bouw het draadloze circuit
Bouw het draadloze circuit

Het bouwen van het draadloze circuit kan onafhankelijk zijn. In de beginfase heb ik een draad gebruikt om de pc met de robot te verbinden en na het voltooien van de robot werd het draadloze circuit geïntegreerd.

Stap 7: Integreren

Integreren
Integreren

Dit is het moment waarop we onze componenten hebben geïntegreerd en de robot hebben getest.

Stap 8: Microcontroller-programmacode

;***************Laatste lijst p=16f877 inclusief radix decidlocs "V"<<8 | "1"; Versie No.config _CP_OFF&_PWRTE_OFF&_WDT_OFF&_XT_OSC;********** hoofdvariabele ****************************** cblock 0x20;begin van bank 0 ram gebied INPUT_VAR L1 L2 X SPEED11 SPEED12 SPEED21 SPEED22 MSTOP LDET LR1 LR2 endc;********** start van het hoofdprogramma *************** start BSF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X40 MOVWF ADCON1 MOVLW 0XFF;POORT A IS I MOVWF TRISA MOVLW 0X00;POORT B IS O MOVWF TRISB MOVLW 0XF0;POORT C IS I/O MOVWF TRISC MOVLW 0XF0/;POVWF I TRISD MOVLW 0X07;POORT E IS I MOVWF TRISE BANKSEL OPTION_REG BCF OPTION_REG, T0CS BCF STATUS, RP1 BCF STATUS, RP0;************************* ****************; ******************************* *********** WACHT BCF POORTB, 1 BCF PORTB, 2 BCF PORTB, 6 CALL PWM1OFF CALL PWM2OFF BCF PORTD, 0 BCF PORTD, 1 BCF PORTD, 2 BCF PORTD, 3 BTFSS LDET, 0 BCF PORTB, 7 MOVLW 0X00 MOVF MSTOP MOVF LDET BANKSEL INTCON BCF INTCON, GIE BANKSEL TXSTA BSF TXSTA, BRGH MOVLW 0X40 MOVWF SPBRG BCF TXSTA, SYNC BANKSEL RCSTA BSF RCSTA, SPEN BTFSC RCSTA, OERR GOTO CLROE BANKSEL PIE1 BSF PIE1, RCIE BANKSEL RCSTA BCF RCSTA, RX9 BSF RCSTA, CRENWAIT1 BANKSEL PORTB BSF PORTB, 3 BSF PORTB, 4 BANKSEL PIR1 BTFSS PIR1, RCIF GOTO WAIT1 BCF MSTOP, 3 B OPROEP PWM1OFF OPROEP PWM2OFF OPROEP DARKLIGHT BTFSC LDET, 0 BSF PORTB, 7RXDATA;BANKSEL RCSTA;BTFSC RCSTA, OERR;GOTO STOPT OPROEP PWM1OFF OPROEP PWM2OFF OPROEP DARKLIGHT BTFSC LDET, 0 BSF REGBIRK1, 7 BANKSEL PORTBIR, 7 BANKSEL PORTBIR, 7 BANKSEL 0;*********************************************;**** **************************************** MOVWF INPUT_VAR MOVLW 0X00 MOVWF RCREG BCF STATUS, RP0 BCF STATUS, RP1 MOVF INPUT_VAR, 0;STOP SUBLW 0X53 BTFSC STATUS, Z GOTO STOPT MOVF INPUT_VAR, 0;LICHT AAN SUBLW 0X4E BTFSC STATUS, Z GOTO LON MOVF INPUT_VAR, 0;LICHT UIT SUBLW STATV Z51 B GNPOTO 0;MOVE FORWARD LANGZAAM SUBLW 0X66 BTFSC STATUS, Z GOTO FSLOW MOVF INPUT_VAR, 0;MOVE RECHTS LANGZAAM SUBLW 0X72 BTFSC STATUS, Z GOTO RSLOW MOVF INPUT_VAR, 0;MOVE LINKS LANGZAAM SUBLW 0 X6C BTFSC STATUS, Z GOTO LSLOW MOVF INPUT_VAR, 0;MOVE ACHTERWAARTS LANGZAAM SUBLW 0X62 BTFSC STATUS, Z GOTO BSLOW MOVF INPUT_VAR, 0;MOVE FORWARD MEDIUM SUBLW 0X46 BTFSC STATUS, Z SUBMOUTVE MOVDI; STATUS, Z GOTO RMED MOVF INPUT_VAR, 0;MOVE LEFT MEDIUM SUBLW 0X4C BTFSC STATUS, Z GOTO LMED MOVF INPUT_VAR, 0;MOVE ACHTERWAARTS GEMIDDELD SUBLW 0X42 BTFSC STATUS, Z GOTONPUTMOV. Z GOTO FFAST MOVF INPUT_VAR, 0;MOVE RECHTS SNEL SUBLW 0X57 BTFSC STATUS, Z GOTO RFAST MOVF INPUT_VAR, 0;MOVE LINKS SNEL SUBLW 0X56 BTFSC STATUS, Z GOTO LFAST MOVF INPUT_VAR, 0 ARDMOVE BFAST MOVF INPUT_VAR, 0;HAND CLOSE SUBLW 0X43 BTFSC STATUS, Z GOTO HCLOSE MOVF INPUT_VAR, 0;HAND OPEN SUBLW 0X4F BTFSC STATUS, Z GOTO HOPEN MOVF INPUT_VAR, 0;HANDX75 UP SUBTFLW STATUS;HAND DOWN SUBLW 0X64 BTFSC STATUS, Z GOTO HDOWN MOVF INPUT_VAR, 0;LICHT VOLGT R SUBLW 0X54 BTFSC STATUS, Z GOTO LFOLLOW;**************************************** ***;********************************************* GOTO CLROEFSLOW; BANKSEL RCSTA;BCF RCSTA, OERR;BCF RCSTA, CREN;NOP;BSF RCSTA, CREN BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP;BCF LDET, 0;CALL BUTTLEVELSC BTFSC MSTOP LIGHTS; LDET, 0;BSF POORTB, 7 NORMALSLOW MOVLW 0XFF MOVWF SPEED11 MOVLW 0X66 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BCF PORTD, 0 BCF PORTD, 1 BSF PORTB, RCIF GOTO RXDATA GOTO REP3 GOTO CLROE;********************************************* **LSLOW BCF STATUS, RP0 BCF STATUS, RP1;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS MOVLW 0X00 MOVWF MSTOP BCF LDET, 0 CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 MOVLWX11FF MOVWF 0X00 MOVWF MSTOP BCF LDET, 0 0XCF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BSF POORT, 0 BCF PORTD, 1 BSF PORTB, 1 BCF POR TB, 2 REP4 BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA GOTO REP4 GOTO CLROE;*********************************** **********RSLOW BCF STATUS, RP0 BCF STATUS, RP1;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPT MOVLW 0X00 MOVWF MSTOP BCF LDET, 0 CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 MOVLW 0XCF MOVWF SPEED11 MOVLW 0X66 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BSF PORTB, 2 REP35 BANKSELIR1,1 BTF ************************** BSLOW BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 MOVLW 0XCF MOVWF SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 OPROEP PWM1ON CALL PWM2ON PORTB, 2 REP5 BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA GOTO REP5 GOTO CLROE;*********************************** **********F MED BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DONKER LICHT BTFSC LDET, 0;BSF PORTB, 7 NORMALMFFVWVLWFX MOFFVWVLWF11 MOFFVWVLWF11 MOFFW MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BCF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BSF PORTB, 2 CALL SDELAY REP6 CALL STALL1 BTFSC MSTOP, 0 GOTO STOPS BANKSEL PIRATA RCIFOPSC PIRD1, GOTO REP6 PLUSEMED MOVLW 0XCF MOVWF SPEED11 MOVLW 0XCC MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0XCC MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BCF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BALL PORTAYB, MREP1 SPORTB, 1 BALL PORTAYB, BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA BTFSS PORTD, 7 GOTO NORMALMED GOTO REP7 GOTO CLROE; ******************************* ***********RMED BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF POORT B, 7 MOVLW 0XFF MOVWF SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BSF PORTB, 21 REPTFSCALL STALL BTFSC PIR1, RCIF GOTO RXDATA GOTO REP8 GOTO CLROE; ***************************************** ****LMED BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 MOVLWEEDVWF MOVWF 0 SP 0XFF MOVWF 0 SP 0XFF MOVWF SNELHEID12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 REP9;CALL STALL1;BTFSC MSTOP, 0;GOTO PIRS1 REP9 GOTO CLROE; ***************************************** BMED BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 MOVLW 0XFF MOVWF SPEED11 MOVLW 0X7F MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X7F MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BSF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BCF PORTB, 2 REP10 OPROEP STALL1 BTFSC MSTOP RC1, 0 GOTO POORT REP10 GOTO CLROE; ***************************************** FFAST BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0 BSF MSTOP, 4;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DONKERLICHT BTFSC LDET, 0;BSF PORTB, 7 MOVLW 0XEF MOVWF SNELHEID MOVWF SPEED21 MOVLW 0X7F MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BCF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BSF PORTB, 2 OPROEP SDELAY NORMALFAST MOVLW 0XCF MOVWF SPEED11 MOVLW 0XCC MOVWF SPEED12 MOVWF SPEED12 MOVWF SPEED PORTD, 0 BCF PORTD, 1 BTFSC LDET, 0 BSF PORTB, 7 BSF PORTB, 1 BSF PORTB, 2 REP11 CALL STALL1 BTFSC MSTOP, 0 GOTO STOPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA NOP BTFSS PORTD, 7 GOTO REP11 AST MOVLW 0XCF MOVWF SPEED11 MOVLW 0XFF MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0XFF MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BCF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BSF PORTB, 2 BIRTFSCALL STALL, RCIF GOTO RXDATA BTFSS PORTD, 7 GOTO NORMALFAST GOTO REP12 GOTO CLROE;*********************************** **********RFAST BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 MOVLW 0XFF MOVVLW SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BSF PORTB, 2 REP13 OPROEP STALL1 BTFSC MSTOPS1, 0 GOTO BAN GOTO REP13 GOTO CLROE;******************************************* LFAST BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 MOVLW 0XFF MOVWF SPEED11 MOVLW 0X66 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTWC, 2WFW OPROEP 0XDELAY 0XEF MOVWF SPEED21 MOVLW 0XB3 MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 REP14 CALL STALL1 BTFSC MSTOP, 0 GOTO STOPS BANKSEL PIR1 BTFSC PIR14DATA, RCIFOE ********************************************* BFAST BCF-STATUS, RP0 BCF-STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF POORTB, 7 MOVLW 0XDF MOVWF SPEED11 MOVLW 0X99 MOVWFALLE SPEED12 MOVWFALLE SPEED PWM2ON BSF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BCF PORTB, 2 CALL SDELAY MOVLW 0XEF MOVWF SPEED11 MOVLW 0X66 MOVWF SPEED12 MOVLW 0XEF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 OPROEP PWM1ON BALL PWM2ONS PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BCF PORTB, 2 REP15 CALL STALL1 BTFSC MSTOP, 0 GOTO STOPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA GOTO REP15 GOTO CLROE;************* ******************************HCLOSE BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 BTFSC PORTD, 5 GOTO STOPS BTFSC PORTD, 6 GOTO STOPS BSF PORTD, 2 BCF PORTD, 3 REP16 BTFSC PORTD, 5 GOTO STOPS B GOTO STOPT OPROEP SDELAY OPROEP STALL2 BTFSC MSTOP, 2 GOTO STOPT BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA GOTO REP16 GOTO CLROE;************************* **************** HOPEN BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF POORTB, 7 BTFSC PORTD, 4 GOTO STOPS BCF PORTD, 2 BSF PORTD, 3 REP17 BTFSC PORTD, 4 GOTO STOPS CALL SDELAY CALL STALL2 BTFSC MSTOP, 2 GOTO STOPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO REPD17 GOTO CLROE; ***************************************** HUP BCF-STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 BTFSC PORTC, 4 GOTO STOPS, 0 BCF PORTC, REP BTFSC PORTC, 4 GOTO STOPT BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA GOTO REP18 GOTO CLROE;****************************** *********** HDOWN BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 BTFSC PORTC, 5 GOTO STOPT BSF PORTC, 0 BCF PORTC, 3 REP19 BTFSC PORTC, 5 GOTO STOPT BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA GOTO REP19 GOTO CLROE;*************** ************************** LON BSF PORTB, 7 BSF LDET, 0 GOTO CLROE;********** *******************************LOFF BCF PORTB, 7 BCF LDET, 0 GOTO CLROE;***** ************************************ VOLG BCF STATUS, RP0 BCF STATUS, RP1 BCF POORTB, 1 BCF-POORTB, 2 BCF-POORTB, 6 BCF PORTB, 7 CALL PWM1OFF CALL PWM2OFF BCF PORTD, 0 BCF PORTD, 1 BCF PORTD, 2 BCF PORTD, 3 BSF MSTOP, 6 REPLF;BANKSEL OPTION_REG;BSF OPTION_REG, 3;BSF OPTION_REG, 3;BSF OPTION_REG, 3;, 3;CLRFWDT BCF STATUS, RP0 BCF STATUS, RP1;BANKSEL INTCON;BCF INTCON, T0IE;BCF INTCON, T0IF;BANKSEL PIE1;BCF PIE1, 6;BCF PIE1, 0;BANKSEL INTCON, PCONIE INTEL, 0 BCF PCON, 1 NOP BSF PCON, 0 BSF PCON, 1 BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP CALL SDELAY CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC STATUSALL, Z GOTO FRONTALL SDELAY CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC STATUS, C GOTO LR2G LR1G BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP;CALL BUTTLEVELWFW;BTFSC MSTOP, 1 MO; 0X66 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BSF POORT, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 LR1GREP;CALL STALL1;BTFGOTO ST, 0; OPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC STATUS, Z GOTO REPLF CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSS STATG REPLF LR2G BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS MOVLW 0XFF MOVWF SNELHEID11 MOVLW 0X99 MOVWF SNELHEID12 MOVLW 0XFFALLWWF SNELHEID PORTD, 1 BCF PORTB, 1 BSF PORTB, 2 LR2GREP;CALL STALL1;BTFSC MSTOP, 0;GOTO STOPT BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF ST1,US, 0 B GOTO REPLF CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC STATUS, C GOTO LR2GREP GOTO REPLF REPLF FRONT BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP;CALL BUTTLESTOPVS;CALL BUTTLESTOPVS; SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BCF-POORT D, 0 BCF PORTD, 1 BSF PORTB, 1 BSF PORTB, 2 CALL SDELAY FROREP;CALL STALL1;BTFSC MSTOP, 0;GOTO STOPT BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA;CALL LDIN;BTFSC MSTOP1;GOTO STOPS NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC STATUS, Z GOTO FROREP GOTO REPLF GOTO CLROE;*************************** **************** STOPT BTFSS MSTOP, 4 GOTO STOPA MOVLW 0XCF MOVWF SPEED11 MOVLW 0XB3 MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0XB3 MOVWF SPEED22 OPROEP PWM1ON OPROEP PWM2ON BCF PORTD, 0 BCF PORTD, 1 CALL SDELAY STOPA BCF STATUS, RP0 BCF STATUS, RP1 BCF PORTB, 1 BCF PORTB, 2 BCF PORTB, 6 BTFSS LDET, 0;BCF PORTB, 7 BCF PORTC, 0 BCF PORTC, 3 CALL PWM1OFF CALL PWM2OFF BCF PORTD, PORTD, 1 BCF PORTD, 2 BCF PORTD, 3 MOVLW 0X00 MOVWF MSTOP;*********************************** **********CLROE BANKSEL RCSTA BCF RCSTA, CREN BCF RCSTA, FERR BCF RCSTA, OERR BSF RCSTA, CREN BSF INTCON,GIE BSF INTCON, PEIE GOTO WACHT1;********************************************* *;*********************************************;**** **************************************** STALL1 BCF-STATUS, RP0 BCF-STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BANKSEL ADCON0 BCF ADCON0, 3 BCF ADCON0, 4 BCF ADCON0, 5 BCF STATUS, RP0 BCF STATUS, RP1 CALL CONVERT MOVF ADRESH, 0 SUBLW 0X70 BTFSS STATUS, C BSF MSTOP, 0 BCF STATUS, RP0 BCF STATUS, RP1 STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BANKSEL ADCON0 BSF ADCON0, 3 BCF ADCON0, 4 BCF ADCON0, 5 BCF STATUS, RP0 BCF STATUS, RP1 OPROEP CONVERT MOVF ADRES, 0 SUBLW 0X40 BTFSS ST STATUS, RP0 BCF STATUS, RP1 RETOURNBUTTLEVEL BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BANKSEL ADCON0 BCF ADCON0, 3 BCF ADCON0, 4 BSF ADCON0, 5 BCF STATUS, RP0, BCF STATUS CONSTANT, RPW MOVW BANKSEL BTFSS-STATUS, C GOTO BL1 GOTO BL2 BL1 BSF MSTOP, 1 BSF PORTB, 6 BL2 RETOUR DONKERLICHT BCF STATUS, RP0 BCF STATUS, RP1 BTFSC LDET, 0 GOTO RETFDL BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0, 4 BCF ADCON0, 5 BCF STATUS, RP0 BCF STATUS, RP1 OPROEP CONVERT MOVF ADRESH, 0 SUBLW 0XEE BTFSS STATUS, C BSF PORTB, 7 RETFDL TERUGCONVERT MOV. BCF ADCON0, 7 BSF ADCON0, 6 BSF ADCON0, 0 BSF ADCON0, GO WAITADC BTFSC ADCON0, GO GOTO WAITADC BCF STATUS, RP1 BCF STATUS, RP0 RETURNPWM1ON BANKSEL PR2 MOVLW 0XFF MOVWF PR2 BCPEED STATUS MOVWF CCP1CON MOVF SNELHEID12, 0 MOVWF CCPR1L BSF STATUS, RP0 BCF STATUS, RP1 MOVLW 0XF0 MOVWF TRISC BCF STATUS, RP0 BCF STATUS, RP1 BCF T2CON, T2CKPS1 BCF T2CON, TNPKSSF, TSF2 TBANSF PR2 MOVLW 0XFF MOVWF PR2 BCF STATUS, RP0 BCF STATUS, RP1 MOVF SPEED21, 0 MOVWF CCP2CON MOVF SPEED22, 0 MOVWF CCPR2L BSF STATUS, RP0 BCF STATUS, RP1 MOVLW 0XF0 MOVATCFUS, STCF BRP0 STCK T2CON, T2CKPS0 BSF T2CON, TMR2ON BSF CCP2CON, 2 BSF CCP2CON, 3 RETURNPW M1OFF BCF CCP1CON, 2 BCF CCP1CON, 3 BSF T2CON, T2CKPS1 BSF T2CON, T2CKPS0 BCF T2CON, TMR2ON MOVLW 0X00 MOVWF CCP1CON MOVLW 0X00 MOVWF CCPR1L BANKSEL PR2 MOVLW 0X00 MOVCFATUS PR2 BRPCF, 3 BSF T2CON, T2CKPS1 BSF T2CON, T2CKPS0 BCF T2CON, TMR2ON MOVLW 0X00 MOVWF CCP2CON MOVLW 0X00 MOVWF CCPR2L BANKSEL PR2 MOVLW 0X00 MOVWF PR2 BCF STATUS 4, RP1 BCF STATUS ADRES, RP0CON STATUS 5 BCF STATUS, RP0 BCF STATUS, RP1 OPROEP CONVERT MOVF ADRESH, W ANDLW 0XF0 MOVWF LR1 BCF STATUS, RP0 BCF STATUS, RP1 RETOUR LFC2 BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0, 4 BSF STATUS RP1 OPROEP CONVERT MOVF ADRESH, 0 ANDLW 0XF0 MOVWF LR2 BCF STATUS, RP0 BCF STATUS, RP1 RETOUR LDIN BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0, 4 BCF ADCON0, 5 BCF STATUS, RP0 BCF STATUS ADVERTENTIE 0X4C BTFSC-STATUS, C GOTO COMP4 BSF MSTOP, 3 COMP4 BCF-STATUS, RP0 BCF-STATUS, RP1 RETOUR SDELAY CLRF L2 XL3 CLRF L1 XL2 CLRF TMR0 XL1 MOVLW 0XFF SUBWF TMR0, W BTFSS STATUS, C GOTO XL1 MOVLW 0X20 INCF L1 SUBWF L1, W BTFSS STATUS, C GOTO XL2 MOVLW 0X10 INCF L2 TFSS ST LUS XL3 RETOUR NEE NOPEND

Tweede prijs in de Instructables en RoboGames Robot Contest

Aanbevolen: