Mục lục:

The Rock: 8 bước
The Rock: 8 bước

Video: The Rock: 8 bước

Video: The Rock: 8 bước
Video: TỔNG HỢP NHỮNG PHIM HAY NHẤT CỦA THE ROCK | ANH HÓI DWAYNE JOHNSON | BY MƯA REVIEW PHIM 2024, Tháng bảy
Anonim
Cục đá
Cục đá

Robot này được điều khiển bằng một chương trình cơ bản trực quan (thông qua cổng nối tiếp) và có thể di chuyển với ba vận tốc khác nhau bằng tín hiệu được điều chế độ rộng xung (PWM) do vi điều khiển PIC (16F877) tạo ra. Robot có thể được vận hành ở hai chế độ, chế độ "điều khiển bình thường" và "theo dõi ánh sáng". Ở chế độ điều khiển thông thường, robot có thể mang các vật thể có kích thước từ 3 - 18 cm từ nơi này đến nơi khác trong phạm vi 150 m. trong khi ở chế độ theo dõi ánh sáng, nó đi theo ánh sáng trong phòng tối. Nhiều cảm biến đã được sử dụng, chẳng hạn như cảm biến ánh sáng; cảm biến độ nghiêng, cảm biến dòng điện dừng, cảm biến mức pin và một số công tắc hành trình và cảm biến chạm được sử dụng trên tay. Nó có thể giữ tốc độ không đổi khi đi trên đồi (nghiêng) và tự động bật đèn khi trời tối. Ngoài ra, để giữ an toàn cho vi mạch, nó sẽ ngắt dòng điện khi nó bị kẹt và tay dừng lại khi cầm vật gì đó. 4 động cơ DC được sử dụng điều khiển bởi vi điều khiển PIC 16F877 và 3 mạch điều khiển động cơ. Mất khoảng 4 tháng và chi phí khoảng 600 đô la.

Bước 1: Thiết kế dự án

Thiết kế dự án
Thiết kế dự án
Thiết kế dự án
Thiết kế dự án

ở giai đoạn đầu, một thiết kế của dự án đã được cung cấp. chủ yếu, xác định sơ đồ khối; xem hình.

Ở giai đoạn này cần phải có Sơ đồ mạch chi tiết hơn, tuy nhiên, để tạo điều kiện thuận lợi cho việc này, các mô-đun chính được xác định là: 1. Vi điều khiển 2. Cảm biến 3. Động cơ 4. Mạch không dây 5. Chương trình PC. Một thiết kế 3d cũng đã được thực hiện, hãy xem hình bên.

Bước 2: Chọn Thiết bị và Thành phần

Ở giai đoạn này, nhà thiết kế nên chọn các thiết bị và thành phần cần thiết để chế tạo robot.

Điều này bao gồm: mạch không dây (MAX232, LM331, mô-đun Bộ phát và Bộ thu FM), động cơ (4 động cơ DC), mạch điều khiển động cơ (cầu H), bộ vi điều khiển PIC (16F877), Pin, Bộ điều chỉnh điện áp (MC7805), Công tắc vi mạch, Cảm biến quang, Cảm biến độ nghiêng… vv Điều quan trọng là phải hiểu khả năng tính toán của các thiết bị này và cách chúng hoạt động cùng nhau.

Bước 3: Bộ vi điều khiển

Bộ vi điều khiển
Bộ vi điều khiển

Bước này là bước quan trọng nhất. lúc đầu, các mã sẽ được nhận và truyền từ PIC phải được xác định.

Bắt đầu kết nối các thành phần với các chân thích hợp của PIC và lập trình vi điều khiển. Điều này có thể yêu cầu xây dựng các mạch nhỏ bằng cách sử dụng bộ điều chỉnh, điện trở, cảm biến … vv.

Bước 4: Viết chương trình PC

Viết chương trình PC
Viết chương trình PC
Viết chương trình PC
Viết chương trình PC

Chương trình được viết trên cơ bản trực quan.

Giao tiếp được thiết lập thông qua RS-232. Sử dụng MSComm để gửi dữ liệu đến bộ vi điều khiển bằng cách cấu hình cài đặt (số cổng, tốc độ truyền, số chẵn lẻ của bit dữ liệu, bit dừng). Tôi đã sử dụng dữ liệu 8 bit với một bit dừng và chẵn lẻ ở tốc độ truyền 9600 bps.

Bước 5: Xây dựng cơ thể

Xây dựng cơ thể
Xây dựng cơ thể
Xây dựng cơ thể
Xây dựng cơ thể

Một thiết kế tốt của cơ thể là quan trọng. Cũng chọn cách sắp xếp bánh xe, xem hình bên.

robot của anh ấy được chế tạo sau khi đảm bảo rằng các chương trình đang hoạt động tốt. Bước này có thể được thực hiện trước khi lập trình.

