สารบัญ:

เดอะร็อค: 8 ขั้นตอน
เดอะร็อค: 8 ขั้นตอน

วีดีโอ: เดอะร็อค: 8 ขั้นตอน

วีดีโอ: เดอะร็อค: 8 ขั้นตอน
วีดีโอ: เมื่อผมมาลองโปรแกรมอาหารและการออกกำลังกายของ The ROCK ใน 1 วัน 2024, พฤศจิกายน
Anonim
ก้อนหิน
ก้อนหิน

หุ่นยนต์ตัวนี้ถูกควบคุมโดยโปรแกรมวิชวลพื้นฐาน (ผ่านพอร์ตอนุกรม) และสามารถเคลื่อนที่ในความเร็วที่แตกต่างกันสามระดับด้วยสัญญาณพัลส์ไวด์วิดท์มอดูเลต (PWM) ที่สร้างโดยไมโครคอนโทรลเลอร์ PIC (16F877) หุ่นยนต์สามารถทำงานได้ในสองโหมดคือโหมด "การควบคุมปกติ" และ "ตัวติดตามแสง" ในโหมดการควบคุมปกติ หุ่นยนต์สามารถบรรทุกวัตถุขนาดตั้งแต่ 3 - 18 ซม. จากที่หนึ่งไปยังอีกที่หนึ่งภายในระยะ 150 ม. ขณะที่อยู่ในโหมดติดตามแสง จะติดตามแสงในห้องมืด มีการใช้เซ็นเซอร์หลายตัว เช่น เซ็นเซอร์วัดแสง เซ็นเซอร์เอียง, การตรวจจับกระแสไฟขณะหยุดนิ่ง, การตรวจจับระดับแบตเตอรี่, ลิมิตสวิตช์และเซ็นเซอร์สัมผัสบางตัวที่ใช้ในมือ สามารถรักษาความเร็วให้คงที่เมื่ออยู่บนเนินเขา (เอียง) และเปิดไฟโดยอัตโนมัติเมื่อมืด นอกจากนี้ เพื่อรักษาความปลอดภัยของ IC มันจะตัดการเชื่อมต่อกระแสเมื่อติดอยู่และมือหยุดเมื่อถืออะไรบางอย่าง มอเตอร์ DC 4 ตัวถูกใช้ควบคุมโดยไมโครคอนโทรลเลอร์ PIC 16F877 และวงจรขับมอเตอร์ 3 ตัว ใช้เวลาประมาณ 4 เดือน และราคาประมาณ 600 ดอลลาร์

ขั้นตอนที่ 1: ออกแบบโครงการ

ออกแบบโครงการ
ออกแบบโครงการ
ออกแบบโครงการ
ออกแบบโครงการ

ในระยะแรกได้มีการออกแบบโครงการ ส่วนใหญ่ กำหนดบล็อกไดอะแกรม ดูรูป

จำเป็นต้องมีแผนภาพวงจรที่มีรายละเอียดมากกว่านี้ในขั้นตอนนี้ อย่างไรก็ตาม เพื่อความสะดวกในเรื่องนี้ โมดูลหลักที่ระบุคือ: 1. ไมโครคอนโทรลเลอร์ 2. เซ็นเซอร์ 3. มอเตอร์ 4. วงจรไร้สาย 5. โปรแกรมพีซี การออกแบบ 3d ก็เสร็จเรียบร้อยเช่นกัน ดูรูป

ขั้นตอนที่ 2: เลือกอุปกรณ์และส่วนประกอบ

ในขั้นตอนนี้ ผู้ออกแบบควรเลือกอุปกรณ์และส่วนประกอบที่จำเป็นในการสร้างหุ่นยนต์

ซึ่งรวมถึง: วงจรไร้สาย (MAX232, LM331, โมดูลเครื่องส่งและเครื่องรับ FM), มอเตอร์ (มอเตอร์ DC 4 ตัว), วงจรขับมอเตอร์ (H-bridge), ไมโครคอนโทรลเลอร์ PIC (16F877), แบตเตอรี่, ตัวควบคุมแรงดันไฟฟ้า (MC7805), ไมโครสวิตช์ โฟโตรีซีสเตอร์ เซ็นเซอร์เอียง … ฯลฯ สิ่งสำคัญคือต้องเข้าใจความสามารถในการคำนวณของอุปกรณ์เหล่านี้และวิธีการทำงานร่วมกัน

ขั้นตอนที่ 3: ไมโครคอนโทรลเลอร์

ไมโครคอนโทรลเลอร์
ไมโครคอนโทรลเลอร์

ขั้นตอนนี้เป็นขั้นตอนที่สำคัญที่สุด ในตอนเริ่มต้น ควรระบุรหัสที่จะได้รับและส่งจาก PIC

เริ่มเชื่อมต่อส่วนประกอบกับพินที่เหมาะสมของ PIC และตั้งโปรแกรมไมโครคอนโทรลเลอร์ ซึ่งอาจจำเป็นต้องสร้างวงจรขนาดเล็กโดยใช้ตัวควบคุม ตัวต้านทาน เซ็นเซอร์ ฯลฯ

ขั้นตอนที่ 4: เขียนโปรแกรมพีซี

เขียนโปรแกรม PC
เขียนโปรแกรม PC
เขียนโปรแกรม PC
เขียนโปรแกรม PC

โปรแกรมนี้เขียนขึ้นโดยใช้ Visual Basic

การสื่อสารถูกสร้างขึ้นผ่าน RS-232 ใช้ MSComm เพื่อส่งข้อมูลไปยังไมโครคอนโทรลเลอร์โดยกำหนดการตั้งค่า (หมายเลขพอร์ต อัตราบอด หมายเลขพาริตีของบิตข้อมูล บิตหยุด) ฉันใช้ข้อมูล 8 บิตกับ one stop bit และ parity ที่อัตรา baud 9600 bps

ขั้นตอนที่ 5: สร้างร่างกาย

สร้างร่างกาย
สร้างร่างกาย
สร้างร่างกาย
สร้างร่างกาย

การออกแบบร่างกายที่ดีเป็นสิ่งสำคัญ นอกจากนี้การเลือกการจัดเรียงล้อดูรูป

เขาหุ่นยนต์ถูกสร้างขึ้นหลังจากทำประกันว่าโปรแกรมทำงานได้ดี ขั้นตอนนี้สามารถทำได้ก่อนการเขียนโปรแกรมด้วย

ขั้นตอนที่ 6: สร้างวงจรไร้สาย

สร้างวงจรไร้สาย
สร้างวงจรไร้สาย

การสร้างวงจรไร้สายสามารถเป็นอิสระได้ ในขั้นแรก ฉันได้ใช้สายไฟเพื่อเชื่อมต่อพีซีกับหุ่นยนต์ และหลังจากสร้างหุ่นยนต์เสร็จแล้ว วงจรไร้สายก็ถูกรวมเข้าด้วยกัน

ขั้นตอนที่ 7: บูรณาการ

บูรณาการ
บูรณาการ

นี่คือช่วงเวลาที่เรารวมส่วนประกอบของเราและทดสอบหุ่นยนต์

ขั้นตอนที่ 8: รหัสโปรแกรมไมโครคอนโทรลเลอร์

