PIC: Porovnání verzí

Z MediaWiki SPŠ a VOŠ Písek
Skočit na navigaci Skočit na vyhledávání
Řádek 79: Řádek 79:
       ORG 0          ;start program
       ORG 0          ;start program


SetUp BSF status,rp0 ;5. bit na adrese 03 Výběr banky 1
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 TRISB,0     ; Nastavení 0. bitu na bráně B jako výstupní   
       BCF status,rp0 ; Výběr banky 0
       BCF STATUS, RP0 ; Výběr banky 0
       CLRF portB     ; Vynulování 0. bitu na bráně B
       BCF PORTB,0     ; Vynulování 0. bitu na bráně B
       GOTO Main
       GOTO Main


Delay DECFSZ 1A,1    ; Zpoždění cca 250 ms
MAIN: BSF PORTB,0    ; Rozsvítí LED na B0
       GOTO Delay
      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
       DECFSZ 1B,1
       GOTO Delay
       GOTO DELAY
       RETURN
       RETURN
 
END
Start  BSF 06,0        ; Rozsvítí LED
      CALL Delay      ; Zavolá podprogram zpoždění
      BCF 06,0        ; Zhasne LED
      CALL Delay      ; Zavolá podprogram zpoždění
      GOTO Start      ; Zpět na start
 
</source>
</source>
|
|

Verze z 26. 5. 2013, 19:30

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


[[Soubor:PIC-flasing-LED.jpg|200px|link=http://embedded-lab.com/blog/?p=148%7CLab 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);
  } ; 
}