Bước 6: Xây dựng mạch không dây

Xây dựng mạch không dây
Xây dựng mạch không dây

Xây dựng mạch không dây có thể độc lập. Ở giai đoạn đầu, tôi đã sử dụng dây để kết nối PC với robot, và sau khi hoàn thiện robot, mạch không dây đã được tích hợp.

Bước 7: Tích hợp

Tích hợp
Tích hợp

Đây là thời điểm chúng tôi tích hợp các thành phần của mình và thử nghiệm robot.

Bước 8: Mã chương trình vi điều khiển

;***************Danh sách cuối cùng p = 16f877 bao gồm decidlocs cơ số "V" << 8 | "1"; Số phiên bản _CP_OFF & _PWRTE_OFF & _WDT_OFF & _XT_OSC; ********** biến chính *************************** cblock 0x20; start of bank 0 vùng ram INPUT_VAR L1 L2 X SPEED11 SPEED12 SPEED21 SPEED22 MSTOP LDET LR1 LR2 endc; ********** bắt đầu chương trình chính *************** khởi động 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 MOVWF TRISA MOVLW 0; PORT B IS O MOVWF TRISB MOVLW 0XF0; PORT C IS I / O MOVWF TRISC ISF0; TRISD MOVLW 0X07; CỔNG E LÀ TÔI MOVWF TRISE BANKSEL TÙY CHỌN_REG BCF OPTION_REG, T0CS BCF STATUS, RP1 BCF STATUS, RP0; ************************* ******************; ******************************* ************ CHỜ 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 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 PORTB 1, 3 BCF GOTO WAIT1 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 BANKS PEL1, RC1 BCFAN PORT 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 INPUT_USFF MOVAR, 0; LIGHT ON SUBLW 0X4E BTFSC STATUS 0; DI CHUYỂN TRƯỚC KHI CHẬM CHẬM 0X66 TRẠNG THÁI BTFSC, Z GOTO FSLOW MOVF INPUT_VAR, 0; DI CHUYỂN PHẢI CHẬM SUBLW 0X72 TRẠNG THÁI BTFSC, Z GOTO RSLOW MOVF INPUT_VAR, 0; DI CHUYỂN TRÁI CHẬM SUBLW 0 TÌNH TRẠNG X6C BTFSC, Z GOTO LSLOW MOVF INPUT_VAR, 0; DI CHUYỂN BACKWARD SLOW SUBLW 0X62 BTFSC STATUS, Z GOTO BSLOW MOVF INPUT_VAR, 0; MOVE FORWARD MEDIUM SUBLW 0X46 BTFSC STATUSUMED SUBLWIGHT IN FOTO FM 0 STATUS, Z GOTO RMED MOVF INPUT_VAR, 0; DI CHUYỂN LEFT TRUNG BÌNH SUBLW 0X4C BTFSC STATUS, Z GOTO LMED MOVF INPUT_VAR, 0; DI CHUYỂN BACKWARD TRUNG BÌNH SUBLW 0X42 BTFSC TÌNH TRẠNG 0X4C BTFSC STATUS, Z GOTO LMED MOVF INPUT_VAR, 0; MOVE BACKWARD MEDIUM SUBLW 0X42 BTFSC STATUS, Z GOTO BMED MOVF INPUT INPUT 0; Z GOTO FFAST MOVF INPUT_VAR, 0; DI CHUYỂN TÌNH TRẠNG SUBLW 0X57 BTFSC PHẢI NHANH CHÓNG, Z GOTO RFAST MOVF INPUT_VAR, 0; DI CHUYỂN NHANH TRÁI SUBLW 0X56 TÌNH TRẠNG BTFSC, Z GOTO LFAST MOVF INPUT_ VAR, 0; DI CHUYỂN BÊN TRÁI NHANH TRÁI SUBLW 0X56 BTFSC BFAST MOVF INPUT_VAR, 0; TAY ĐÓNG SUBLW 0X43 TRẠNG THÁI BTFSC, Z GOTO HCLOSE MOVF INPUT_VAR, 0; TAY MỞ SUBLW 0X4F TÌNH TRẠNG BTFSC, Z GOTO HOPEN MOVF INPOTUT_VAR, 0; TAY LÊN 75 BTFSC, 0; TAY DOWN SUBLW 0X64 BTFSC STATUS, Z GOTO HDOWN MOVF INPUT_VAR, 0; LIGHT THEO DÕI R SUBLW 0X54 TRẠNG THÁI BTFSC, Z GOTO THEO DÕI; **************************************** ***; ******************************************* 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 BTFSCOTO STATUS 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 PFORTD, 1 BCF PIRPAN, 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 MOVLW MOVLW 0XFF MOVW 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; ********************************* ********** TRẠNG THÁI BCF RSLOW, TRẠNG THÁI BCF RP0, RP1; NÚT GỌI; 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 GỌI PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF PORTB, 1 BSF PORTB, 1 BSF PORTBOT **************************** TRẠNG THÁI BCF BSLOW, TRẠNG THÁI BCF RP0, TRẠNG THÁI RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; NÚT GỌI; 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 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0X99 MOVWF PWM2 BC 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 NÚT; BTFSC MSTOP, 1; GOTO STOPS GOTO DARKLIGHT BTFSC LDET, 0; BSF PORTB, 7 CALL SPOVED MOVED WOVED MOVED WOVFFF MOV99 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 1 BTFSC BANKSEL 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, 1 BÓNG BÓNG BCF, 1 BCF CALL PORTT BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RXDATA BTFSS PORTD, 7 GOTO THÔNG THƯỜNG 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 GOTO GOTO DARKLIGHT BTFSC LDET, 0; BSF PORT B, 7 MOVLW 0XFF MOVWF SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 CUỘC GỌI PWM1ON GỌI PWM2ON BCF PORTD, 0 BSF PORTD, 1 CỔNG BÓNG BCF BTFSC PIR1, RCIF GOTO RXDATA GOTO REP8 GOTO CLROE; *************************************** **** TRẠNG THÁI BCF LMED, TRẠNG THÁI RP0 BCF, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; CALL BUTTLEVEL; BTFSC MSTOP, 1; GOTO STOPS GOTO DARKLIGHT BTFSC LDET, 0; BSF PORTB, 7 MOVLW 0XFF MOVWF SP 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 STOP, 0 POTSC BOTSC, 0PS BOTSC BOTSC, 0PS REP9 GOTO CLROE; ******************************************* TRẠNG THÁI BCF BMED, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; CALL BUTTLEVEL; BTFSC MSTOP, 1; GOTO STOPS GOTO 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 PORTBOT, 1 BCF PORTB, 2 CALL PWM1ON CALL PWM2ON BSF PORD 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 GOTO DARKLIGHT BTFSC LDET, 0; BSF PORTB, 7 MOVLW 0XEF MOVWF12EF SPE 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 PLUSXDATA NOP BTFSS PORTD, 7 GOTO STOPS AST MOVLW 0XCF MOVWF SPEED11 MOVLW 0XFF MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0XFF MOVWF SPEED22 CALL PWM1ON CALL PWM2ON BCF REORTD, 0 BCF PORFOT, 1 BSF PIRPORT, 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 GOTO GOTO DARKLIGHT BTFSC LDET, 0; BSF PORTB, 7 MOVLW 0XFF MOVW SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X66 MOVWF SPEED22 CALL PWM1ON GỌI PWM2ON BCF PORTD, 0 BSF PORTD, 1 BCF PORTBOT, 1 BSF PORTB STOPER PIRPER PIRP1 BTF PORTB 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 GOTO GOTO 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 MOVLW PORTEL 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 CUỘC GỌI PWM1ON GỌI PWM2ON BSF PORTD, 0 MOVLED PORTEL 0 BCF POVLED PORTEL, 1 BSFWALL SPEED 0XEF MOVWF SPEED21 MOVLW 0XB3 MOVWF SPEED22 CUỘC GỌI PWM1ON CALL PWM2ON BSF PORTD, 0 BCF PORTD, 1 BSF PORTB, 1 BCF PORTB, 2 REP14 CALL STALL1 BTFSC MSTOP, 0 GOTO CLOOT1 REP BANKSEL ****************************************** TRẠNG THÁI BCF BFAST, TRẠNG THÁI BCF RP0, 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 CALL 21 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 PWF 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 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 GOTO 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 BƯỚC GOTO BANKSEL PIR1 BTFSC PIR1, RCIF GOTO RP17 GOTO CLROE; ******************************************* TRẠNG THÁI HUP BCF, RP0 BCF STATUS, RP1 MOVLW 0X00 MOVWF MSTOP BCF LDET, 0; CALL BUTTLEVEL; BTFSC MSTOP, 1; GOTO STOPS GOTO DARKLIGHT BTFSC LDET, 0; BSF PORTB, 7 BTFSC PORTC, 4 GOTO STOPS BCF PORTC, 0 BSF PORTC 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 GOTO 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; ***** ************************************** THEO TÌNH TRẠNG BCF SAU, TRẠNG THÁI BCF RP0, CỔNG BCF RP1, 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_REGION, BSF OPTION_REGION, 3; BSF OPTION_REGION, 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; BCF PCON, GIE BANKSON, 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 STATUS 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 0XOT MOVWF MSTOP; CALLFF BUTTLEW STOPS 1 BTFSC MSTOP MSTOP 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; 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 LRREP TRẠNG THÁI REPLF LR2G BCF, TRẠNG THÁI RP0 BCF, RP1 MOVLW 0X00 MOVWF MSTOP; CALL NÚT; BTFSC MSTOP, 1; GOTO STOPS MOVLW 0XFF MOVWF SPEED11 MOVLW 0X99 MOVWF MSTOP; CALL NÚT; BTFSC MSTOP, 1; GOTO STOPS MOVLW 0XFF MOVWF SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLw 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 LRO REPLF CALL LFC1 NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC STATUS, C GOTO LR2GREP GOTO REPLF TRƯỚC BCF STATUS, RP0 BCF STATUS, RP1 MOVLW 0XOTO00 MOVWF MSTOPW, CALL NÚT; CALL NÚT LÚC NÓI; SPEED11 MOVLW 0X99 MOVWF SPEED12 MOVLW 0XFF MOVWF SPEED21 MOVLW 0X99 MOVWF SPEED22 CALL PWM1ON CALL 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; GOTO STOP NOP CALL LFC2 NOP MOVF LR2, 0 SUBWF LR1, 0 BTFSC STATUS, Z GOTO FROREP GOTO REPLF GOTO CLROE; *************************** **************** BƯỚC BTFSS MSTOP, 4 GOTO STOPA MOVLW 0XCF MOVWF SPEED11 MOVLW 0XB3 MOVWF SPEED12 MOVLW 0XCF MOVWF SPEED21 MOVLW 0XB3 MOVWF SPEED22 CALL PWM1ON BCF PORM 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 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, RP0 BCF STATUS, RP1 CALL CONVERT MOVF ADRESH, 0 SUBLW 0X70 BTFSS STATUS, C BSF MSTOP, 0 BCF STATUS TRẠNG THÁI, TRẠNG THÁI RP0 BCF, TÌNH TRẠNG 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 CBLW 0XESH TRẠNG THÁI, TRẠNG THÁI RP0 BCF, TRẠNG THÁI BCF RP1, TÌNH TRẠNG BCF RP1, TRẠNG THÁI BCF RP1 MOVLW 0X00 MOVWF MSTOP BANKSEL ADCON0 BCF ADCON0, 3 BCF ADCON0, 4 BSF ADCOVON0, 5 BCF STATUSBLES, RP0 BCF STATUS TRẠNG THÁI BTFSS, C GOTO BL1 GOTO BL2 BL1 BSF MSTOP, 1 BSF PORTB, 6 BL2 TRẢ LẠI TRẠNG THÁI BÓNG TỐI BCF, TÌNH TRẠNG BCF RP0, RP1 BTFSC LDET, 0 GOTO RETFDL BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0, 4 BCF ADCON0, 5 BCF STATUS, RP0 BCF STATUS, RP1 CALL CONVERT MOVF ADRESH, 0 SUBLW 0XEE BTFSS STATUS, C BSF PORTBON 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 BC FOVWF PR2, RPE BC FOVWF PR2 TÌNH TRẠNG MOVWF CCP1CON MOVF TỐC ĐỘ 12, 0 TÌNH TRẠNG MOVWF CCPR1L BSF, TRẠNG THÁI RP0 BCF, RP1 MOVLW 0XF0 MOVWF TRISC TÌNH TRẠNG BCF, RP0 BCF TÌNH TRẠNG, RP1 BCF T2CON, T2CKPS1 BCF T2CON, T2CON BSCONPS0 BSR1 BON 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 BCF TRATIS 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 PRP2 BCF, BCF CC2 BCF2 BCFV1 BCF2 BCF2 BCF2 BCF 2 BCF2 BCF2 BCF 2 RP, 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 STATUSF, RP1 BCF ADATUS 3 BCF ADCON0 BCF ADATUS 5 TRẠNG THÁI BCF, TRẠNG THÁI RP0 BCF, RP1 CHUYỂN ĐỔI CUỘC GỌI MOVF ADRESH, W ANDLW 0XF0 MOVWF LR1 BCF STATUS, RP0 BCF STATUS, RP1 RETURN LFC2 BANKSEL ADCON0 BCF ADCON0, 3 BSF ADCON0 STATUS, 5 BSF ADCON0 RP1 CHUYỂN ĐỔI CUỘC GỌI 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 CALL STATUS TÌNH TRẠNG 0X4C BTFSC, C GOTO COMP4 BSF MSTOP, 3 COMP4 BCF STATUS, RP0 BCF STATUS, RP1 QUAY LẠI TRẠNG THÁI 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 GOTO XL2 MOVLW 0X10 GOTUS XL3 TRẢ LẠI NOP NOPEND

Giải nhì trong cuộc thi Robot hướng dẫn và RoboGames

Đề xuất: