dic systmy vrobnch stroj a zazen 2 kali
Řídicí systémy výrobních strojů a zařízení #2
Říkali jsme si. . . Předpoklady práce s μP Základní představa o funkci počítače - CPU, paměť, I/O, bus, stack, interrupt, - adresa, registr, ALU, . . . Číselné soustavy (dekadická, hexadecimální) Základní znalost programování, IDE - zdrojový kód, binární kód, pseudo/instrukce - editor, assembler, linker, locater, debugger Kódování čísel typu integer (signed, unsigned) - přetečení, příznaky (carry, zero, overflow)
Zdrojový kód x Strojový kód - "srozumitelný" počítači - tvořen bitovými obrazci (nulami a jedničkami) které definují činnost procesoru jako instrukce - procesor může rozdekódovat jakýkoliv bitový obrazec jako instrukci ? ? bude dávat smysl ? Zdrojový kód - "srozumitelný" člověku - nejnižší forma - assembler jeden příkaz - jedna instrukce
Programování, algoritmizace Algoritmus - popis řešení úlohy daného typu Charakteristiky algoritmu - mechanický nemusím vědět proč, stačí vykonat - diskrétní poskládaný z proveditelných kroků - hromadný použitelný na řadu obdobných úloh - deterministický určenost pokračování po skončení každého - konečný nemáme možnost čekat věčně kroku jednoznačně určeno, jak - správný souvisí sejeschopností ověřit výsledek se bude pokračovat
Programování, algoritmizace Prvky algoritmu programové prostředky sekvence (přiřazovací příkazy, podprogramy) selekce (rozhodování, větvení programu) iterace (opakování, programové cykly) rekurze našeho (zpětné vnořování podprogramů) pozor na stack ! Možnosti assembleru iterace = selekce a příkaz skoku BTFSC, BTFSS + GOTO (po instrukcích ovlivňujících Carry flag) ADDWF, SUBWF, resp. ADDLW, SUBLW event. RLF, RRF
Instrukce a pseudoinstrukce Instrukce v daném programovacím jazyce - bude překladačem převedena na jednu nebo více instrukcí strojového kódu Pseudoinstrukce - obsahuje pomocnou informaci pro překladač - nemá přímý ekvivalent ve strojovém kódu Příklady pseudoinstrukcí - include (vložení souboru do zdrojového kódu) - ORG (definice umístění instrukce v paměti) - EQU (náhrada symbolu textovým řetězcem)
Programování - typické chyby Nerespektování některé z vlastností algoritmu - determinovanost - špatně definovaný průchod programem (neinicializované proměnné) - hromadnost - špatně stanovená třída přípustných úloh - správnost / úplnost - špatný rozbor možných případů (program nerozpoznal a nevyloučil situaci, na kterou není stavěn)
Programování - typické chyby Nerespektování některé z vlastností algoritmu - konečnost - program se zacyklil (špatné podmínky konce cyklu, přetečení) Chybné programátorské postupy - vedlejší účinky podprogramů - chybné hospodaření se sdílenými proměnnými - nerespektování rozsahů a typů proměnných - chybná adresace proměnné
Děkuji za pozornost
- Slides: 10