electrofriends.com  

...bringing innovative minds together       | HOME | ABOUT US | ARTICLES | SOURCE CODES | PROJECTS | EBOOKS |  FEEDBACK |  

DC MOTOR CONTROL USING IR DATA COMMUNICATION

FLOWCHART FOR RECEPTION

 

FLOWCHART FOR INTERRUPT

SOURCE CODE:

TRANSMISSION PROGRAM:

 ORG 0000H

                        JMP MAIN

 ORG 0003H

                        JMP INCR

 ORG 0013H

                        JMP DECR

 ORG 0023H

                        JNB TI,REC

                        CLR TI

                        MOV P0,A

                        ACALL DAT

                        ACALL DELAY

                        RETI

 REC:               CLR RI

                        RETI


ORG 0040H

MAIN :            MOV A,#38H

                        ACALL COMM

                        ACALL DELAY

                        MOV A,#0EH

                        ACALL COMM

                        ACALL DELAY

                        MOV A,#01H

                        ACALL COMM

                        ACALL DELAY

                        MOV A,#06H

                        ACALL COMM

                        ACALL DELAY

                        MOV A,#80H

                        ACALL COMM

                        ACALL DELAY

                        MOV IE,#97H

                        MOV SCON,#50H

                        MOV TMOD,#2DH

                        MOV TH1,#0E8H

                        MOV R0,#30H

                        SETB TR1

                        SETB TCON.0                                    ; EDGE TRIGGERING

                        SETB TCON.2

                        SETB TR0

 

SPEED:            MOV R6,TL0

                        CALL SEC

                        CALL SEC

                        CALL SEC

                        MOV A,TL0

                        SUBB A,R6

                        ACALL CONV

                        MOV A,#0C0H

                        ACALL COMM

                        ACALL DELAY

                        MOV A,R2

                        ACALL DAT

                        ACALL DELAY

                        MOV A,R1

                        ACALL DAT

                        ACALL DELAY

                        MOV A,R7

                        ACALL DAT

                        ACALL DELAY

                        JMP SPEED

 

COMM :          MOV P0,A

                        CLR P2.7

                        SETB P2.5

                        CLR P2.5

                        RET

 

DAT :  MOV P0,A

                        SETB P2.7

                        SETB P2.5

                        CLR P2.5

                        RET

 

DELAY:           MOV R3,#50

HERE2:            MOV R4,#255

HERE:              DJNZ R4,HERE

                        DJNZ R3,HERE2

                        RET

 

 

;**************************                    INCREASE SPEED

 

 INCR:              INC R0

                        CJNE R0,#35H ,NEXT           ; TO CHECK IF MAX SPEED CROSSED

                        DEC R0          

                        RETI

 

NEXT:             MOV A,#80H

                        ACALL COMM

                        ACALL DELAY

                        ACALL SEND

                        RETI

 

;*************************                     DECREASE SPEED

 

DECR:             CJNE R0,#31H, NEXT2         ; TO CHECK IF MIN SPEED CROSSED

                        RETI

 

NEXT2:           DEC R0

                        MOV A,#80H

                        ACALL COMM

                        ACALL DELAY

                        ACALL SEND

                        RETI

 

  SEND:           MOV A,R0

                        MOV SBUF,A

                        RET

 

SEC:                MOV R3,#25

H3:                   MOV R4,#200

H2:                   MOV R5,#200

H1:                   DJNZ R5,H1

                        DJNZ R4,H2

                        DJNZ R3,H3

                        RET

 

CONV:            MOV B,#10

                        DIV AB

                        MOV R7,B

                        MOV B,#10

                        DIV AB

                        ORL A,#30H

                        MOV R2,A

                        MOV A,B

                        ORL A,#30H

                        MOV R1,A

                        MOV A,R7

                        ORL A,#30H

                        MOV R7,A

                        RET

END

| Previous page | Next page |
 

Other Microcontroller projects and articles

 Digital IC Tester using 8951 Microcontroller

 Automatic Railway Gate Control

 Car parking system using 8051 Microcontroller

 Interfacing an LCD to the 8051 Microcontroller

 8051 microcontroller Instruction Set

 8051 Microcontroller port programming

 Programmable number lock system

 Water level indicator cum controller

 Robotic car

 Intelligent Train Engines

 For more projects click here

 

 

 | HOME | ABOUT US | ARTICLES |  SOURCE CODES | PROJECTS |  SITEMAP |  EBOOKS | FEEDBACK |   



  Copyrights © 2005-2007 electrofriends.com, All rights reserved. webmaster@electrofriends.com