Laboratorium Programowania Kart Elektronicznych



Podobne dokumenty
Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Automatyzacja pracy w AutoCAD

Laboratorium Programowania Kart Elektronicznych

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Programowanie mikrokontrolerów - laboratorium

LibreOffice Calc VBA

4.1. Analiza AWN jest dokonywana na poziomie VBA

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

INSTRUKCJA SKOKU GOTO

Ćwiczenia 2 IBM DB2 Data Studio

Platforma.NET laboratorium 1. Visual Basic.NET podstawowe elementy języka. Wykonanie warunkowe If End If

Wprowadzenie do programowania w VBA

Laboratorium Programowania Kart Elektronicznych

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Class1.vb. _Dlugosc_stopnia = value End Set End Property Public Property Faza As Single Get Return _Faza End Get

Laboratorium Programowania Kart Elektronicznych

Materiały do laboratorium MS ACCESS BASIC

Technologia informacyjna programowanie Janusz Uriasz

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Programowanie obiektowe

Technologie informacyjne: Excel i VBA

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Visual Basic dla AutoCAD

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Instrukcje sterujące. Programowanie komputerowe

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Tworzenie aplikacji w języku Java

Programowanie obiektowe

Instrukcje cykliczne (pętle) WHILE...END WHILE

Wprowadzenie do języka Java

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Procedury i funkcje. Programowanie komputerowe

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

Programowanie mikrokontrolerów - laboratorium

Programowanie obiektowe w VB cz 2

Algorytmika i Programowanie VBA 1 - podstawy

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Laboratorium Programowania Kart Elektronicznych

Visual Basic for Application (VBA)

Visual Basic for Applications. Wstęp

Podstawowe części projektu w Javie

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

01 grid tablica grid. Copyright 2017, mgr inż. Janusz Bonarowski 1

Ćwiczenie 1. Przygotowanie środowiska JAVA

Cheatsheet PL/SQL Andrzej Klusiewicz 1/9

Visual Basic for Application (VBA)

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Programowanie w VB Proste algorytmy sortowania

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Języki formalne i techniki translacji

Automatyzacja plików graficznych

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

Podstawy techniki mikroprocesorowej

Visual Basic Debugging and Error Handling

Programowanie RAD Delphi

Visual Basic for Application (VBA)

Java Platform Micro Edition

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

Laboratorium Programowania Kart Elektronicznych

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Składnia języka EPL. EUCIP Programming Language

Ada-95. Dariusz Wawrzyniak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Zmienne, stałe i operatory

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

Materiały pomocnicze do zajęć z przedmiotu Projekt ADP

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Bloki anonimowe w PL/SQL

Palindromy. Przykładowe rozwiązanie

Laboratorium Programowania Kart Elektronicznych

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min)

Zasady Programowania Strukturalnego

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Obsługa blędów i zewnętrznych plików

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Projektowanie aplikacji internetowych laboratorium

Programowanie obiektowe

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

Visual Basic dla Aplikacji

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

1 Atrybuty i metody klasowe

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Laboratorium Programowania Kart Elektronicznych

Redis, skrypty w języku Lua

Java. Programowanie Obiektowe Mateusz Cicheński

Microsoft IT Academy kurs programowania

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Transkrypt:

Laboratorium Programowania Kart Elektronicznych Programowanie BasicCard Marek Gosławski

Przygotowanie do zajęć dokumentacja ZeitControl BasicCard środowisko programistyczne karta BasicCard Potrzebne wiadomości język angielski w stopniu pozwalającym na czytanie dokumentacji technicznej składnia poleceń i odpowiedzi APDU podstawowa znajomość składni języka Basic

Oprogramowanie środowisko ZeitControl Professional Development Environment (zcpde.exe) ZC-Basic Compiler (ZCMBasic.exe) BasicCard Program Debugger (ZCMDCard.exe) Terminal Program Debugger (ZCMDTerm.exe) MultiSimulator (ZCMSIM.EXE) program karta terminal

Rodzaje plików aplikacje (*.BAS) obrazy (*.IMG) pliki debuggera (*.DBG) pliki programów karty (*.ZCC)

Stany karty NEW LOAD, PERS, TEST RUN między stanami LOAD, PERS, TEST można przechodzić dowolną liczbę razy po przejściu do stanu RUN nie można przejść do innego stanu!

Rodzaje pamięci eeprom pamięć stała, odpowiednik twardego dysku, dostępna globalnie (dostępna dla każdej procedury w programie) public pamięć ulotna (RAM), dostępna kiedy karta jest zasilana, dostępna globalnie (dostępna dla każdej procedury w programie),

Rodzaje pamięci static pamięć ulotna (RAM), dostępna kiedy karta jest zasilana, dostępna lokalnie (dostępna dla procedury w której została zadeklarowana), private pamięć ulotna (RAM), dostępna w czasie wykonywania procedury, w której została zadeklarowana, dostępna lokalnie (dostępna dla procedury w której została zadeklarowana)

Elementy języka Basic typy danych Byte, Integer, Long, Single, String, String*n Tablice deklaracje danych Eeprom S1 As String*5 = ABC Padded with two NULL bytes Public S2 As String*3 = &H81, &H82, &H83 Private S3 As String*7 = 3, 4, XYZ Dim A1() Rem This is equivalent to: Rem Private S3 As String*7 = 3, 4, 88, 89, 90, 0, 0

Elementy języka Basic wyrażenia X + 5 Apply + (addition) to terms X and 5 A(I) * Rnd Apply * (multiplication) to terms A(I) and Rnd S$ + 0 Apply + (concatenation) to terms S$ and 0 przypisania Let Y = X + 5 polecenia kontrolujące działanie programu Exit label1: GoTo label1 label2: GoSub label2 If X = 0 Then GoTo 100 If X = 0 Then Y = 0 : If Z = 0 Then GoTo 100 ' Can be nested If X < 0 Then X = 0 ElseIf X > 50 Then X = 50

Elementy języka Basic polecenia kontrolujące działanie programu For I = 1 To 2 : For J = 1 To 2 Print 10*I + J : Exit For Next I, J While... Wend Do... Loop Select Case... End Select On... GoTo...

Elementy języka Basic procedury, funkcje, polecenia, blok inicjujący (poza definicją procedury, funkcji lub polecenia) Function Square (X!) As Single Square = X! * X! End Function Sub S() Y! = Square (5.5) End Sub Command &H20 &H00 HelloWorld (ReturnValue$)

Elementy języka Basic polecenia specyficzne dla Terminala Cls Print InKey$... CardReader, CardInReader, ResetCard WriteEeprom...

Przykłady program karty Declare ApplicationID = "HelloWorld" Public SHelloWorld As String = "Hello World! Command &H20 &H00 HelloWorld (ReturnValue$) ReturnValue$ = SHelloWorld End Command program terminala #Include CARDUTIL.DEF #Include COMMERR.DEF Declare Command &H20 &H00 HelloWorld (ReturnValue$) Public S$ as String Call WaitForCard() ResetCard : Call CheckSW1SW2() Call HelloWorld(S$) : Call CheckSW1SW2() Print S$

Zadania program Hello <student> (3 warianty) symulator (program i screeny) karta (logi komunikacji z kartą) BalanceReader (program + foto, ew. demonstracja) przesłanie na adres: marek.goslawski@put.poznan.pl Zadanie 1: Hello <student> symulator Zadanie 2: Hello <student> karta Zadanie 3: Hello <student> BalanceReader wysłać na adres: marek.goslawski@put.poznan.pl

Uruchomienie środowiska karty (ZCMDCard.exe) kompilacja Zadanie 1: Hello <student> symulator Zadanie 2: Hello <student> karta Zadanie 3: Hello <student> BalanceReader wysłać na adres: marek.goslawski@put.poznan.pl

Uruchomienie środowiska terminala (ZCMDTerm.exe) Zadanie 1: Hello <student> symulator Zadanie 2: Hello <student> karta Zadanie 3: Hello <student> BalanceReader wysłać na adres: marek.goslawski@put.poznan.pl

Zadanie 1: Hello <student> symulator Zadanie 2: Hello <student> karta Zadanie 3: Hello <student> BalanceReader wysłać na adres: marek.goslawski@put.poznan.pl

Załadowanie programu do pamięci karty *.img lub *.dbg kompilacja dla właściwej wersji karty! Zadanie 1: Hello <student> symulator Zadanie 2: Hello <student> karta Zadanie 3: Hello <student> BalanceReader wysłać na adres: marek.goslawski@put.poznan.pl

Sprawdzenie działania programu na karcie Zadanie 1: Hello <student> symulator Zadanie 2: Hello <student> karta Zadanie 3: Hello <student> BalanceReader wysłać na adres: marek.goslawski@put.poznan.pl

BalanceReader command &HC8 &H00 PRDisplay źródło: http://www.basiccard.com/ Zadanie 1: Hello <student> symulator Zadanie 2: Hello <student> karta Zadanie 3: Hello <student> BalanceReader wysłać na adres: marek.goslawski@put.poznan.pl

marek.goslawski@put.poznan.pl +48 61 665 3680 +48 694 949 750 pl. Marii Skłodowskiej-Curie 5 (Wilda) Budynek B1 (Rektorat), pok. 405 http://mcp.poznan.pl/