;****************** FINAL ******************************* รายการ p=16f877 รวมฐาน decidlocs "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 สถานะ, สถานะ RP0 BCF, 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 MOVWF TRISC MOVLW 0XF0 MOVPORT D IS I/O TRISD MOVLW 0X07;PORT E IS I MOVWF TISE BANKSEL OPTION_REG BCF OPTION_REG, สถานะ T0CS BCF, สถานะ RP1 BCF, 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 ธนาคาร INTCON BCF INTCON, GIE BANKSEL TXSTA BSF TXSTA, BRGH MOVLW 0X40 MOVWF SPBRG BCF TXSTA, ซิงค์ธนาคาร RCSTA BSF RCSTA, SPEN BTFSC RCSTA, OERR GOTO CROE 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 MSPORTB, 0 BCF MSPORTB, 0 CALL PWM1OFF CALL PWM2OFF CALL DARKLIGHT BTFSC LDET, 0 BSF PORTB, 7RXDATA;BANKSEL RCSTA;BTFSC RCSTA, OERR;GOTO STOPS CALL PWM1OFF CALL PWM2OFF CALL DARKLIGHT BTFSC LDET, 0 BSF PORTBIR, 7 RCFRESEL P ของธนาคาร 0;*************************************************;**** *************************************** MOVWF INPUT_VAR MOVLW 0X00 MOVWF RCREG สถานะ BCF, 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 INPUT_VAR, 0;LIGHT OFF MOVTFSCLW STATV 0X51 BTFSC_INPUT OFFUS 0;MOVE FORWARD SLOW SUBLW 0X66 BTFSC STATUS, Z GOTO FSLOW MOVF INPUT_VAR, 0;MOVE RIGHT SLOW SUBLW 0X72 BTFSC STATUS, Z GOTO RSLOW MOVF INPUT_VAR, 0;ย้ายซ้ายช้า SUBLW 0 X6C สถานะ BTFSC, Z GOTO LSLOW MOVF INPUT_VAR, 0;ย้ายย้อนกลับช้า SUBLW 0X62 สถานะ BTFSC, Z GOTO BSLOW MOVF INPUT_VAR, 0;ย้ายไปข้างหน้าปานกลาง SUBLW 0X46 สถานะ BTFSC, ZNP GOTO FMEDFAR SUBVE, 0X46 BTFSC สถานะ MOVSCED R STATUS, Z GOTO RMED MOVF INPUT_VAR, 0;ย้ายซ้าย MEDIUM SUBLW 0X4C สถานะ BTFSC, Z GOTO LMED MOVF INPUT_VAR, 0;ย้ายย้อนกลับ MEDIUM SUBLW 0X42 สถานะ BTFSC, Z GOTO BMED_ MOVF INPATUS 0X42 สถานะ BTFSC, Z GOTO BMED_ MOVF INPAT Z GOTO FFAST MOVF INPUT_VAR, 0;เลื่อนไปทางขวา FAST SUBLW 0X57 สถานะ BTFSC, Z GOTO RFAST MOVF INPUT_VAR, 0;ย้ายไปทางซ้ายอย่างรวดเร็ว SUBLW 0X56 BTFSC สถานะ, Z GOTO LFAST MOVF INPUT_VARACK, 0 ต.ม. ย้าย BTFSC สถานะ 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;HAND 0X4F BTFSC สถานะ, Z GOTO HOPEN MOVF INPUT_VAR, 0.;มือลง SUBLW 0X64 BTFSC สถานะ Z GOTO HDOWN MOVF INPUT_VAR, 0;LIGHT FOLOWE R SUBLW 0X54 สถานะ BTFSC, Z ไปที่ 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 MSTOP, 1 CALLO STOPO LDET, 0;BSF PORTB, 7 ปกติสโลว์ 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, 1 BTFEL PSCIR1 แหล่งอ้างอิง, RCIF GOTO RXDATA GOTO REP3 GOTO CROE;***************************************** **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 MOVLW 0XFF MOVW X 0 SPEED11W 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 STOPS 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 CALL PWM1ON CALL PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BSF PORTB, 2 REP35 BANKSEL PIR1 BTFSC PIRTOED; **************************** 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 CALL PWM1ON CALL PWM2ON BSF PORTD, 1 BSF PORT CFPORT, 1 BSF PORTB, 2 REP5 BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA GOTO REP5 GOTO CLROE;************************************ **********NS 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, 7 ปกติ MOVWF MOVX MOVLW11XFFL 0 SPEED PORTB 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 PIR1 BTFSC PIR1, RCATAIF GOTOPD GOTO REP6 PLUSEMED 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 BSF PORTB, 1 BSF PORTB, 2 CALL SDELAY REPTO 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 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 PORTD, 1 BCF PORTB, 1 BSF PORTB, 2 REP8 CALL STALL1 BTFS SANK 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 MOVLW 0XFFL MOVWF 66 SPEED11 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;BTFSC MSTOP, 0;GOTO STOPS BANKSCATAL PIRTOD RTOD REP9 GOTO CROE;******************************************* สถานะ BCF ของ BMED, 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 CALL PWM1ON CALL PWM2ON BSF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BCF PORTB, 2 REP10 CALL STALL1 BTFSC MSTOP, 0 GOTO STOPS BTFD PIFSCATA REP10 GOTO CROE;*************************************************สถานะ FFAST BCF, 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, 7 MOVWFLW 0 MOVL MOVL MOV 0 SPEED11F 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 SPEEDWF12 MOVLW 0XCF MOVWON CALL 22 ความเร็ว 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 PLUS 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 PORTD 1 BSF PORTB 1 BSF PORTB 2 REP12 CALL STALL1 BTFSC PTFS STOP, RCIF GOTO RXDATA BTFSS PORTD, 7 GOTO NORMALFAST GOTO REP12 GOTO CROE;*********************************** ********สถานะ BCF แบบเร็ว, สถานะ RP0 BCF, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;ปุ่มควบคุมการโทร;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 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 PORTD, 1 BCF PORTB, 1 BSF PORTB, 2 REP13 CALL STALL1 BTFSC MSTOP, 0 GOTO STOPS PTFIRD RCTODIF GOTO REP13 GOTO CROE;*******************************************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 CALL PWM1ON CALL PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 WFCALL MOVW MOVLW 11 0 SPEED 0XEF MOVWF SPEED21 MOVLW 0XB3 MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 REP14 CALL STALL1 BTFSC MSTOP, 0 GOTO STOPS BANKSEL PIR1 BTFSC PIRX1, RCATA GOTO ROE14 ************************************************ สถานะ BCF ของ BFAST, สถานะ RP0 BCF, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS CALL DARKLIGHT BTFSC LDET, 0;BSF PORTB, 7 MOVLW 0XDF MOVWF SPEED11 MOVLW 0X99 MOVWF ความเร็ว MOV12 MOVLW21XDFALL 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 CALL PWM1ON CALL PWM2ON BSF 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, สถานะ RP0 BCF, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;ปุ่มเรียกปุ่ม;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, BTFSC 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 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 BTFSC PIR1D, RCATAIF GOTO ROX GOTO CLROE;******************************************* HUP BCF สถานะ 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 BCF PORTC, 0 BTFSC PORTC, 4 GOTO STOPS BCF PORTC, 0 BTFSC PORTC, 4 GOTO STOPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA GOTO REP18 GOTO CLROE;******************************* ************สถานะ BCF ของ HDOWN, สถานะ RP0 BCF, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0;ปุ่มเรียกสาย;BTFSC MSTOP, 1;GOTO STOPS 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 CROE; *************** **************************** LON BSF PORTB, 7 BSF LDET, 0 GOTO CROE;********** *************************************** LOFF BCF PORTB, 7 BCF LDET, 0 GOTO CROE;***** ************************************** LFOLLOW BCF สถานะ, RP0 BCF สถานะ, 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_REG, 3;BSF 3 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; BANKSEL INTCON;, 0 BCF PCON, 1 NOP BSF PCON, 0 BSF PCON, 1 สถานะ BCF, สถานะ RP0 BCF, RP1 MOVLW 0X00 MOVWF MSTOP CALL SDELAY CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 สถานะ BTFSC, Z GOTO CALL SDELAY CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 สถานะ BTFSC, C GOTO LR2G LR1G สถานะ BCF, สถานะ RP0 BCF, RP1 MOVLW 0X00 MOVWF MSTOP;CALL BUTTLEVEL WFOL;BTFSC MOVL MTOP11, 1S SPEED; 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 LR1GREP;CALL STALL1;BTFSC MSTOP, 0;GOTO ST OPS BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 สถานะ BTFSC, Z GOTO REPLF CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWFSS LR1, 0 BTFUS REPLF LR2G BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP;CALL BUTTLEVEL;BTFSC MSTOP, 1;GOTO STOPS MOVLW 0XFF MOVWF SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWFX SPEED21 MOVLWON 0 SPEED12 MOVLW 0XFF MOVWFX SPEED21 MOVLWON 0SPEED 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 LR2, 0 SUBWF LRSCTO, 0 SUBWF LRSCTO, 0 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 MOVWF MSTOP;CALL BUTTLEVEL, 1 BTFSC; SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 CALL PWM1ON CALL PWM2ON พอร์ต BCF 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 MSTOP1, 3 CGOTFC STOP1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 สถานะ BTFSC, 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 SPEED22 CALL PWM1ON CALL PWM2ON BCF PORTD, 0 BCF PORTD, 1 CALL SDELAY STOPA สถานะ BCF, RP0 สถานะ BCF, 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, 0 BCF PORTC PORTD, 1 BCF PORTD, 2 BCF PORTD, 3 MOVLW 0X00 MOVWF MSTOP;********************************** *********CLROE ธนาคาร RCSTA BCF RCSTA, CREN BCF RCSTA, FERR BCF RCSTA, OERR BSF RCSTA, CREN BSF INTCON,GIE BSF INTCON, PEIE GOTO WAIT1;****************************************** *;*************************************************;**** *************************************** STALL1 สถานะ BCF, สถานะ RP0 BCF, 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, BCF1 REATUS, BCF1 REATUS สถานะ, สถานะ RP0 BCF, 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 ADRESH, 0 SUBLW 0X40 BTFSS MSTOP STATUS, BCF สถานะ, สถานะ RP0 BCF, สถานะ BCF กลับคืนมา RP1, สถานะ BCF RP0, สถานะ RP1 MOVLW 0X00 MOVWF MSTOP ธนาคาร ADCON0 BCF ADCON0, 3 BCF ADCON0, 4 BSF ADCON0, 5 สถานะ BCF, สถานะ RP0 BCF, RP1 CALL ADCONLRES สถานะ BTFSS, C GOTO BL1 GOTO BL2 BL1 BSF MSTOP, 1 BSF PORTB, 6 BL2 RETURN DARKLIGHT BCF สถานะ, RP0 สถานะ BCF, RP1 BTFSC LDET, 0 GOTO RETFDL BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0, 4 BCF ADCON0, 5 สถานะ BCF, RP0 สถานะ BCF, RP1 CALL CONVERT MOVF ADRESH, 0 SUBLW 0XEE BTFSS สถานะ, C BSF PORTB, 7 RETFDL ผลตอบแทนCONVERT ADRESH ADRESH 0X49 ย้าย AD49 BCF ADCON0, 7 BSF ADCON0, 6 BSF ADCON0, 0 BSF ADCON0, GO WAITADC BTFSC ADCON0, GOTO WAITADC สถานะ BCF, RP1 BCF สถานะ, RP0 RETURNPWM1ON BANKSEL PR2 MOVLW 0XFF MOVWF PR2 BCF สถานะ, RP0 BCF สถานะ, 0 ความเร็ว 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 BSF2CON T2CON, CCONPWCON1CON, CCONPWCON1CON PR2 MOVLW 0XFF MOVWF PR2 สถานะ BCF, สถานะ RP0 BCF, RP1 MOVF SPEED21, 0 MOVWF CCP2CON MOVF SPEED22, 0 MOVWF CCPR2L สถานะ BSF, RP0 สถานะ BCF, RP1 MOVLW 0XF0 MOVWF TRISC BCF สถานะ, RP0 BCF TCON, T2CON, T2CKPS0 BSF T2CON, TMR2ON BSF CCP2CON, 2 BSF CCP2CON, 3 ผลตอบแทน 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 OFF PR2 MOVLW 0X00 MOVWF PR2 BCF RPP สถานะ BCFCON2 สถานะ BCFCON2 เปิด, 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 ADFCON0 กลับ AD0, BCFCON1 5 สถานะ BCF, สถานะ RP0 BCF, RP1 CALL CONVERT MOVF ADRESH, W ANDLW 0XF0 MOVWF LR1 สถานะ BCF, RP0 สถานะ BCF, RP1 ส่งคืน LFC2 BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0, 4 BSF ADCON0, 5 สถานะ BCF0 สถานะ RP1 CALL CONVERT MOVF ADRESH, 0 ANDLW 0XF0 MOVWF LR2 BCF STATUS, RP0 BCF STATUS, RP1 RETURN LDIN BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0, 4 BCF ADCON0, 5 BCF STATUS, RP0 BCF STATUSCON, RP1 CALL ADCONH 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, C GOTO XL1 MOVLW 0X20 INCF L1 SUBWF L1, W BTFSS สถานะ, C GOTO XL2 MOVLW 0X10 INCF L2 SUBWFSS L2, W BTFUS XL3 ส่งคืน NOP NOPEND

รางวัลที่สองในการประกวด Instructables และ RoboGames Robot

แนะนำ: