terça-feira, 19 de agosto de 2014

Contador Com PIC16F628A

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : César Morisco                                     *
'*  Notice  : Copyright (c) 2014 Centraltek LTD                 *
'*          : All Rights Reserved                               *
'*  Date    : 19/8/2014                                         *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
define osc 4 
INCLUDE "modedefs.bas"
CMCON=7
TRISB=00 
TRISA= %1000 
X VAR BYTE 
Y VAR BYTE 
R VAR BYTE 
main:
IF porta.3 = 0 then
pause 150
endif
 if porta.3 = 0 then inicio
goto main
INICIO: 
FOR X=2 TO 0 step -1
    FOR Y=9 TO 0 step -1 
          FOR R=1 TO 50 
                         
                      
PORTA=1 
PORTB=X 
PAUSE 10
PORTA=%010 
PORTB=Y 
PAUSE 10 
NEXT 
NEXT 
NEXT 
IF (X=0) AND (Y=0) THEN X=0:Y=0
GOTO CERO 
GOTO INICIO 

CERO: 

FOR X=0 TO 0 
    FOR Y=0 TO 0 
          FOR R=1 TO 50
                         
                        
PORTA=1 
PORTB=X 
PAUSE 10 
PORTA=%010 
PORTB=Y 
PAUSE 10 
NEXT 
NEXT 
NEXT 
IF (X=0) AND (Y=0) THEN X=0:Y=0
high portA.2
Pause 50
GOTO main
if portA.2 =1 then end

end

Anime 8x8


