Բովանդակություն:

Rockայռը `8 քայլ
Rockայռը `8 քայլ

Video: Rockայռը `8 քայլ

Video: Rockայռը `8 քայլ
Video: Building a BRAZILIAN-STYLE Contest Aquascape | PART 1: - Layout and Hardscape - Aquascaping Tutorial 2024, Հուլիսի
Anonim
Քարը
Քարը

Այս ռոբոտը վերահսկվում է տեսողական հիմնական ծրագրով (սերիական նավահանգստի միջոցով) և կարող է շարժվել երեք տարբեր արագություններով `PIC միկրոկոնտրոլերի (16F877) կողմից առաջացած զարկերակի լայնության մոդուլացված (PWM) ազդանշանի միջոցով: Ռոբոտը կարող է շահագործվել երկու ռեժիմով ՝ «նորմալ կառավարման» և «թեթև հետևող» ռեժիմների: Սովորական կառավարման ռեժիմում ռոբոտը կարող է տեղափոխել 3 - 18 սմ չափսերի առարկաներ ՝ տեղից մյուսը ՝ 150 մ հեռավորության վրա: մինչդեռ թեթև հետևող ռեժիմում այն հետևում է մութ սենյակի լույսին: Շատ սենսորներ են օգտագործվել, օրինակ ՝ լույսի տվիչներ; թեքության ցուցիչ, հոսանքի խափանում, մարտկոցի մակարդակի որոշում և ձեռքի մեջ օգտագործվող որոշ սահմանային անջատիչներ և հպման տվիչներ: Այն կարող է անընդհատ պահել իր արագությունը, երբ բարձրանում է բլրի վրա (թեքված) և ինքնաբերաբար միացնում լույսը, երբ մութն ընկնում է: Նաև IC- ն ապահով պահելու համար այն անջատում է հոսանքը, երբ այն խրված է, և ձեռքը դադարում է ինչ -որ բան պահելիս:

Քայլ 1: Նախագծեք նախագիծը

Նախագծել Նախագիծը
Նախագծել Նախագիծը
Նախագծել Նախագիծը
Նախագծել Նախագիծը

սկզբնական փուլում տրամադրվել է նախագծի նախագիծը: հիմնականում, սահմանելով բլոկային դիագրամ; տես գործիչը:

Այս փուլում պահանջվում է ավելի մանրամասն միացումային սխեմա, սակայն դրան հեշտացնելու համար բացահայտված հիմնական մոդուլներն էին. Կատարվել է նաև 3D դիզայն, տես նկարը:

Քայլ 2: Ընտրեք սարքեր և բաղադրիչներ

Այս փուլում դիզայները պետք է ընտրի սարքերն ու բաղադրիչները, որոնք անհրաժեշտ են ռոբոտը կառուցելու համար:

Սա ներառում է ՝ անլար միացում (MAX232, LM331, FM հաղորդիչ և ընդունիչ մոդուլներ), շարժիչներ (4 DC շարժիչներ), շարժիչների շարժիչների միացում (H-bridge), միկրոկառավարիչ PIC (16F877), մարտկոց, լարման կարգավորիչներ (MC7805), միկրոշրջիչներ, Photoresistors, Tilt sensor … և այլն:

Քայլ 3. Միկրոհսկիչը

Միկրոհսկիչը
Միկրոհսկիչը

Այս քայլը ամենակարևոր քայլն է: սկզբում պետք է բացահայտվեն այն ծածկագրերը, որոնք կստանան և կփոխանցվեն PIC- ից:

Սկսեք բաղադրիչները միացնել PIC- ի համապատասխան կապում և ծրագրավորեք միկրոկոնտրոլերը: Սա կարող է պահանջել կառուցել փոքր սխեմաներ `օգտագործելով կարգավորիչները, դիմադրիչները, տվիչները … և այլն:

Քայլ 4: Գրեք ԱՀ ծրագիր

Գրեք համակարգչի ծրագիրը
Գրեք համակարգչի ծրագիրը
Գրեք համակարգչի ծրագիրը
Գրեք համակարգչի ծրագիրը

Րագիրը գրվել է տեսողական հիմնականի վրա:

Հաղորդակցությունը հաստատվել է RS-232- ի միջոցով: Օգտագործելով MSComm- ը ՝ տվյալները միկրոկառավարիչ ուղարկելու համար ՝ կարգավորելով կարգավորումները (պորտի համարը, բաուդ արագությունը, տվյալների բիթերի հավասարության թիվը, կանգառի բիթերը): Ես օգտագործել եմ 8-բիթանոց տվյալներ մեկ կանգառի բիթով և պարիտետով ՝ 9600 բիթ / վրկ արագությամբ:

Քայլ 5: Կառուցեք մարմինը

Կառուցեք մարմինը
Կառուցեք մարմինը
Կառուցեք մարմինը
Կառուցեք մարմինը

Մարմնի լավ դիզայնը կարևոր է: Նաև ընտրելով անիվի դասավորությունը, տես նկարը:

նա ստեղծեց ռոբոտը այն բանից հետո, երբ համոզվեց, որ ծրագրերը լավ են աշխատում: Այս քայլը կարող է կատարվել նաև ծրագրավորումից առաջ:

Քայլ 6: Կառուցեք անլար միացում

Կառուցեք անլար միացում
Կառուցեք անլար միացում

Անլար միացման կառուցումը կարող է անկախ լինել: Սկզբնական փուլում ես օգտագործել եմ մետաղալար ՝ համակարգիչը ռոբոտի հետ միացնելու համար, և ռոբոտին վերջնականացնելուց հետո անլար միացումն ինտեգրվել է:

Քայլ 7: Ինտեգրվել

Ինտեգրվել
Ինտեգրվել

Սա այն պահն է, երբ մենք ինտեգրեցինք մեր բաղադրիչները և փորձարկեցինք ռոբոտին:

Քայլ 8: Միկրոհսկիչի ծրագրի ծածկագիր

