Program AVR01: Rozdiel medzi revíziami
Zo stránky 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... | Bez shrnutí editace | ||
| 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	 | .equ	SW1	=PINB6 | ||
| .equ	SW2	 | .equ	SW2	=PINB7 | ||
| .CSEG	 | .CSEG				; nasleduje CODE SEGMENT - program | ||
| .ORG	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   | |||
| 	ldi TMP,0x0F0		; zapni pull-upy a zhasni LED | |||
| 	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 | |||
| LED1_OFF: | LED1_OFF: | ||
| 	sbi PORTB,LED1		; Set Bit LED1 na porte PB | |||
| 	rjmp LOOP			; skoc zasa dokola | |||
| LED1_ON: | LED1_ON: | ||
| 	cbi PORTB,LED1		; Clear Bit LED1 na porte PB | |||
| 	rjmp LOOP			; dokola | |||
| ; koniec | ; koniec | ||
| </code> | |||
Verzia z 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