Агуулгын хүснэгт:

Хад: 8 алхам
Хад: 8 алхам

Видео: Хад: 8 алхам

Видео: Хад: 8 алхам
Видео: Исламский мультфильм | Изучаем Арабские Буквы | Для детей 2024, Долдугаар сарын
Anonim
Рок
Рок

Энэхүү роботыг харааны үндсэн програмаар (цуваа портоор) удирддаг бөгөөд PIC микроконтроллерийн (16F877) үүсгэсэн импульсийн өргөн модуляцлагдсан (PWM) дохиогоор гурван өөр хурдтайгаар хөдөлж чаддаг. Роботыг "ердийн удирдлага" ба "гэрэл мөрдөгч" гэсэн хоёр горимд ажиллуулах боломжтой. Хяналтын ердийн горимд робот нь 3-18 см хэмжээтэй объектыг нэг газраас нөгөө зайд 150 метрийн зайд тээвэрлэх боломжтой. Гэрэл мэдрэгч горимд харанхуй өрөөнд гэрлийг дагаж явдаг, гэрэл мэдрэгч гэх мэт олон мэдрэгчийг ашигладаг; хазайлтын мэдрэгч, лангууны гүйдлийн мэдрэгч, батерейны түвшний мэдрэгч, гарт ашигладаг зарим унтраалга, мэдрэгч. Энэ нь толгод дээр (хазайсан) явахдаа хурдаа тогтмол байлгаж, харанхуй болоход гэрэл автоматаар асдаг. Мөн IC -ийн аюулгүй байдлыг хангах үүднээс гацах үед гүйдэл тасарч, гар барихад ямар нэгэн зүйл барихад зогсох болно. 4 DC хөдөлгүүрийг PIC микроконтроллер 16F877 болон 3 мотор драйверын хэлхээгээр удирддаг байсан. 4 сар орчим зарцуулсан бөгөөд 600 орчим долларын үнэтэй

Алхам 1: Төслийг боловсруулах

Төслийг боловсруулах
Төслийг боловсруулах
Төслийг боловсруулах
Төслийг боловсруулах

Эхний шатанд төслийн загварыг өгсөн болно. голчлон блок диаграмыг тодорхойлох; зургийг үзнэ үү.

Энэ үе шатанд илүү нарийвчилсан хэлхээний диаграм шаардлагатай боловч үүнийг хөнгөвчлөхийн тулд дараах үндсэн модулиудыг тодорхойлсон болно: 1. Микроконтроллер 2. Мэдрэгчид 3. Мотор 4. Утасгүй хэлхээ 5. PC програм. 3d дизайныг мөн хийсэн болно, зургийг үзнэ үү.

Алхам 2: Төхөөрөмж ба бүрэлдэхүүн хэсгүүдийг сонгоно уу

Энэ үе шатанд дизайнер робот бүтээхэд шаардлагатай төхөөрөмж, эд ангиудыг сонгох ёстой.

Үүнд: утасгүй хэлхээ (MAX232, LM331, FM дамжуулагч ба хүлээн авагчийн модуль), мотор (тогтмол гүйдлийн 4 мотор), мотор драйверын хэлхээ (H-гүүр), микроконтроллер PIC (16F877), зай, хүчдэлийн зохицуулагч (MC7805), микро шилжүүлэгч, Фоторезистор, Налуу мэдрэгч … гэх мэт эдгээр төхөөрөмжүүдийн тооцоолох чадвар, хэрхэн хамтран ажилладагийг ойлгох нь чухал юм.

Алхам 3: Микроконтроллер

Микроконтроллер
Микроконтроллер

Энэ алхам бол хамгийн чухал алхам юм. эхэнд PIC -ээс хүлээн авах, дамжуулах кодыг тодорхойлох шаардлагатай.

Бүрэлдэхүүн хэсгүүдийг PIC -ийн зохих тээглүүртэй холбож эхэлж, микроконтроллерийг програмчил. Энэ нь зохицуулагч, резистор, мэдрэгч гэх мэтийг ашиглан жижиг хэлхээ бий болгох шаардлагатай байж магадгүй юм.

Алхам 4: PC програм бичих

PC програм бичих
PC програм бичих
PC програм бичих
PC програм бичих

Хөтөлбөрийг Visual Basic дээр бичсэн болно.

RS-232-ээр дамжуулан харилцаа холбоог бий болгосон. MSComm -ийг ашиглан өгөгдлийг микроконтроллер руу илгээж тохиргоог тохируулаарай (портын дугаар, дамжуулалтын хурд, өгөгдлийн битийн паритет тоо, зогсоох бит). Би 8 битийн өгөгдлийг нэг цэгийн бит болон паритетээр 9600 bps хурдтайгаар ашигласан.

Алхам 5: Биеийг бүтээх

Биеийг бүтээх
Биеийг бүтээх
Биеийг бүтээх
Биеийг бүтээх

Биеийн зөв загвар гаргах нь чухал юм. Мөн дугуйны зохион байгуулалтыг сонгохдоо зургийг үзнэ үү.

Тэр робот нь програмууд сайн ажиллаж байгааг баталгаажуулсны дараа бүтээгдсэн юм. Энэ алхамыг програмчлахаас өмнө хийж болно.

Алхам 6: Утасгүй хэлхээ бий болгох

Утасгүй хэлхээ бий болгох
Утасгүй хэлхээ бий болгох

Утасгүй хэлхээг бий болгох нь бие даасан байж болно. Эхний шатанд би PC -ийг роботтой холбохын тулд утас ашигласан бөгөөд роботыг дуусгасны дараа утасгүй хэлхээг нэгтгэсэн.

Алхам 7: нэгтгэх

Нэгтгэх
Нэгтгэх

Энэ бол бидний бүрэлдэхүүн хэсгүүдийг нэгтгэж, роботыг туршиж үзсэн мөч юм.

Алхам 8: Микроконтроллер програмын код