; *************** վերջնական ****************************** ցուցակ p = 16f877 ներառում են արմատական «V» << 8 >> արմատային ապարատներ «1»; Տարբերակ No.config _CP_OFF & _PWRTE_OFF & _WDT_OFF & _XT_OSC; ********** հիմնական փոփոխական ************************* cblock 0x20; սկիզբ բանկ 0 խոյ տարածք INPUT_VAR L1 L2 X SPEED11 SPEED12 SPEED21 SPEED22 MSTOP LDET LR1 LR2 endc; ********** հիմնական ծրագրի մեկնարկ ************** սկսել BSF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X40 MOVWF ADCON1 MOVLW 0XFF; PORT A IS I MOVWF TRISA MOVLW 0X00; BORT B IS O MOVWF TRISB MOVLW 0XF0; PORT C IS I/O MOVWF TRV IX/MOFW TRISD MOVLW 0X07; PORT E IS I MOVWF TRISE BANKSEL OPTION_REG BCF OPTION_REG, T0CS BCF STATUS, RP1 BCF STATUS, RP0; ************************* ********************************************** ************ ՍՊԱՍԵԼ BCF PORTB, 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, BS, 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 BFF 3 ԶԱՆԳԱՀԱՐԵՔ PWM1OFF ԶԱՆԳԱՀԱՐԵՔ PWM2OFF ՔՈԼ Darklight BTFSC LDET, 0 BSF PORTB, 7RXDATA, BANKSEL RCSTA, BTFSC RCSTA, OERR; Գնալ կանգառներ ՔՈԼ PWM1OFF ՔՈԼ PWM2OFF ՔՈԼ Darklight BTFSC LDET, 0 BSF PORTB, 7 BANKSEL PIR1 BCF PIR1, RCIF BANKSEL RCREG MOVF RCREG, 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 STOPS MOVF INPUT_VAR, 0; LIGHT ON SUBLW 0X4E BTFSC STATUS, Z GOTO LON MOVF INFUT_VAR 0; ՇԱՐVEԵՔ ԱՌԱ SUBLW 0X66 BTFSC ԿԱՐԳԱՎԻԱԿ, Z GOTO FSLOW MOVF INPUT_VAR, 0; ՇԱՐVEԵԼ IGHԻՇՏ ԴԱLԱ S SUBLW 0X72 BTFSC STATUS, Z GOTO RSLOW MOVF INPUT_VAR, 0; MOVE LEFLT SLOW SLOW X6C BTFSC STATUS, Z GOTO LSLOW MOVF INPUT_VAR, 0; MOVE BACKWARD SLOW SUBLW 0X62 BTFSC STATUS, Z GOTO BSLOW MOVF INPUT_VAR, 0; MOVE FORWARD MEDIUM SUBLW SOMLOX GOFT0X04 STATUS, Z GOTO RMED MOVF INPUT_VAR, 0; MOVE LEFT MEDIUM SUBLW 0X4C BTFSC STATUS, Z GOTO LMED MOVF INPUT_VAR, 0; MOVE BACKWARD MEDIUM SUBLW 0X42 BTFSC STATUS, BATFV, STATUS, Z GOTO FFAST MOVF INPUT_VAR, 0; MOVE RIGHT FAST SUBLW 0X57 BTFSC STATUS, Z GOTO RFAST MOVF INPUT_VAR, 0; MOVE LEFT FAST SUBLW 0X56 BTFSC STATUS, Z GOTO LFAST GOWTOX BOTFOW, MOTW, GOV BFAST MOVF INPUT_VAR, 0; ՁԵՌՆ ՓԱԿԵԼ SUBLW 0X43 BTFSC STATUS, Z GOTO HCLOSE MOVF INPUT_VAR, 0; DAND OPEN SUBLW 0X4F BTFSC STATUS, Z GOTO HOPEN MOVF INPUT_VAR, 0,; ՁԵՌՔ ՍԱՀՈՎ 0X64 BTFSC STATUS, Z GOTO HDOWN MOVF INPUT_VAR, 0; LIGHT FOLOWE 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 BUTTLEVEL; BTFSC; LDET, 0; BSF PORTB, 7 NORMALSLOW MOVLW 0XFF MOVWF SPEED11 MOVLW 0X66 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 CALL PWM1ON CALL PWD2 PBM, BBP, 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 MWFW MOV 0XCF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 CԱՆԳ PWM1ON ALLԱՆԳ PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF POR Տուբերկուլյոզ, 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 STOPS MOVLW 0X00 MOVWF MSTOP BCF LDET, 0 CALL DARKLIGHT BTFSC LDET, 0, 7 BSF 0XCF MOVWF SPEED11 MOVLW 0X66 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 ALLԱՆԳԱՎՈՐ PWM1ON ALLԱՆԳԱՎՈՐ PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF POTBOB POTBOB, BOTBOX, POTBOB, POTBO, POTBO, POTBO, *************************** BSLOW BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; CALL BUTTLEVEL; BTFSC MSTOP 1 PORTB, 2 REP5 BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA GOTO REP5 GOTO CLROE; ******************************* ********** Ֆ MED 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 0FWW 0 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 BOTFO, STOPS GOTO REP6 PLUSEMED MOVLW 0XCF MOVWF SPEED11 MOVLW 0XCC MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0XCC MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BCF CFF, CF0, CFF, CFF 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; B, 7 MOVLW 0XFF MOVWF SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 ALLԱՆԳԱՎՈՐ PWM1ON CALL PWM2ON BCF PORTD, 0 BSF PORTOB BOX, 1 BFF, BOX, 1 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 PWFW MOV, MWW SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 REP9; CALL STALL1; BTFOBTOX, BOTFOX 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 0XFEF MOVWF MOVLW 0X7F MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X7F MOVWF SPEED22 ALLԱՆԳԱՎՈՐ PWM1ON ALLԱՆԳ PWM2ON BSF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BCF PORTBOBO, POTFO, POTFO, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP, CORP 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 DARKLIGHT BTFSC LDET, 0; BSF PORTB 0WW MOV 0WW MOVWF SPEED21 MOVLW 0X7F MOVWF SPEED22 ՔՈԼ PWM1ON ՔՈԼ PWM2ON BCF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BSF PORTB, 2 CALL SDELAY NORMALFAST MOVLW 0XCF MOVWF SPEED11 MOVLW 0XCC MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0XCC MOVWF SPEED22 ՔՈԼ PWM1ON CALL PWM2ON BCF 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, RCIF GOTO RXDATA NOP, RCIF GOTO RXDATA NOP, AST MOVLW 0XCF MOVWF SPEED11 MOVLW 0XFF MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0XFF MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BCF PORTD, 0 BCF PORFORY PORPORT, 1 BSF, 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 MOFW SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 ALLԱՆԳԱՎՈՐ PWM1ON CALL PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BSF PORTBOB, COTBOB, CORP, BOX, BOX 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 ՔՈԼ PWM1ON ՔՈԼ PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 CALL SDELAY MOVLW 0xff MOVWF SPEED11 MOVLW 0X4C MOVWF SPEED12 MOVLW 0XEF MOVWF SPEED21 MOVLW 0XB3 MOVWF SPEED22 ALLԱՆԳ PWM1ON ALLԱՆԳ PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 REP14 CALL STALL1 BTFSC MSTOP, 0 GOTO GOTO BOTBOX **************************************** 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 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 CW2 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 PORT, 5, BTS GOTO STOPS CALL SDELAY CALL STALL2 BTFSC MSTOP, 2 GOTO STOPS 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 LT 0 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 BTFSC PORTC, 4 GOTO STOPS 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; 7 BTFSC PORTC, 5 GOTO STOPS BSF PORTC, 0 BCF PORTC, 3 REP19 BTFSC PORTC, 5 GOTO STOPS 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; ***** ************************************ LFOLLOW BCF STATUS, RP0 BCF STATUS, RP1 BCF PORTB, 1 BCF PORTB, 2 BCF PORTB, 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_FF, OPTION, 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, BCFEXON;, 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, 0 BTFSC, 0 BTFSC 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; 0X66 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 ALLԱՆԳԱՎՈՐ PWM1ON ALLԱՆԳԱՎՈՐ PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 LR1SCOST; BALL 0; OPS BANKSEL PIR1 BTFSC PIR1, RCIF Գնալ RXDATA ՔՈԼ LFC1 մարմինը ՔՈԼ LFC2 մարմինը MOVF LR2, 0 SUBWF LR1, 0 BTFSC ՍՏԱՏՈՒՍ, Z Գնալ REPLF ՔՈԼ LFC1 մարմինը ՔՈԼ LFC2 մարմինը MOVF LR2, 0 SUBWF LR1, 0 BTFSS ՍՏԱՏՈՒՍ, C Ավելի հին թեմա LR1GREP Ավելի հին թեմա REPLF LR2G BCF ԿԱՐԳԱՎԻՃԱԿԸ, RP0 BCF ՍՏԱՏՈՒՍ, RP1 MOVLW 0X00 MOVWF MSTOP, ՔՈԼ BUTTLEVEL, BTFSC MSTOP, 1; Գնալ կանգառներ MOVLW 0xff MOVWF SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0xff MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 ՔՈԼ PWM1ON ՔՈԼ PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BSF PORTB, 2 LR2GREP; CALL STALL1; BTFSC MSTOP, 0; GOTO STOPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA CALL LFC1 NOP CALL LFC2 NOP MOVF LOFF, LO2, LOT2, LOT2, LO2 REPLF CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC ԿԱՐԳԱՎԻԱԿ, C GOTO LR2GREP GOTO REPLF FRONT BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWFOF MSTW; SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 ALLԱՆԳ PWM1ON ALLԱՆԳ PWM2ON BCF PORT D, 0 BCF PORTD, 1 BSF PORTB, 1 BSF PORTB, 2 CALL SDELAY FROREP; CALL STALL1; BTFSC MSTOP, 0; GOTO STOPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA; CALL LDIN; BTFSC MSTOP, 3 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC STATUS, Z GOTO FROREP GOTO REPLF GOTO CLROE; ************************* ** 1 CALL SDELAY STOPA BCF STATUS, RP0 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 PWM2O, 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 WAIT1; *************************************** *; ***************************************; **** ************************************ STALL1 BCF STATUS, RP0 BCF STATUS, RP1 MOFLW 0X00 MOVWF MSTOP BANKSEL ADCON0 BCF ADCON0, 3 BCF ADCON0, 4 BCF ADCON0, 5 BCF ԿԱՐԳԱՎԻԱԿ, RP0 BCF STATUS, RP1 CALL CONVERT MOVF ADRESH, 0 SUBLW 0X70 BTFSS STATUS, C BSF MATF, BSTF, BSTF, BSTF, BSTF, 20 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 CALL CONVERT MOVF ADFES, 0 SUB ՍՏԱՏՈ,Ս, RP0 BCF STATUS, RP1 RETURNBUTTLEVEL BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BANKSEL ADCON0 BCF ADCON0, 3 BCF ADCON0, 4 BSF ADCON0, 5 BCF STP, STF BTFSS STATUS, C GOTO BL1 GOTO BL2 BL1 BSF MSTOP, 1 BSF PORTB, 6 BL2 RETURN DARKLIGHT BCF STATUS, RP0 BCF STATUS, RP1 BTFSC LDET, 0 GOTO RETFDL BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0, 4 BCF ADCON0, 5 BCF ԿԱՐԳԱՎԻԱԿ, RP0 BCF STATUS, RP1 CALL CONVERT MOVF ADRESH, 0 SUBLW 0XEE BTFSS STATUS, C BSF BONG, BONG BCF ADCON0, 7 BSF ADCON0, 6 BSF ADCON0, 0 BSF ADCON0, GO WAITADC BTFSC ADCON0, GOO GOTO WAITADC BCF STATUS, RP1 BCF STATUS, RP0 RETURNPWM1ON BANKSEL PR2 MOV, PR2 MOV, PR2 MOVWF CCP1CON MOVF SPEED12, 0 MOVWF CCPR1L BSF ԿԱՐԳԱՎԻՃԱԿԸ, RP0 BCF ՍՏԱՏՈՒՍ, RP1 MOVLW 0XF0 MOVWF TRISC BCF ԿԱՐԳԱՎԻՃԱԿԸ, RP0 BCF ՍՏԱՏՈՒՍ, RP1 BCF T2CON, T2CKPS1 BCF T2CON, T2CKPS0 BSF T2CON, TMR2ON BSF CCP1CON, 2 BSF CCP1CON, 3 RETURNPWM2ON BANKSEL PR2 MOVLW 0XFF MOVWF PR2 BCF ԿԱՐԳԱՎԻԱԿ, RP0 BCF ԿԱՐԳԱՎԻԱԿ, RP1 MOVF SPEED21, 0 MOVWF CCP2CON MOVF SPEED22, 0 MOVWF CCPR2L BSF STATUS, RP0 BCF STATUS, RP1 MOVFW 0X, CL2 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 MOVWF PR2 BCF ԿԱՐԳԱՎԻՃԱԿԸ, RP1 BCF ՍՏԱՏՈՒՍ, RP0 RETURNPWM2OFF BCF CCP2CON, 2 BCF CCP2CON 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 ԿԱՐԳԱՎԻՃԱԿԸ, RP1 BCF ՍՏԱՏՈՒՍ, RP0 RETURNLFC1 BANKSEL ADCON0 BSF ADCON0, 3 BCF ADCON0, 4 BSF ADCON0, 5 BCF STATUS, RP0 BCF STATUS, RP1 CALL CONVERT MOVF ADRESH, W ANDLW 0XF0 MOVWF LR1 BCF STATUS, RP0 BCF STATUS, RP1 RETURN LFC2 BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCONF, 4 BFF, ADFON, 0, 4 RP1 CALL CONVERT MOVF ADRESH, 0 ANDLW 0XF0 MOVWF LR2 BCF ԿԱՐԳԱՎԻԱԿ, RP0 BCF ԿԱՐԳԱՎԻԱԿ, RP1 RETURN LDIN BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0, 4 BCF ADCON0, 5 BCF STPATUS, STP, STP 0X4C BTFSC STATUS, C GOTO COMP4 BSF MSTOP, 3 COMP4 BCF STATUS, RP0 BCF STATUS, RP1 ՎԵՐԱԴԱՐՁ ԱՌԱՆՈԹՅՈՆ CLRF L2 XL3 CLRF L1 XL2 CLRF TMR0 XL1 MOVLW 0XFF SUBWF TMR0, W BTFSS ԿԱՐԳԱՎԻԱԿ, C GOTO XL1 MOVLW 0X20 INCF L1 SUBWF L1, W BTFSS LOTW, GOT2, GOTW, GOTW XL3 ՎԵՐԱԴԱՐՁ ԱՌԱ ՉԵՍ

Երկրորդ մրցանակ Instructables և RoboGames ռոբոտների մրցույթում

Խորհուրդ ենք տալիս: