Operácie

Program AVR01: Rozdiel medzi revíziami

Z SensorWiki

(Nová stránka: .include "2313def.inc" ; hlavickovy subor s definiciou registrov .def TMP =r16 ; pomcna premenna bude v registri r16 .equ LED1 =PINB1 ; HW konfiguracia - kde su LEDky a SWi...)
 
Riadok 1: Riadok 1:
 +
<source lang="asm">
 
.include "2313def.inc" ; hlavickovy subor s definiciou registrov
 
.include "2313def.inc" ; hlavickovy subor s definiciou registrov
  
Riadok 6: Riadok 7:
 
.equ LED1 =PINB1 ; HW konfiguracia - kde su LEDky a SWitche
 
.equ LED1 =PINB1 ; HW konfiguracia - kde su LEDky a SWitche
 
.equ LED2 =PINB2
 
.equ LED2 =PINB2
.equ SW1     =PINB6
+
.equ SW1 =PINB6
.equ SW2     =PINB7
+
.equ SW2 =PINB7
  
.CSEG ; nasleduje CODE SEGMENT - program
+
.CSEG ; nasleduje CODE SEGMENT - program
.ORG 0000 ; program zacina od adresy 0000
+
.ORG 0000 ; program zacina od adresy 0000
 
 
 
START: ldi TMP,0b00110000 ; nakonfiguruj co su vstupy a vystupy
 
START: ldi TMP,0b00110000 ; nakonfiguruj co su vstupy a vystupy
out DDRB,TMP ; zapis do registra  
+
out DDRB,TMP ; zapis do registra  
  
ldi TMP,0x0F0 ; zapni pull-upy a zhasni LED
+
ldi TMP,0x0F0 ; zapni pull-upy a zhasni LED
out PORTB,TMP ; zapis na port
+
out PORTB,TMP ; zapis na port
  
 
LOOP: sbis PINB,SW1 ; obskoc ak je stlacene tlacitko
 
LOOP: sbis PINB,SW1 ; obskoc ak je stlacene tlacitko
rjmp LED1_ON
+
rjmp LED1_ON
  
 
LED1_OFF:
 
LED1_OFF:
sbi PORTB,LED1 ; Set Bit LED1 na porte PB
+
sbi PORTB,LED1 ; Set Bit LED1 na porte PB
rjmp LOOP ; skoc zasa dokola
+
rjmp LOOP ; skoc zasa dokola
  
 
LED1_ON:
 
LED1_ON:
cbi PORTB,LED1 ; Clear Bit LED1 na porte PB
+
cbi PORTB,LED1 ; Clear Bit LED1 na porte PB
rjmp LOOP ; dokola
+
rjmp LOOP ; dokola
  
 
; koniec
 
; koniec
 +
</code>

Verzia zo dňa a času 10:52, 5. november 2008

<source lang="asm"> .include "2313def.inc" ; hlavickovy subor s definiciou registrov


.def TMP =r16 ; pomcna premenna bude v registri r16

.equ LED1 =PINB1 ; HW konfiguracia - kde su LEDky a SWitche .equ LED2 =PINB2 .equ SW1 =PINB6 .equ SW2 =PINB7

.CSEG ; nasleduje CODE SEGMENT - program .ORG 0000 ; program zacina od adresy 0000

START: ldi TMP,0b00110000 ; nakonfiguruj co su vstupy a vystupy out DDRB,TMP ; zapis do registra

ldi TMP,0x0F0 ; zapni pull-upy a zhasni LED out PORTB,TMP ; zapis na port

LOOP: sbis PINB,SW1 ; obskoc ak je stlacene tlacitko rjmp LED1_ON

LED1_OFF: sbi PORTB,LED1 ; Set Bit LED1 na porte PB rjmp LOOP ; skoc zasa dokola

LED1_ON: cbi PORTB,LED1 ; Clear Bit LED1 na porte PB rjmp LOOP ; dokola

koniec

</code>