Está en la página 1de 3

'************************************************************************

'* Name
: LED_Two_Ports.BAS
*
'* Author : WIN HTET WIN
*
'* Notice : Copyright (c) 2012
*
'*
: All Rights Reserved
*
'* Date
: 15/3/2013
*
'* Version : 1.0
*
'* Notes : Processor: 16F877A
*
'*
: 4 MHz Crystal
*
'*
: Chasing LEDs in Two Ports in Step & Progressive Modes
*
'************************************************************************
'Initialize variables
Symbol TRISB = 134
symbol TRISD = 136
Symbol PortB = 6
SYMBOL PortD = 8
'Initialize Port(s)
Poke TRISB, 0
poke TRISD, 0
' Right to Left in Step mode
Loop:
B0 = 1
B1 = 0
Poke PortB, B0
POKE PortD, B0
Pause 500
For B2 = 0 to 6
B1 = B0 * 2
B0 = B1
Poke PortB, B0
poke PortD, B0
Pause 500
Next B2
POKE PORTB,0
poke PortD,0
PAUSE 500
' Left to Right in Step mode
B0 = 128
B1 = 0
Poke PortB, B0
poke Portd, B0
Pause 500
For B2 = 0 to 6
B1 = B0 / 2
B0 = B1
Poke PortB, B0
poke PortD, B0
Pause 500
Next B2
POKE PORTB,0
Poke PortD,0
PAUSE 500
' Right to Left in Progressive mode

b0=1
b1=0
b3=1
poke portb,b0
poke PortD,b0
pause 500
for b2=0 to 6
b1=b0*2
b0=b1
b3=b3+b1
poke portb, b3
poke PortD, b3
pause 500
next b2
poke portb,0
poke PortD,0
pause 500
' Left to Right in Progressive mode
b0=128
b1=0
b3=128
poke portb,b0
poke PortD,b0
pause 500
for b2=0 to 6
b1=b0/2
b0=b1
b3=b3+b1
poke portb, b3
poke PortD, b3
pause 500
next b2
poke portb,0
poke PortD,0
pause 500
' ***************PORTB ON & PORTD OFF *****************************************
Poke PORTB, 255
Poke PORTD, 0
PAUSE 500
Poke PORTB, 0
Poke PORTD, 0
PAUSE 500
' ***************PORTB OFF & PORTD ON******************************************
Poke PORTB, 0
Poke PORTD, 255
PAUSE 500
Poke PORTB, 0
Poke PORTD, 0
PAUSE 500
' ***************PORTB OFF & PORTD ON******************************************
Poke PORTB, 0
Poke PORTD, 255
PAUSE 500
Poke PORTB, 0

Poke PORTD, 0
PAUSE 500
' ***************PORTB ON & PORTD OFF *****************************************
Poke PORTB, 255
Poke PORTD, 0
PAUSE 500
Poke PORTB, 0
Poke PORTD, 0
PAUSE 500
' ***************PORTB ON & PORTD ON X THREE TIMES***************************
Poke PORTB,
Poke PORTD,
PAUSE 500
Poke PORTB,
Poke PORTD,
PAUSE 500

255
255

Poke PORTB,
Poke PORTD,
PAUSE 500
Poke PORTB,
Poke PORTD,
PAUSE 500

255
255

0
0

0
0

Poke PORTB, 255


Poke PORTD, 255
PAUSE 500
Poke PORTB, 0
Poke PORTD, 0
PAUSE 500
' ****************************************************************************
goto loop
END

'Jump to the main label and do it all again and


'again
'This line is not needed but its safe to put it
'here just in case the program gets lost.

También podría gustarte