HEX :100000002828A301A200FF30A207031CA307031C9A
:1000100023280330A100DF300F200328A101E83E90
:10002000A000A109FC30031C1828A00703181528FC
:10003000A0076400A10F152820181E28A01C222844
:1000400000002228080083130313831264000800B1
:100050008316FC3085008312FC30850083168601F0
:10006000831286013C30B8004230C400A930CF0072
:100070008D30DA008D30E500A930F0004230FB0011
:1000800083163C30A6008530B10083128530B9005C
:100090007830BB008430BC008230BD004130BE00EF
:1000A0004130BF008230C0008430C1007830C200CF
:1000B0007830C300FC30C500FE30C6007F30C7007A
:1000C0007F30C800FE30C900FC30CA007830CB0059
:1000D0003830CC007D30CD00DA30CE00F830D000A2
:1000E000F830D100DA30D2007D30D3003830D4007F
:1000F0003A30D5003A30D600D830D700D830D800C2
:100100007130D900FA30DB00DC30DC00FA30DD0081
:10011000FA30DE00DC30DF00FA30E0007130E10060
:10012000FC30E200FC30E3007E30E4008130E60089
:100130008130E7008130E8008130E9008130EA0059
:100140008130EB007E30EC00ED013C30EE004230BF
:10015000EF004230F1004230F2004230F3003C3018
:10016000F400F501F601F7011830F8002430F90029
:100170002430FA001830FC00FD01FE01FF01831657
:10018000A001A1011830A2001830A300A401A5010C
:10019000A7011F30A8003D30A9002830AA00FE307A
:1001A000AB00FE30AC002830AD003D30AE001F305B
:1001B000AF007E30B0007E30B200A830B300A8306F
:1001C000B40064008312051BEA28C830012083169E
:1001D000BD0A8312640083163D08013C8312031D8F
:1001E000F2282121640083163D08023C8312031D7E
:1001F000FA28AE21640083163D08033C8312031DD8
:1002000002293522640083163D08043C8312031D35
:100210000A29BC22640083163D08053C8312031D95
:1002200012294323640083163D08063C8312031DF4
:100230001A295E246400851B20298316BD018312C0
:1002400032288316BC01831264000B3083163C02F3
:1002500083120318662938088600851405140510D2
:100260008510582586014408860005140510582578
:1002700086014F08860005140510582586015A0886
:1002800086000514051058258601650886000514AA
:10029000051058258601700886000514051058259C
:1002A00086017B08860005140510582586018316F3
:1002B00026088312860005140510582586010514AA
:1002C00005108316BC0A8312031D24298316BC0162
:1002D000831264000B3083163C0283120318AD298D
:1002E00083162608831286008514051405108510D0
:1002F000582586017B0886000514051058258601BF
:1003000070088600051405105825860183163108EB
:1003100083128600051405105825860139088600C9
:1003200005140510582586014F0886000514051090
:1003300058258601440886000514051058258601B5
:100340003808860005140510582586010514051087
:100350008316BC0A8312031D692908008316BC0199
:10036000831264000B3083163C0283120318F129B8
:100370003B08860085140514051085105825860154
:100380003C08860005140510582586013D088600A6
:1003900005140510582586013E0886000514051031
:1003A000582586013F08860005140510582586014A
:1003B000400886000514051058258601410886006E
:1003C00005140510582586014208860005140510FD
:1003D00058258601051405108316BC0A8312031DD7
:1003E000B1298316BC01831264000B3083163C02D2
:1003F00083120318342A4308860085140514051057
:1004000085105825860145088600051405105825D5
:100410008601460886000514051058258601470800
:100420008600051405105825860148088600051425
:100430000510582586014908860005140510582521
:1004400086014A08860005140510582586014B08C8
:10045000860005140510582586010514051083161D
:10046000BC0A8312031DF42908008316BC01831201
:1004700064000B3083163C0283120318782A4C0860
:1004800086008514051405108510582586014D0831
:10049000860005140510582586014E0886000514AF
:1004A00005105825860150088600051405105825AA
:1004B000860151088600051405105825860152084A
:1004C000860005140510582586015308860005147A
:1004D0000510582586015408860005140510582576
:1004E0008601051405108316BC0A8312031D382AE1
:1004F0008316BC01831264000B3083163C02831206
:100500000318BB2A550886008514051405108510AC
:10051000582586014D0886000514051058258601CA
:1005200057088600051405105825860150088600D6
:10053000051405105825860151088600051405107C
:10054000582586015808860005140510582586018F
:1005500053088600051405105825860156088600A4
:100560000514051058258601051405108316BC0ACC
:100570008312031D7B2A08008316BC0183126400CA
:100580000B3083163C0283120318FF2A5908860099
:100590008514051405108510582586015B08860012
:1005A00005140510582586015C0886000514051001
:1005B000582586015D08860005140510582586011A
:1005C0005E08860005140510582586015F08860020
:1005D00005140510582586016008860005140510CD
:1005E00058258601610886000514051058258601E6
:1005F000051405108316BC0A8312031DBF2A831637
:10060000BC01831264000B3083163C028312031872
:10061000422B5908860085140514051085105825AD
:1006200086015B08860005140510582586016208BE
:10063000860005140510582586015D0886000514FE
:100640000510582586015E088600051405105825FA
:100650008601620886000514051058258601600889
:1006600086000514051058258601610886000514CA
:10067000051058258601051405108316BC0A83123F
:10068000031D022B08008316BC01831264000B308B
:1006900083163C0283120318862B64088600851497
:1006A0000514051085105825860166088600051476
:1006B0000510582586016708860005140510582581
:1006C000860168088600051405105825860169080A
:1006D000860005140510582586016A088600051451
:1006E0000510582586016B0886000514051058254D
:1006F00086016C088600051405105825860105142E
:1007000005108316BC0A8312031D462B8316BC01F9
:10071000831264000B3083163C0283120318C92B2A
:100720006D0886008514051405108510582586016E
:100730006E08860005140510582586016F0886008E
:10074000051405105825860171088600051405104A
:100750005825860172088600051405105825860163
:100760007308860005140510582586017408860054
:100770000514051058258601750886000514051016
:1007800058258601051405108316BC0A8312031D23
:10079000892B8316BC01831264000B3083163C0244
:1007A000831203180C2C7608860085140514051096
:1007B00085105825860177088600051405105825F0
:1007C00086017808860005140510582586017908E9
:1007D000860005140510582586017A088600051440
:1007E0000510582586017C0886000514051058253B
:1007F00086017D08860005140510582586017E08AF
:100800008600051405105825860105140510831669
:10081000BC0A8312031DCC2B8316BC018312640017
:100820000B3083163C02831203185D2C7F08860070
:100830008514051405108510582586018316200897
:100840008312860005140510582586018316210899
:100850008312860005140510582586018316220888
:100860008312860005140510582586018316230877
:100870008312860005140510582586018316240866
:100880008312860005140510582586018316250855
:100890008312860005140510582586018316270843
:1008A00083128600051405105825860105140510CD
:1008B0008316BC0A8312031D0F2C08008316BC018B
:1008C000831264000B3083163C0283120318B12C90
:1008D00083162808831286008514051405108510D8
:1008E00058258601831629088312860005140510F1
:1008F0005825860183162A088312860005140510E0
:100900005825860183162B088312860005140510CE
:100910005825860183162C088312860005140510BD
:100920005825860183162D088312860005140510AC
:100930005825860183162E0883128600051405109B
:100940005825860183162F0883128600051405108A
:1009500058258601051405108316BC0A8312031D51
:10096000612C8316BC01831264000B3083163C0299
:1009700083120318042D8316280883128600851419
:100980000514051085105825860183162908831241
:100990008600051405105825860183162A0883123F
:1009A0008600051405105825860183163008831229
:1009B0008600051405105825860183163208831217
:1009C0008600051405105825860183162D0883120C
:1009D0008600051405105825860183162E088312FB
:1009E0008600051405105825860183162F088312EA
:1009F0008600051405105825860105140510831678
:100A0000BC0A8312031DB42C8316BC01831264003C
:100A10000B3083163C0283120318572D83162808C7
:100A2000831286008514051405108510582586014B
:100A3000831629088312860005140510582586019F
:100A40008316330883128600051405105825860185
:100A50008316300883128600051405105825860178
:100A60008316320883128600051405105825860166
:100A70008316340883128600051405105825860154
:100A800083162E088312860005140510582586014A
:100A900083162F0883128600051405105825860139
:100AA000051405108316BC0A8312031D072D0800C8
:060AB000033001200800E4
:02400E00583F19
:00000001FF

Anime com leds Usando PIC16F628A

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : César Morisco                                     *
'*  Notice  : Copyright (c) 2013 Centraltek LTD 27 3233 3493    *
'*          : All Rights Reserved                               *
'*  Date    : 3/4/2013                                          *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
 @ DEVICE pic16F628A                      'is,lemci 16F628
 @ DEVICE pic16F628A, WDT_OFF              'Watch Dog timer aç?k
 @ DEVICE pic16F628A, PWRT_ON            'Power on timer aç?k
 @ DEVICE pic16F628A, PROTECT_OFF         'Kod Protek kapal?
 @ DEVICE pic16F628A, MCLR_OFF            'MCLR pini kullan?l?yor.
 @ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT  'Dahili osilatör kullan?lacak

TRISA = 111111
PORTA = 000000
TRISB = 000000
PORTB = 0
CMCON=7
I   VAR BYTE
X   VAR BYTE
J   VAR BYTE
C1  VAR Byte 'valor de 1 coluna
C2  VAR Byte 'de la 2 coluna
C3  VAR Byte '....
C4  VAR Byte '....
C5  VAR Byte '....
C6  VAR Byte '....
C7  VAR Byte '....
C8  VAR Byte 'de  8 coluna
C9  var byte 'Repet e efeito
C10 VAR BYTE
C11 VAR BYTE
C12 VAR BYTE
C13 VAR BYTE
C14 VAR BYTE
C15 VAR BYTE
C16 VAR BYTE
C17 VAR BYTE
C18 VAR BYTE
C19 VAR BYTE
C20 VAR BYTE
C21 VAR BYTE
C22 VAR BYTE
C23 VAR BYTE
C24 VAR BYTE
C25 VAR BYTE
C26 VAR BYTE
C27 VAR BYTE
C28 VAR BYTE
C29 VAR BYTE
C30 VAR BYTE
C31 VAR BYTE
C32 VAR BYTE
C33 VAR BYTE
C34 VAR BYTE
C35 VAR BYTE
C36 VAR BYTE
C37 VAR BYTE
C38 VAR BYTE
C39 VAR BYTE
C40 VAR BYTE
C41 VAR BYTE
C42 VAR BYTE
C43 VAR BYTE
C44 VAR BYTE
C45 VAR BYTE
C46 VAR BYTE
C47 VAR BYTE
C48 VAR BYTE
C49 VAR BYTE
C50 VAR BYTE
C51 VAR BYTE
C52 VAR BYTE
C53 VAR BYTE
C54 VAR BYTE
C55 VAR BYTE
C56 VAR BYTE
C57 VAR BYTE
C58 VAR BYTE
C59 VAR BYTE
C60 VAR BYTE
C61 VAR BYTE
C62 VAR BYTE
C63 VAR BYTE
C64 VAR BYTE
C65 VAR BYTE
C66 VAR BYTE
C67 VAR BYTE
C68 VAR BYTE
C69 VAR BYTE
C70 VAR BYTE
C71 VAR BYTE
C72 VAR BYTE
C73 VAR BYTE
C74 VAR BYTE
C75 VAR BYTE
C76 VAR BYTE
C77 VAR BYTE
C78 VAR BYTE
C79 VAR BYTE
C80 VAR BYTE
C81 VAR BYTE
C82 VAR BYTE
C83 VAR BYTE
C84 VAR BYTE
C85 VAR BYTE
C86 VAR BYTE
C87 VAR BYTE
C88 VAR BYTE
C89 VAR BYTE
C90 VAR BYTE
C91 VAR BYTE
C92 VAR BYTE
C93 VAR BYTE
C94 VAR BYTE
C95 VAR BYTE
C96 VAR BYTE
C97 VAR BYTE
C98 VAR BYTE
C99 VAR BYTE
C100 VAR BYTE



PROG:
C1  = 1
c2  = 2
c3  = 4
c4  = 8
c5  = 16
c6  = 32
c7  = 64
c8  = 128

C9 = 1
C10 = 3
C11 = 6
C12 = 12
C13 = 24
C14 = 48
C15 = 96
C16 = 192

C17 = 3
C18 = 7
C19 = 14
C20 = 28
C21 = 56
C22 = 112
C23 = 224
C24 = 192

C25 = 1
C26 = 3
C27 = 7
C28 = 15
C29 = 31
C30 = 63
C31 = 127
C32 = 255

IF PORTA.1= 0 THEN
PAUSE 200
X = X + 1
ENDIF

IF X = 1 THEN
GOSUB ANIME1
ENDIF

IF X = 2 THEN
GOSUB ANIME2
ENDIF

IF X = 3 THEN
GOSUB ANIME3
ENDIF

IF X = 4 THEN
GOSUB ANIME4
ENDIF

IF PORTA.0 = 0 THEN
X = 0
ENDIF
Goto PROG

ANIME1:
FOR I = 1 TO 3
PORTB = c1
GOSUB TEMPO
PORTB = c2
GOSUB TEMPO
PORTB = c3
GOSUB TEMPO
PORTB = c4
GOSUB TEMPO
PORTB = c5
GOSUB TEMPO
PORTB = c6
GOSUB TEMPO
PORTB = c7
GOSUB TEMPO
PORTB = c8
GOSUB TEMPO
PORTB = 0
PORTA =%01111111
GOSUB TEMPO
PORTA =%10111111
GOSUB TEMPO
PORTA = 0
NEXT I
'RETURN

ANIME2:
FOR I = 1 TO  3
PORTB = c8
GOSUB TEMPO
PORTB = c7
GOSUB TEMPO
PORTB = c6
GOSUB TEMPO
PORTB = c5
GOSUB TEMPO
PORTB = c4
GOSUB TEMPO
PORTB = c3
GOSUB TEMPO
PORTB = c2
GOSUB TEMPO
PORTB = c1
GOSUB TEMPO
PORTB = 0
PORTA =%10111111
GOSUB TEMPO
PORTA =%01111111
GOSUB TEMPO
PORTA = 0
NEXT I
'RETURN

ANIME3:
FOR I = 1 TO  3
PORTB = c1
GOSUB TEMPO
PORTB = c2
GOSUB TEMPO
PORTB = c3
GOSUB TEMPO
PORTB = c4
GOSUB TEMPO
PORTB = c5
GOSUB TEMPO
PORTB = c6
GOSUB TEMPO
PORTB = c7
GOSUB TEMPO
PORTB = c8
GOSUB TEMPO
PORTB = 0
PORTA =%01111111
GOSUB TEMPO
PORTA =%10111111
GOSUB TEMPO

PORTA =%10111111
GOSUB TEMPO
PORTA =%01111111
GOSUB TEMPO
PORTA = 0
PORTB = 0
PORTB = c8
GOSUB TEMPO
PORTB = c7
GOSUB TEMPO
PORTB = c6
GOSUB TEMPO
PORTB = c5
GOSUB TEMPO
PORTB = c4
GOSUB TEMPO
PORTB = c3
GOSUB TEMPO
PORTB = c2
GOSUB TEMPO
PORTB = c1
NEXT I
'RETURN

ANIME4:
FOR I = 1 TO 10
PORTB=%11111111
PORTA=%11000000
gosub TEMPO                              
PORTB=000000
PORTA=111111
gosub TEMPO
NEXT I

ANIME5:
FOR I = 1 TO 5
PORTB = C9
GOSUB TEMPO
PORTB = C10
GOSUB TEMPO
PORTB = C11
GOSUB TEMPO
PORTB = C12
GOSUB TEMPO
PORTB = C13
GOSUB TEMPO
PORTB = C14
GOSUB TEMPO
PORTB = C15
GOSUB TEMPO
PORTB = C16
GOSUB TEMPO
PORTB = 0
PORTA =%11111111
GOSUB TEMPO
PORTA =111111
GOSUB TEMPO
NEXT I

ANIME6:
FOR I = 1 TO 5
PORTA =%11111111
GOSUB TEMPO
PORTA =111111
PORTA = 0
PORTB = C16
GOSUB TEMPO
PORTB = C15
GOSUB TEMPO
PORTB = C14
GOSUB TEMPO
PORTB = C13
GOSUB TEMPO
PORTB = C12
GOSUB TEMPO
PORTB = C11
GOSUB TEMPO
PORTB = C10
GOSUB TEMPO
PORTB = C9
GOSUB TEMPO
PORTB = 0
NEXT I

ANIME7:
FOR I = 1 TO 5
PORTA =%11111111
GOSUB TEMPO
PORTA =111111
'PORTA = 0
PORTB = C17
GOSUB TEMPO
PORTB = C18
GOSUB TEMPO
PORTB = C19
GOSUB TEMPO
PORTB = C20
GOSUB TEMPO
PORTB = C21
GOSUB TEMPO
PORTB = C22
GOSUB TEMPO
PORTB = C23
GOSUB TEMPO
PORTB = C24
GOSUB TEMPO
PORTB = 0
NEXT I

ANIME8:
FOR I = 1 TO 5
PORTA =%11111111
GOSUB TEMPO
PORTA =111111
'PORTA = 0
PORTB = C24
GOSUB TEMPO
PORTB = C23
GOSUB TEMPO
PORTB = C22
GOSUB TEMPO
PORTB = C21
GOSUB TEMPO
PORTB = C20
GOSUB TEMPO
PORTB = C19
GOSUB TEMPO
PORTB = C18
GOSUB TEMPO
PORTB = C17
GOSUB TEMPO
PORTB = 0
NEXT I


ANIME9:
FOR I = 1 TO 5
PORTB = C25
GOSUB TEMPO
PORTB = C26
GOSUB TEMPO
PORTB = C27
GOSUB TEMPO
PORTB = C28
GOSUB TEMPO
PORTB = C29
GOSUB TEMPO
PORTB = C30
GOSUB TEMPO
PORTB = C31
GOSUB TEMPO
PORTB = C32
GOSUB TEMPO
PORTB = 0 
PORTA =%01111111
GOSUB TEMPO
PORTA =%11111111
GOSUB TEMPO
PORTA = 0

NEXT I
RETURN

TEMPO:
FOR J = 0 TO 2
PAUSE 30
NEXT J
RETURN



Carregado de Pilhas Automático com PIC16F628A