; *************** ТӨГСГӨЛ ******************************** жагсаалт p = 16f877 -д radix децидлок "V" орно << 8 | "1"; Хувилбарын дугаар тохиргоо _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; PORT B IS O MOVWF TRISB MOVLW 0XF0; PORT C IS I/O MOVWW MOVWF DISK MOVWF 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 BANKSF RCSTA BSK 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 BBFFSPSPP1 CALL PWM1OFF CALL PWM2OFF CALL DARKLIGHT BTFSC LDET 0 BSF PORTB, 7RXDATA, BANKSEL RCSTA, BTFSC RCSTA, OERR, GOTO зогсоодог CALL PWM1OFF CALL PWM2OFF CALL 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; STUB SUBLW 0X53 BTFSC STATUS, Z GOTO STOPPS MOVF INPUT_VAR, 0; LIGHT SUBLW 0X4E BTFSC STATUS, Z GOTO LON MOVF INPUFVVFVVFVAR, 0 HOUSE, 0; ХӨДӨЛГӨӨР УДИРДАХ ХООЛЫН 0X66 BTFSC БАЙДАЛ, Z GOTO FSLOW MOVF INPUT_VAR, 0; ЗӨВ ХОЙН ХОЖУУЛАХ 0X72 BTFSC БАЙДАЛ, Z GOTO RSLOW MOVF INPUT_VAR, 0; ХӨДӨЛДӨГИЙН ЗӨВ X6C BTFSC STATUS, Z GOTO LSLOW MOVF INPUT_VAR, 0; BACKWARD SLOW SUBLW 0X62 BTFSC STATUS, Z GOTO BSLOW MOVF INPUT_VAR, 0; ДУНД ХӨДӨЛБӨРӨӨ ДУЛААН ДЭЭВЭР ДЭЭРВЭР ДЭЭШНИЙ ХӨВӨНСӨН 0Х4ХӨРСӨН STATUS, Z GOTO RMED MOVF INPUT_VAR, 0; LEFT DEDIUM SUBLW 0X4C BTFSC STATUS, Z GOTO LMED MOVF INPUT_VAR, 0; HACE BACKWARD MEDIUM SUBLW 0X42 BTFTFTFOSTFUTFTS, Z GOTO FFAST MOVF INPUT_VAR, 0; ЗӨВ ХӨДӨЛДӨХ ХӨДӨЛГӨӨН 0X57 BTFSC БАЙДАЛ, Z GOTO RFAST MOVF INPUT_VAR, 0; Зүүн тийш хурдан шилжих 0X56 BTFSC STATUS, Z GOTO ZTFTSTOFTFFAF MOVFOVTS MOVF BFAST MOVF INPUT_VAR, 0; ГАР ХААХ SUBLW 0X43 BTFSC БАЙДАЛ, Z GOTO HCLOSE MOVF INPUT_VAR, 0; ГАР НЭЭВТРҮҮЛСЭН 0X4F BTFSC STATUS, Z GOTO HOPEN MOVF INPUPVVVVTVVTVVTVVTVVTVVT, 0 ГАР АВАХ SUBLW 0X64 BTFSC STATUS, Z GOTO HDOWN MOVF INPUT_VAR, 0; LOLT 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; CUT BUTTLEVELTOL LDET, 0; BSF PORTB, 7 NORMALSLOW MOVLW 0XFF MOVWF SPEED11 MOVLW 0X66 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 MWFFS PWB 1 CW PWD PWD PRL 1 CW PRL, RCIF GOTO RXDATA GOTO REP3 GOTO CLROE; *********************************** ** LSLOW BCF STATUS, RP0 BCF STATUS, RP1; CALL BUTTLEVEL; BTFSC MSTOP, 1; GOTO STOPPS MOVLW 0X00 MOVWF MSTOP BCF LDET, 0 CALL DARKLIGHT BTFSC LDET, 0; BSFFWWFFOVF MOVFWOV 0XCF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BSF PORTD, 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 STOPPS MOVLW 0X00 MOVWF MSTOP BCF LDET, 0 CALL DARKLIGHT BTFSC LDET, 0; 7 BSF PORTB 0XCF MOVWF SPEED11 MOVLW 0X66 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 CW PWM1ON CALL PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF PBB PBB 1 PFB PBB 1 PBB **************************** BSLOW BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; CUT 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 0XC PWF PWF PWF PW2 PWF 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; BUTTLEVEL -ийг дуудах; BTFSC MSTOP, 1; 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 GOTS BOTS POTS POP GOTO REP6 PLUSEMED MOVLW 0XCF MOVWF SPEED11 MOVLW 0XCC MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0XCC MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BCF PORT, PFB 1, PFB, PFB, PFB, PFB, PFB, PFB, PFB, PFB, BTS 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 STOPPS CALL DARKLIGHT BTFSC LDET, 0; BSF PORT B, 7 MOVLW 0XFF MOVWF SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BCF PORTD, 0 BSF PORT PORT, 1 BCF PORT, BTFSC PIR1, RCIF GOTO RXDATA GOTO REP8 GOTO CLROE; ************************************* **** LMED BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; BUTTLEVEL -ийг дуудах; BTFSC MSTOP, 1; SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 CW PWM1ON CALL PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 REP9; CALL STALL1; REP9 GOTO CLROE; *************************************** BMED BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; CUT BUTTLEVEL; BTFSC MSTOP, 1; GOTO STOPPS CALL DARKLIGHT BTFSC LDET, 0; BSF PORTB, 7 MOVLW 0XFF MOVWF MOVLW 0X7F MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X7F MOVWF SPEED22 CALL PWM1ON CW PWM2ON BSF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BCF PTB PTB, PBT PTB, PTS, 1 REP10 GOTO CLROE; ***************************************** FFAST BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0 BSF MSTOP, 4; BUTTLEVEL -ийг дуудах; BTFSC MSTOP, 1; MOVWF SPEED21 MOVLW 0X7F MOVWF SPEED22 CALL PWM1ON CALL 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 CALL 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 RXFTO RXDATO NX 11 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 PORT, BBB, BBB, BBB, BBB, BBB, BBB, BBB, PBB, PBB 1, BBB, PBT BSB 1, 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; BUTTLEVEL -ийг дуудах; BTFSC MSTOP, 1; SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BSF PBT PBT PBT PBT 1 PFT PTS, GOTO REP13 GOTO CLROE; ***************************************** LFAST BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; CUT BUTTLEVEL; BTFSC MSTOP, 1; GOTO STOPPS CALL DARKLIGHT BTFSC LDET, 0; BSF PORTB, 7 MOVLW 0XFF MOVWF SPEED11 MOVLW 0X66 MOVWF 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 CALL SDELAY MOVLW 0XFF MOVWF SPEED11 MOVLW 0X4C MOVWF SPEED12 MOVLW 0XEF MOVWF SPEED21 MOVLW 0XB3 MOVWF SPEED22 ДУУДАХ PWM1ON CW PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 REP14 CALL STALL1 BTFSC MSTOP, 0 Goto Goto PTBOPS 1 ************************************** BFAST BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; CUT BUTTLEVEL; BTFSC MSTOP, 1; GOTO STOPPS CALL DARKLIGHT BTFSC LDET, 0; BSF PORTB, 7 MOVLW 0XDF MOVWF SPEWW MOVFWW MOVFE 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 MOVLWW CWW2 PWW2 PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BCF PORTB, 1 BCF PORTB, 2 REP15 CALL STALL1 BTFSC MSTOP, 0 GOTO STOPPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA GOTO REP15 GOTO CLROE; ************* ****************************** BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; CUT 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 BTFOT PORT, 5 BTSFT PTS 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; CUT BUTTLEVEL; BTFSC MSTOP, 1; GOTO STOPPS DARKLIGHT BTFSC LDET, 0; BSF PORTB, 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 ROTO BROFT RED REDPTROPPTROFT GOTO CLROE; ***************************************** HUP BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; CUT BUTTLEVEL; BTFSC MSTOP, 1; GOTO STOPPS CALL DARKLIGHT BTFSC LDET, 0; BSF PORTB, 7 BTFSC PORTC, 4 GOTO PORTS 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 STOPPS CALL DARKLIGHT BTFSC LDET, 0; BSF PORTB 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 CW PWM2OFF BCF PORTD, 0 BCF PORTD, 1 BCF PORTD, 2 BCF PORTD, 3 BSF MSTOP, 6 REPLF; BANKSEL OPTION_REG; BSF OPTION_REG, 3; BGF OPTION_REFT, 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 INTCONS, 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 GROF, 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 CW PWM1ON CALL PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 LR1GREP; CTALL; 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 MOV GROUF LR2 REPLF LR2G BCF БАЙДАЛ, RP0 BCF БАЙДАЛ, RP1 MOVLW 0X00 MOVWF MSTOP, CALL BUTTLEVEL, BTFSC MSTOP, 1; GOTO зогсоодог MOVLW 0XFF MOVWF SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BCF PORTD 0 BSF PORTD, 1 BCF PORTB, 1 BSF PORTB, 2 LR2GREP; CALL STALL1; BTFSC MSTOP, 0; GOTO STOPPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA CALL LFC1 NOP CALL LFC2 NOP MOV MFF, LFC2 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC STATUS, C GOTO LR2GREP GOTO REPLF FRONT BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MWF, MWF SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 ДУУДАХ PWM1ON ДУУДАХ PWM2ON BCF порт D, 0 BCF PORTD, 1 BSF PORTB, 1 BSF PORTB, 2 CALL SDELAY FROREP; CALL STALL1; BTFSC MSTOP, 0; GOTO STOPPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA; CALL LDIN, BTFSC GLOST NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC STATUS, Z GOTO FROREP GOTO REPLF GOTO CLROE; ************************* **************** BTFSS MSTOP, 4 GOTO STOPA MOVLW 0XCF MOVWF SPEED11 MOVLW 0XB3 MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0XB3 MOVWF SPEED2 CALL PWM PWM PWM1 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 BCW P2 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 MOVLW 0X00 MOVWF MSTOP BANKSEL ADCON0 BCF ADCON0, 3 BCF ADCON0, 4 BCF ADCON0, 5 BCF STATUS, 5 BCF STATUS, RP0 BCF STATUS, RP1 CALL CONVERT MOVF ADRESH, 0 DUBLW 0X70 BTFSS STATUS, C BSCF STSTAT, C BSFF RSTF 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 TSFTFS, 0 STATUS, RP0 BCF STATUS, RP1 RETURNBUTTLEVEL BCF STATUS, RP0 BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BANKSEL ADCON0 BCF ADCON0, 3 BCF ADCON0, 4 BSF ADCON, 5 ADFTFTFTV 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, 4 BCF ADCON0, 5 BCF STATUS, RP0 BCF STATUS, RP1 CALL CONVERT MOVF ADRESH, 0 SUBLW 0XEE BTFSS STATB, CV BSOFT, CV BSET 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 PRF, 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 ХУРД21, 0 MOVWF CCP2CON MOVF SPEED22, 0 MOVWF CCPR2L BSF STATUS, RP0 BCF STATUS, RP1 MOVLFT RW2 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 ADC0 ADCON0 RP1 дуудлага хөрвүүлэх MOVF ADRESH, 0 ANDLW 0XF0 MOVWF LR2 BCF STATUS, RP0 BCF STATUS, RP0 BCF STATUS, RP1 RETURN LDIN BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0, 4 BCF ADCON0, 5 ADFFTFTFTV, 0X4C BTFSC БАЙДАЛ, C GOTO COMP4 BSF MSTOP, 3 COMP4 BCF БАЙДАЛ, RP0 BCF БАЙДАЛ, RP1 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 STATS CAT2, CV GS02 XL3 БУЦАА БОЛОХГҮЙ БОЛОХГҮЙ

Instructables болон RoboGames роботын тэмцээний хоёрдугаар шагнал

Зөвлөмж болгож буй: