Category: PIC ontwikkelbordje

PIC ontwikkelbordje

Mijn K8048 development bordje werkte gisteren weeral tegen toen ik snel een knightrider wilde testen. Daarom heb ik die toen in een hoekje gesmeten en snel een nieuw bordje ontworpen dat op mijn galvawisp komt. Vandaag heb ik dat printje ge-etst en bestukt. De microcontroller is een 16F628A. Op port A hangen 8 dipswitchen en op port B hangen 8 leds.

Schema:

Schema PIC ontwikkelbordje

PCB:

pcb PIC ontwikkelbordje

De pcb layout als pdf: Link.

Foto’s:

foto PIC ontwikkelbordje

foto PIC ontwikkelbordje

Code knightrider die ik voor het testen heb gebruikt:

'****************************************************************
'*                      knightrider                             *
'*                                                              *
'*  Auteur  : Stijn Coenen [Stynus]                             *
'*  Notice  : Copyright (c) 2008 Stijn Coenen                   *
'*          : All Rights Reserved                               *
'*  Datum   : 29/05/2008                                        *
'*  Version : 1.0                                               *
'*  Website : www.elektronicastynus.be                          *
'****************************************************************
'Config
    Device 16F628A               
    Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
    ALL_DIGITAL TRUE                ;Alle ingangen digitaal
'****************************************************************
'Ingangen declareren
    Symbol switch   = PORTA
    Symbol sw1      = PORTA.7
    Symbol sw2      = PORTA.6
    Symbol sw3      = PORTA.5
    Symbol sw4      = PORTA.4
    Symbol sw5      = PORTA.3
    Symbol sw6      = PORTA.2
    Symbol sw7      = PORTA.1
    Symbol sw8      = PORTA.0
    'TrisA register instellen (alles ingang)
    TRISA           = 255 
'****************************************************************
'Uitgangen declareren
    Symbol ledjes   = PORTB
    Symbol led1     = PORTB.7
    Symbol led2     = PORTB.6
    Symbol led3     = PORTB.5
    Symbol led4     = PORTB.4
    Symbol led5     = PORTB.3
    Symbol led6     = PORTB.2
    Symbol led7     = PORTB.1
    Symbol led8     = PORTB.0
    'TrisB register instellen (alles uitgang)
    TRISB = 0                       
'****************************************************************    
'Decraraties voor programma:
    Symbol LedTijd  = 70 'doorschuif snelheid LED    
    Dim    index    As Byte
    ledjes          = %10000000 '1 led aanzetten
'****************************************************************
'Hoofdprogramma                                               
    While 1 = 1                     'Oneindige loop
        'Links schuiven
        For index = 0 To 6          'Uitvoren tot dat index 6 is
            ledjes = ledjes >> 1    'Ledjes naar rechts doorschuiven
            DelayMS LedTijd         'Wachten
        Next
        'Rechts schuiven
        For index = 0 To 6          'Uitvoren tot dat index 6 is
            ledjes = ledjes << 1    'Ledjes naar links doorschuiven
            DelayMS LedTijd         'Wachten
        Next       
    Wend
'****************************************************************
End                  

De hex file: link

Filmpje van de knightrider in actie: