Electronic Projects, forums and more.

Go Back   Electronic Circuits Projects Diagrams Free > Electronics Categories > Micro Controllers


Micro Controllers Discuss all aspects of micro controllers - building them, coding them, etc. All controllers are welcome - PIC, BASIC, Z8 Encore!, etc.

Reply
 
LinkBack Thread Tools Display Modes
Old 1st March 2007, 12:55 PM   (permalink)
Default Is the program OK?

;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?
paparts is offline  
Old 2nd March 2007, 04:31 AM   (permalink)
Default

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.
__________________
Gayan

My Website
http://gsmicro.blogspot.com/
Gayan Soyza is offline  
Old 2nd March 2007, 08:07 AM   (permalink)
Default

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
gramo is offline  
Reply

Bookmarks

Thread Tools
Display Modes



Similar Threads
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



All times are GMT. The time now is 07:14 AM.


Electronic Circuits  |  Learning Electronics
Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.

eXTReMe Tracker