Nuke - Elektro Bastlirna: Diskuzní fórum
Zobrazit předchozí téma :: Zobrazit následující téma
Autor
Zpráva
INKOGNITTO Založen: Dec 25, 2009 Příspěvky: 1
Zaslal: čt leden 07 2010, 16:42 Předmět: PIC 16F88 3x3 maticova klavesnica & 8 RGB LED
Zdravim, rad by som sa pochvalil s mojim najovsim vytvorom. Dufam, ze s nazvu, schemy a programu bude vsetko jasne, tak tu nebudem davat nejaky popis Este to fyzicky postavene nemam, ale dalsi tyzden pride programator, takze vtedy to uz bude. Nejake navrhy na zlepsenie, alebo zefektivnenie programu rad prijmem
kód:
LIST P=16F88
#include <p16f88.inc>
A1 EQU 21h
A2 EQU 22h
R1ON EQU 23h
G1ON EQU 24h
B1ON EQU 25h
R2ON EQU 26h
G2ON EQU 27h
B2ON EQU 28h
R3ON EQU 29h
G3ON EQU 2Ah
B3ON EQU 2Bh
R4ON EQU 2Ch
G4ON EQU 2Dh
B4ON EQU 2Eh
R5ON EQU 2Fh
G5ON EQU 30h
B5ON EQU 31h
R6ON EQU 32h
G6ON EQU 33h
B6ON EQU 34h
R7ON EQU 35h
G7ON EQU 36h
B7ON EQU 37h
R N EQU 38h
G N EQU 39h
B N EQU 3Ah
LEDSET EQU 3Bh
#DEFINE IN1 PORTA,0
#DEFINE IN2 PORTA,5
#DEFINE IN3 PORTA,7
#DEFINE OUT1 PORTA,6
#DEFINE OUT2 PORTB,6
#DEFINE OUT3 PORTB,7
;OUT 1 2 3
;IN
;1 R-UP G-UP B-UP
;2 R-DN G-DN B-DN
;3 PREW NEXT RESET
_INTOSC_OSC_NOCLKOUT EQU H'3FFC'
ORG 0x2007 ; adresa konfiguracie PIC16F88
dw _BODEN_OFF & _CPD_OFF & _CP_OFF & _PWRTE_OFF & _WDT_OFF & _LVP_OFF & _INTOSC_OSC_NOCLKOUT & _DEBUG_OFF & _MCLR_OFF & _WRT_PROTECT_OFF & _INTRC_IO
ORG 0
GOTO START
ORG 4
GOTO START
START
BCF STATUS,RP0
CLRF STATUS
BANKSEL OSCCON
BSF OSCCON,IRCF2
BSF OSCCON,IRCF1
BSF OSCCON,IRCF0
BSF STATUS,RP0
MOVLW 0x00 ; Configure all pins
MOVWF ANSEL ; as digital inputs
MOVLW B'00000000'
MOVWF OPTION_REG
MOVLW B'00000000'
MOVWF TRISB
MOVLW B'10100001'
MOVWF TRISA
BCF STATUS,RP0
CLRF PORTB
CLRF PORTA
MOVLW .1
MOVWF R1ON
MOVWF B1ON
MOVWF G1ON
MOVWF R2ON
MOVWF B2ON
MOVWF G2ON
MOVWF R3ON
MOVWF B3ON
MOVWF G3ON
MOVWF R4ON
MOVWF B4ON
MOVWF G4ON
MOVWF R5ON
MOVWF B5ON
MOVWF G5ON
MOVWF R6ON
MOVWF B6ON
MOVWF G6ON
MOVWF R7ON
MOVWF B7ON
MOVWF G7ON
MOVWF R N
MOVWF B N
MOVWF G N
MOVWF LEDSET
GOTO PROGRAM
PROGRAM
;klavesnica
BCF OUT2
BCF OUT3
BSF OUT1
BTFSC IN1
GOTO RUP
BTFSC IN2
GOTO RDN
BTFSC IN3
GOTO PREW
BCF OUT1
BSF OUT2
BTFSC IN1
GOTO GUP
BTFSC IN2
GOTO GDN
BTFSC IN3
GOTO NEXT
BCF OUT2
BSF OUT3
BTFSC IN1
GOTO BUP
BTFSC IN2
GOTO BDN
BTFSC IN3
GOTO RESETT
GOTO JADRO
JADRO
CLRF PORTB
BSF PORTA,2
BSF PORTA,3
BSF PORTA,4
BSF PORTA,1
CALL LEDKY
GOTO PROGRAM
LEDKY
;LED1
;RED1
BCF PORTA,2
BSF PORTB,0
MOVFW R1ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,0
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;GREEN1
BCF PORTB,0
BSF PORTB,1
MOVFW G1ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,1
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;BLUE1
BCF PORTB,1
BSF PORTB,2
MOVFW B1ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,2
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;LED2
;RED
BSF PORTA,2
BCF PORTA,3
BCF PORTB,2
BSF PORTB,0
MOVFW R2ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,0
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;GREEN
BCF PORTB,0
BSF PORTB,1
MOVFW G2ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,1
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;BLUE
BCF PORTB,1
BSF PORTB,2
MOVFW B2ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,2
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;LED3
;RED
BSF PORTA,3
BCF PORTA,4
BCF PORTB,2
BSF PORTB,0
MOVFW R3ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,0
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;GREEN
BCF PORTB,0
BSF PORTB,1
MOVFW G3ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,1
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;BLUE
BCF PORTB,1
BSF PORTB,2
MOVFW B3ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,2
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;LED4
;RED
BSF PORTA,4
BCF PORTA,1
BCF PORTB,2
BSF PORTB,0
MOVFW R4ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,0
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;GREEN
BCF PORTB,0
BSF PORTB,1
MOVFW G4ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,1
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;BLUE
BCF PORTB,1
BSF PORTB,2
MOVFW B4ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,2
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;LED5
;RED1
BSF PORTA,1
BCF PORTA,2
BSF PORTB,3
MOVFW R5ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,3
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;GREEN1
BCF PORTB,3
BSF PORTB,4
MOVFW G5ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,4
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;BLUE1
BCF PORTB,4
BSF PORTB,5
MOVFW B5ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,5
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;LED6
;RED
BSF PORTA,2
BCF PORTA,3
BCF PORTB,5
BSF PORTB,3
MOVFW R6ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,3
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;GREEN
BCF PORTB,3
BSF PORTB,4
MOVFW G6ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,4
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;BLUE
BCF PORTB,4
BSF PORTB,5
MOVFW B6ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,5
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;LED7
;RED
BSF PORTA,3
BCF PORTA,4
BCF PORTB,5
BSF PORTB,3
MOVFW R7ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,3
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;GREEN
BCF PORTB,3
BSF PORTB,4
MOVFW G7ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,4
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;BLUE
BCF PORTB,4
BSF PORTB,5
MOVFW B7ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,5
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;LED8
;RED
BSF PORTA,4
BCF PORTA,1
BCF PORTB,2
BSF PORTB,0
MOVFW R4ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,0
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;GREEN
BCF PORTB,0
BSF PORTB,1
MOVFW G4ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,1
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
;BLUE
BCF PORTB,1
BSF PORTB,2
MOVFW B4ON
MOVWF A1
MOVWF A2
CALL CAKAJ
BCF PORTB,2
MOVLW .255
MOVWF A1
MOVWF A2
CALL CAKAJ
RETURN
CAKAJ
DECFSZ A1
GOTO $-1
DECFSZ A2
GOTO $-1
RETURN
;RED UP/DN
RUP
MOVLW .1
CALL REDINC
BTFSC STATUS,2
CALL REDDEC
GOTO JADRO
RDN
MOVLW .1
CALL REDDEC
BTFSC STATUS,2
CALL REDINC
GOTO JADRO
REDDEC
BTFSC LEDSET,0
SUBWF R1ON
BTFSC LEDSET,1
SUBWF R2ON
BTFSC LEDSET,2
SUBWF R3ON
BTFSC LEDSET,3
SUBWF R4ON
BTFSC LEDSET,4
SUBWF R5ON
BTFSC LEDSET,5
SUBWF R6ON
BTFSC LEDSET,6
SUBWF R7ON
BTFSC LEDSET,7
SUBWF R N
RETURN
REDINC
BTFSC LEDSET,0
ADDWF R1ON
BTFSC LEDSET,1
ADDWF R2ON
BTFSC LEDSET,2
ADDWF R3ON
BTFSC LEDSET,3
ADDWF R4ON
BTFSC LEDSET,4
ADDWF R5ON
BTFSC LEDSET,5
ADDWF R6ON
BTFSC LEDSET,6
ADDWF R7ON
BTFSC LEDSET,7
ADDWF R N
RETURN
;GREEN UP/DN
GUP
MOVLW .1
CALL GREENINC
BTFSC STATUS,2
CALL GREENDEC
GOTO JADRO
GDN
MOVLW .1
CALL GREENDEC
BTFSC STATUS,2
CALL GREENINC
GOTO JADRO
GREENDEC
BTFSC LEDSET,0
SUBWF G1ON
BTFSC LEDSET,1
SUBWF G2ON
BTFSC LEDSET,2
SUBWF G3ON
BTFSC LEDSET,3
SUBWF G4ON
BTFSC LEDSET,4
SUBWF G5ON
BTFSC LEDSET,5
SUBWF G6ON
BTFSC LEDSET,6
SUBWF G7ON
BTFSC LEDSET,7
SUBWF G N
RETURN
GREENINC
BTFSC LEDSET,0
ADDWF G1ON
BTFSC LEDSET,1
ADDWF G2ON
BTFSC LEDSET,2
ADDWF G3ON
BTFSC LEDSET,3
ADDWF G4ON
BTFSC LEDSET,4
ADDWF G5ON
BTFSC LEDSET,5
ADDWF G6ON
BTFSC LEDSET,6
ADDWF G7ON
BTFSC LEDSET,7
ADDWF G N
RETURN
;BLUE UP/DN
BUP
MOVLW .1
CALL BLUEINC
BTFSC STATUS,2
CALL BLUEDEC
GOTO JADRO
BDN
MOVLW .1
CALL BLUEDEC
BTFSC STATUS,2
CALL BLUEINC
GOTO JADRO
BLUEDEC
BTFSC LEDSET,0
SUBWF B1ON
BTFSC LEDSET,1
SUBWF B2ON
BTFSC LEDSET,2
SUBWF B3ON
BTFSC LEDSET,3
SUBWF B4ON
BTFSC LEDSET,4
SUBWF B5ON
BTFSC LEDSET,5
SUBWF B6ON
BTFSC LEDSET,6
SUBWF B7ON
BTFSC LEDSET,7
SUBWF B N
RETURN
BLUEINC
BTFSC LEDSET,0
ADDWF B1ON
BTFSC LEDSET,1
ADDWF B2ON
BTFSC LEDSET,2
ADDWF B3ON
BTFSC LEDSET,3
ADDWF B4ON
BTFSC LEDSET,4
ADDWF B5ON
BTFSC LEDSET,5
ADDWF B6ON
BTFSC LEDSET,6
ADDWF B7ON
BTFSC LEDSET,7
ADDWF B N
RETURN
NEXT
BTFSC LEDSET,0
MOVLW .2
BTFSC LEDSET,1
MOVLW .4
BTFSC LEDSET,2
MOVLW .8
BTFSC LEDSET,3
MOVLW .16
BTFSC LEDSET,4
MOVLW .32
BTFSC LEDSET,5
MOVLW .64
BTFSC LEDSET,6
MOVLW .128
BTFSC LEDSET,7
MOVLW .1
MOVWF LEDSET
GOTO JADRO
PREW
BTFSC LEDSET,0
MOVLW .128
BTFSC LEDSET,1
MOVLW .1
BTFSC LEDSET,2
MOVLW .2
BTFSC LEDSET,3
MOVLW .4
BTFSC LEDSET,4
MOVLW .8
BTFSC LEDSET,5
MOVLW .16
BTFSC LEDSET,6
MOVLW .32
BTFSC LEDSET,7
MOVLW .64
MOVWF LEDSET
GOTO JADRO
RESETT
MOVLW .1
MOVWF R1ON
MOVWF B1ON
MOVWF G1ON
MOVWF R2ON
MOVWF B2ON
MOVWF G2ON
MOVWF R3ON
MOVWF B3ON
MOVWF G3ON
MOVWF R4ON
MOVWF B4ON
MOVWF G4ON
MOVWF R5ON
MOVWF B5ON
MOVWF G5ON
MOVWF R6ON
MOVWF B6ON
MOVWF G6ON
MOVWF R7ON
MOVWF B7ON
MOVWF G7ON
MOVWF R N
MOVWF B N
MOVWF G N
MOVLW B'00000001' ;LED0
MOVWF LEDSET
GOTO JADRO
END
Komentář:
Stáhnout
Soubor:
schema.jpg
Velikost:
288.7 kB
Staženo:
145 krát
Návrat nahoru
Bernard Založen: May 27, 2005 Příspěvky: 3647
Zaslal: čt leden 07 2010, 22:25 Předmět:
Promiň, INKOGNITTO , ten off-topic, já se v PICech nevyznám, ale v tom zdrojáku vidím smajly "Shocked", a to mě šokuje. Snad ty meta-tagy Code tu slouží na to, aby se zobrazil text jak byl napsán, ale postupnosti znaků "8" a "O" to zkrátka neodolá.
kód:
Návrat nahoru
daymoon Založen: Dec 26, 2009 Příspěvky: 12 Bydliště: Brno
Zaslal: pá leden 08 2010, 6:56 Předmět:
Příliš mnoho opakujícího se kódu. Je to dlouhý jak tejden a furt tam vidím ty samý kontrukce jednu za druhou.
Nechtěl bych takový program upravovat ani za svět.
Návrat nahoru
Nemůžete odesílat nové téma do tohoto fóra.Nemůžete odpovídat na témata v tomto fóru.Nemůžete upravovat své příspěvky v tomto fóru.Nemůžete mazat své příspěvky v tomto fóru.Nemůžete hlasovat v tomto fóru.Nemůžete připojovat soubory k příspěvkůmMůžete stahovat a prohlížet přiložené soubory
Powered by phpBB © 2001, 2005 phpBB Group
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB. Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the . PHP-Nuke comes with absolutely no warranty, for details, see the . Čas potřebný ke zpracování stránky 0.28 sekund