PIC: Porovnání verzí

Z MediaWiki SPŠ a VOŠ Písek
Skočit na navigaci Skočit na vyhledávání
 
(Není zobrazena jedna mezilehlá verze od stejného uživatele.)
Řádek 22: Řádek 22:
<gallery>
<gallery>
Soubor:D10_HW_presto.jpg|Programátor: [[PRESTO]] SW: [[UP]]
Soubor:D10_HW_presto.jpg|Programátor: [[PRESTO]] SW: [[UP]]
Soubor:D10_HW_019.jpg|HW:[http://www.asix.cz/a6picquick.htm PICQUICK] SW:[[UP]]
Soubor:D10_HW_019.jpg|Programátor: [http://www.asix.cz/a6picquick.htm PICQUICK] SW:[[UP]]
</gallery>
</gallery>


Řádek 51: Řádek 51:




[[Soubor:PIC-flasing-LED.jpg|200px|link=http://embedded-lab.com/blog/?p=148|Lab 1: Flashing an LED]
[[Soubor:PIC-flasing-LED.jpg|200px|link=http://embedded-lab.com/blog/?p=148|Lab 1: Flashing an LED]]


== www ==
== www ==

Aktuální verze z 4. 9. 2018, 10:43

Mikrořadiče PIC16F84PIC16F627PIC16F628PIC16F88

  • Vlastnosti: Technologie CMOS.
  • Hardwardská architektura (rozdělená paměť na paměť pro program a pro data)
  • Redukovaná instrukční sada (RICS) tj. že mají omezený počet instrukcí(35).


Development board

IDE (Integrated Development Environment)

Programmers

Škola programování Pandatron

Škola programování 8bit


Lab 1: Flashing an LED

www

Book: PIC Microcontrollers

Zapojení s PIC

náměty z N:/janousek/39_PIC_PIC16c84 a jiné

e

Blinkin LED

List P = 16F84
#include <p16F84.inc>
__CONFIG 1Bh    ;_CP_OFF & _PWRTE_ON & _WDT_OFF & _RC_OSC

       ORG 0           ;start program

INIT:  BSF STATUS, RP0  ;5. bit na adrese 03 Výběr banky 1
       BCF TRISB,0      ; Nastavení 0. bitu na bráně B jako výstupní  
       BCF STATUS, RP0  ; Výběr banky 0
       BCF PORTB,0      ; Vynulování 0. bitu na bráně B
       GOTO Main

MAIN:  BSF PORTB,0     ; Rozsvítí LED na B0
       CALL DELAY      ; Zavolá podprogram zpoždění 
       BCF PORTB,0     ; Zhasne LED na B0
       CALL DELAY      ; Zavolá podprogram zpoždění
       GOTO MAIN       ; Zpět na start

DELAY: DECFSZ 1A,1     ; Zpoždění cca 250 ms
       GOTO DELAY
       DECFSZ 1B,1
       GOTO DELAY
       RETURN
END
void main() {
unsigned short temp = 0;
unsigned int i;

  TRISB = 0 ;
  PORTB = 0 ;

  while(1) {

     temp = ~temp;
     if (temp) {
        setBit(PORTB,0);
     } else {
        resBit(PORTB,0);
     }
     Delay_ms(100);
  } ; 
}