![]() | ![]() | ![]() |
| | |||||||
| Micro Controllers Discuss all aspects of micro controllers - building them, coding them, etc. All controllers are welcome - PIC, BASIC, Z8 Encore!, etc. |
| | LinkBack | Thread Tools | Display Modes |
| | (permalink) |
| ;by joseph STATUS EQU H'03' ;STATUS REGISTER TRISB EQU H'86' ;TRISB REGISTER FOR SETUP OF PORTB PORTB EQU H'06' ;PORTB REGISTER TO DRIVE PORT B COUNT1 EQU H'0C' ;COUNT VARIABLE 1 IS IN GENERAL PURPOSE REG 08H COUNT2 EQU H'0D' ;COUNT VARIABLE 2 IS IN GENERAL PURPOSE REG 09H ;***SET UP PORT B IN & OUTPUT**** BSF STATUS,5 ;SWITCH TO BANK0 TO SET UP PORT B MOVLW B'11110000' ;RB7,6,5,4 IS INPUT MOVWF TRISB ;RB3,2,1,0 IS OUTPUT BCF STATUS,5 ;SWITCH BACK TO BANK0 TO USE PORT B ;***MAIN PROGRAM**** START MOVLW B'00000101' ;MAKE RB0&2 HIGH: MOVE FORWARD MOVWF PORTB ; MOVLW H'FE' ;RESET COUNT1 TO 254 MOVWF COUNT1 ; MOVLW H'FE' ;RESET COUNT2 TO 254 MOVWF COUNT2 ; BTFSS PORTB,4 ; CALL LEFT ;EXECUTE LEFT ROUTINE BTFSS PORTB,5 ;CENTER CALL LEFT ;LEFT ROUTINE BTFSS PORTB,6 ; CALL RIGHT ;RIGHT ROUTINE BTFSS PORTB,5 ;LEFT AND CENTER BTFSS PORTB,4 CALL RIGHT BTFSS PORTB,6 ;RIGHT AND CENTER BTFSS PORTB,5 CALL LEFT BTFSS PORTB,6 BTFSS PORTB,5 BTFSS PORTB,4 CALL STOP GOTO START ;RETURN TO LABEL START ;***BACKLEFT ROUTINE**** LEFT MOVLW B'00001010' ;MAKE RB1&3 HIGH: MOVE BACKWARD MOVWF PORTB ; CALL DELAY ; MOVLW B'00001001' ;MAKE RB2&3 HIGH: ROTATE LEFT MOVWF PORTB ; CALL DELAY ; RETURN ;***BACKRIGHT ROUTINE**** RIGHT MOVLW B'00001010' ;MAKE RB1&3 HIGH: MOVE BACKWARD MOVWF PORTB ; CALL DELAY ; MOVLW B'00000110' ;MAKE RB2&3 HIGH: ROTATE RIGHT MOVWF PORTB ; CALL DELAY ; RETURN ;******BACKWARD......RIGHT********** STOP MOVLW B'00001010' MOVWF PORTB MOVLW H'EE' MOVWF COUNT1 DECFSZ COUNT1,1 MOVLW H'EE' MOVWF COUNT2 DECFSZ COUNT2,1 GOTO STOP CALL RIGHT DELAY MOVLW H'EE' ;RESET ALL COUNTER VARIABLES MOVWF COUNT1 MOVLW H'99' MOVWF COUNT2 LOOP1 CLRWDT ;RESET THE WATCHDOG TIMER DECFSZ COUNT1,1 ;this is a delay loop GOTO LOOP1 ;tuned to make Cerberes DECFSZ COUNT2,1 ;turn about 90 degrees GOTO LOOP1 RETURN END; I modified the program cerbres robot. and I used LDR as my sensor.Is the program ok? | |
| |
| | (permalink) |
| You have too much sensors connected. You paste the code inside the rap tags in the advanced mode.rap tags ????? # radio button.So its easy to read. | |
| |
| | (permalink) |
| Eww, assembler hehe
__________________ Spency. PIC Micro's - Your mind is the limit PIC's and interfacing with other devices - a PIC Basic Guide @ digital-diy.net | |
| |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
| |
| | ||||
| Title | Starter | Forum | Replies | Latest |
| program for writing and testing circuits | luca-deltodesco | General Electronics Chat | 3 | 13th August 2006 11:17 AM |
| little help with my program please - simple count loop | kud0s | Micro Controllers | 5 | 7th July 2005 10:40 PM |
| Tough assembly program for the PIC16F84 | asmpic | Micro Controllers | 34 | 3rd December 2004 07:50 PM |
| PicBasic Keypad program | Sora | Micro Controllers | 0 | 20th April 2004 08:02 PM |
| Program Verify on JMD with ic-prog | monkeyxp | Micro Controllers | 2 | 2nd November 2003 12:56 PM |