Silicon labs - C8051F410DK

Kezdő lépések

Kit üzembe helyezése

  • Jumperek ellenőrzése
  • Debug adapter csatlakoztatása a target board-hoz
  • Debug adapter összekötése a számítógéppel
  • Hálózati adapter bekötése a target boardra
  • (Kikapcsolás fordított sorrendben)

Új projekt létrehozása

  • Projekt menü/új projekt
    • Device family: C8051F410x
    • Project Name / Location kiválasztása.
      A fájl útvonal nem tartalmazhat ékezetes karaktert, azt az SDCC nem tudja megfelelően kezelni!
    • Project Type: Blank Project
    • Üres C fájl létrehozása a projekt könyvtárában
      File/New File... -> C source file
    • Létrehozott C fájl hozzáadása a Source Files ágba
    • Jobb gomb a fájlra, majd "Add *** to build"
      Add Basic.c to build
    • C8051F410.h fájl bemásolása a projekt könyvtárba
      A fájl elérhető itt:: C:\Program Files\SDCC\include\mcs51
    • Szükség esetén a Tool Chain Integration-ban kiválasztani az SDCC 3.x fordítót
      • Assembler: C:\Program Files\SDCC\bin\sdas8051.exe
      • Compiler: C:\Program Files\SDCC\bin\sdcc.exe
      • Linker: C:\Program Files\SDCC\bin\sdcc.exe

Mikrovezérlő konfigurállása

  • Config Wizard 2 indítása
  • Mikrovezérlő kiválasztása: C8051F41x / C8051F410
  • Watchdog kikapcsolása: PCA / Module5/WDT / NOT: Enable Watchdog timer
    A projektek nagy részében nem fogjuk használni
  • Port IO beállítása
    • Enable Crossbar
    • Használt funkciók kiválasztása
    • Kimenetek Push-Pull-ra (pl. a LED-ek: P2.1m p2.3)
  • Konfiguráció mentése
  • Generált kód beszúrása a c forrásfájlba
    #include "C8051F410.h"
    // note: new config wizards may want to include differently named header file
    
    // Peripheral specific initialization functions,
    // Called from the Init_Device() function
    void PCA_Init()
    {
        PCA0MD    &= ~0x40;
        PCA0MD    = 0x00;
    }
    
    void Port_IO_Init()
    {
        // ...
        P2MDOUT   = 0x0A;
        XBR1      = 0x40;
    }
    
    // Initialization function for device,
    // Call Init_Device() from your main program
    void Init_Device(void)
    {
        PCA_Init();
        Port_IO_Init();
    }
    
  • Megjegyzés: a 4.10-es ConfigWizard a kódba ezt a sort szúrja be: #include "C8051F410_defs.h", e miatt a fordító nem a megfelelő fájlt fogja keresni. Vagy ezt a sort kell átírni, vagy a header fájl nevét kell kijavítani.
  • A generált kódot célszerű lehet egy külön header fájlba menteni, és azt az #include segítségével hivatkozni a kódból

Program írása

  • Speciális portlábak definiálása (célszerű a generált kód mögé)
    #define LED1 P2_1
    #define LED2 P2_3
    
    #define SW2 P1_4
    #define SW3 P1_5
    
  • Saját program megírása
    void main()
    {
    	Init_Device();
    
    	while(1)
    	{
    		if (!SW2)
    		{
    			LED1 = 1;
    			LED2 = 0;
    		}
    
    		if (!SW3)
    		{
    			LED1 = 0;
    			LED2 = 1;
    		}
    	}
    
    }
    

Program fordítása, letöltése

  • Debug adapter kiválasztása: Options / Connection Options / C2 (egyszer egy projektben)
  • Csatlakozás (egyszer elég)
  • Fordítás: Rebuild all (Ctrl+Shift+F7)
  • OMF fájl kiválasztása (Project / Target Build Configuration / Absolute OMF file name / Egyetlen omf kiterjesztésű fájl kiválasztása)
  • Download Code (Alt+D)
  • Go (F5)

További információk

Jumperek

# Leírás Alaphelyzet Megjegyzés
J1 AIN0 bemenet bekötése P1.7-re closed Alapból nincs bekapcsolva
J2 Analóg csatlakozók -
J3 AIN1 bemenet bekötése a P1.6-ra closed Alapból nincs bekapcsolva
J4 Debug adapter csatlakozó -
J5 Nyomógombok és LED-ek engedélyezése all closed
J6 IDAC1V kimenet bekötése az AIN1-re open
J7 Tápfeszültségek kivezetése -
J8 RS232 port -
J9 3,3 V-os stab IC tápjának kiválasztása: VUNREG/5VEC3 VUNREG 5VEC3: Debug adapterről jön
J10 3VD engedélyezése closed
J11 Portok kivezetése -
J12 VREGIN forrásának kiválasztása (+3VD. 5VEC3. VREG); engedélyezés closed: VREG, VREGIN_EN Alapból +3VD, de lényegében mindegy
J13 P0.0 bekötése az IDAC0V-re open Akkor van rá szükség, hogy ha az analóg kimenetet használni kívánjuk
J14 P0.1 bekötése az IDAC1V-re open Akkor van rá szükség, hogy ha az analóg kimenetet használni kívánjuk
J15 VDD rákötése a potencióméterre open Szükség van rá, ha a potenciómétert használjuk
J16 IDAC0V rákötése az AIN0-ra open
J17 VIO kiválasztása (5VEC3, +3VD, VREG, VDD); engedélyezés closed: VREG, VIO_EN Alapból rosszul van jumperelve
J18 P0.1 port engedélyeése a csatlakozón closed Ha kvarc van beforrasztva, le kell szedni a jumpereket.
J19 VREG bekapcsolása, kikapcsolása not GND
J20 Tápfeszültség kivezetés -
J21 VREG engedélyezése és beállítása closed: VREG_, 5.25V Alapból 2,5 V
J22 VREFIN bekötése a P1.2/VREf-re open Alapból closed. Nem lényeges.
J23 VDD LED closed
J24 VREGIN LED closed
J25 Poti rákötése az AIN1-re open
J26 Óra kvarc open
J27 UART bekötése closed: TX, RX
open: RTS, CTS
J28 VREF pufferkondik wire
J29 VBAT engedélyezése closed
J30 VBAT forrása HOLD
J31 Nem beforrasztott open
J32 VDD engedélyezése closed
J33 VIO LED closed