Hlavní strana

Z MAM wiki

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Aktualizace 2012/13)
Řádka 1: Řádka 1:
-
= Mikroprocesory a mikropočítače =
+
<pre>
 +
;
 +
; example LED-show program for ATtiny 2313
 +
;
 +
; 2-color LED with 300 Ohm resistor in series is supposed to be
 +
; connected between pins 12 (PB0, LED_X) and 13 (PB1, LED_Y).
 +
;
 +
; Color1 shines when LED_X is high and LED_Y is low
 +
; Color2 shines when LED_Y is high and LED_X is low
 +
; LED is off when LED_Y and LED_X are both low or both high
-
Tyto stránky obsahují informace k části cvičení z předmětu [http://www.fel.cvut.cz/education/bk/predmety/12/52/p12525604.html A2M99MAM], která se zabývá mikroprocesory [http://cs.wikipedia.org/wiki/AVR AVR] - to je ta část cvičení, která podle [http://www.feld.cvut.cz/education/rozvrhy-ng/public/cz/predmety/12/52/p12525604.html rozvrhu] probíhá v laboratoři [http://www.feld.cvut.cz/glance/rooms.html T2:C4-362] ve čtvrtek od 9:15 do 14:15 (cvičící [[Uživatel:Masap|Máša]]+[[Uživatel:Horcik|Horčík]]+[[Uživatel:Mizera|Mizera]]). [[English MAM|English variant is here. (Many links at Czech part also point to English documents.)]]
 
-
Na cvičeních s AVR používáme:
+
.EQU DDRB = $17 ; DDRB address
-
* software [[AVR Studio]] (download: [http://www.atmel.com/dyn/resources/prod_documents/AvrStudio4Setup.exe])
+
.EQU PORTB = $18 ; PORTB address
-
* překladač [[Jazyk C|jazyka C]] pro AVR, [[avr-gcc]]
+
-
* USB [[programátor AVR Dragon]] ([http://www.gme.cz/_dokumentace/dokumenty/752/752-534/czn.752-534.1.pdf český návod])
+
-
* mikroprocesory [[ATtiny2313]], [[ATmega88 a ATmega168 |ATmega88, ATmega168]], [[ATtiny45]] a další
+
-
Tyto prostředky dohromady umožnují krokovat program přímo v reálném mikroprocesoru a sledovat obsah registrů.
+
-
=== Užitečné odkazy ===
+
.EQU DDRD = $17 ; DDRB address
-
*[http://www.atmel.com/atmel/acrobat/doc0856.pdf AVR Instruction Set Manual]
+
.EQU PORTD = $18 ; PORTB address
-
*[http://www.atmel.com/Images/doc1022.pdf AVR Assembler User Guide]
+
-
*[http://www.atmel.com/Images/doc1497.pdf Efficient C Coding for AVR]
+
-
*[http://www.atmel.com/Images/doc1234.pdf Mixing C and Assembly Code]
+
-
=== Další informace ke cvičení ===
+
.EQU PINB =$16
-
'''[[Program cvičení]]'''
+
.EQU LED_X = 0 ; LED_X is on PB0, pin 12 of ATtiny2313
 +
.EQU LED_Y = 1 ; LED_Y is on PB1, pin 13 of ATtiny2313
-
[[První pokus v simulátoru AVR]]
+
; Pins connected to LED are outputs, DDRx=1 (set):
-
[[Instrukční soubor AVR]]
+
SBI DDRB, LED_X ; SBI - Set Bit in I/O Register
 +
SBI DDRB, LED_Y
-
[[Vybavení laboratoře 362]]
+
SBI DDRD, 0
 +
SBI PORTB, 2
 +
GO:
 +
RCALL  COLOR1
 +
RCALL WAIT
 +
SBIS PINB, 2
 +
RCALL COLOR2
 +
RCALL WAIT
 +
RJMP GO
 +
;;;
 +
;;;
 +
;;; P R O C E D U R E S
 +
;;;
 +
;;;
 +
 +
SMALLWAIT:
 +
INC R1 ; INC - Increment
 +
BRNE SMALLWAIT ; BRNE - Branch if Not Equal (Z flag)
 +
RET ; RET - Return from Subroutine
-
[[Zapojení vývodů]]
+
WAIT:
 +
LDI R16, 4 ; LDI - Load Immediate
 +
WAIT1: INC R1
 +
BRNE WAIT1
 +
INC R2
 +
BRNE WAIT1
 +
DEC R16
 +
BRNE WAIT1
 +
RET
 +
 +
COLOR1:
 +
    SBI PORTB, LED_X
 +
CBI PORTB, LED_Y ; CBI - Clear Bit in I/O Register
 +
RET
-
[[Prezentace 2012]] (tohle je historie, můžete se tu inspirovat, ale uveďte odkaz na VŠE, co odtud použijete!)
+
COLOR2:
 +
    SBI PORTB, LED_Y
 +
CBI PORTB, LED_X
 +
RET
-
[[Prezentace 2011]] (tohle je historie, můžete se tu inspirovat, ale uveďte odkaz na VŠE, co odtud použijete!)
+
COL3W:
 +
LDI R16, 2
 +
COL3X: RCALL COLOR1
 +
RCALL SMALLWAIT
 +
RCALL COLOR2
 +
RCALL SMALLWAIT
 +
INC R2
 +
BRNE COL3X
 +
DEC R16
 +
BRNE COL3X
-
[[Informace o zkoušce]]
+
DARK:
 +
    CBI PORTB, LED_X
 +
CBI PORTB, LED_Y
 +
RET
-
[[Potřebné součástky]] které chcete koupit
+
-
[[Využití AVR]]
 
-
[[Zajímavé stránky o AVR]]
 
-
[https://www.feld.cvut.cz/education/rozvrhy-ng/public/cz/predmety/12/52/fsl-p12525604.html Seznam všech studentů předmětu Mikroprocesory a mikropočítače - A2M99MAM]
+
led:SBIS PINB,LED_X
 +
SBI PORTB,LED_X
 +
CBI PORTB,LED_X
 +
RET
-
[[Samostatné_práce|Samostatné práce a návrhy na témata]]
 
-
[[Jednoduchý program pro blikání LEDkami|Jednoduchý program pro blikání LEDkami (v jazyce C)]]
+
</pre>
-
 
+
-
[[Žádoucí změny na MAM wiki]]
+
-
 
+
-
=== Návody k Wiki ===
+
-
 
+
-
Možnost editací je otevřena všem studentům i vyučujícím MAM. Nemáte-li zde na wiki konto, kontaktujte prosím [[Uživatel:Hanzl|Václava Hanžla]]. Na prvním cvičení si ale můžete konto založit [[Speciální:Userlogin|sami]]. Použijte prosím stejné uživatelské jméno, jako máte v síti FEL (jména typu vomackaf7).
+
-
 
+
-
[http://meta.wikimedia.org/wiki/Help:Contents Uživatelská příručka] vám napoví, jak MediaWiki používat.
+
-
 
+
-
Na vaše pokusy slouží [[pískoviště]]. Obrázky nahrané na wiki (pomocí Načíst soubor, vlevo) si můžete prohlédnout [[Speciální:Newimages|tady]]. Technické otázky týkající se samotného fungování této wiki popisuje [[Správa wiki]].
+

Verze z 7. 3. 2013, 10:53

 
; 
; example LED-show program for ATtiny 2313
;
; 2-color LED with 300 Ohm resistor in series is supposed to be
; connected between pins 12 (PB0, LED_X) and 13 (PB1, LED_Y).
;
; Color1 shines when LED_X is high and LED_Y is low
; Color2 shines when LED_Y is high and LED_X is low
; LED is off when LED_Y and LED_X are both low or both high


	.EQU DDRB = $17		; DDRB address
	.EQU PORTB = $18	; PORTB address

	.EQU DDRD = $17		; DDRB address
	.EQU PORTD = $18	; PORTB address

	.EQU PINB =$16

	.EQU LED_X = 0		; LED_X is on PB0, pin 12 of ATtiny2313
	.EQU LED_Y = 1		; LED_Y is on PB1, pin 13 of ATtiny2313

; Pins connected to LED are outputs, DDRx=1 (set):

	SBI	DDRB, LED_X	; SBI - Set Bit in I/O Register
	SBI	DDRB, LED_Y

	SBI DDRD, 0
	SBI PORTB, 2
GO:
	RCALL   COLOR1
	RCALL	WAIT
	SBIS	PINB, 2
	RCALL	COLOR2
	RCALL	WAIT
	RJMP	GO
;;;
;;;
;;; P R O C E D U R E S
;;;
;;;
	
SMALLWAIT:
	INC	R1				; INC - Increment
	BRNE	SMALLWAIT	; BRNE - Branch if Not Equal (Z flag) 
	RET					; RET - Return from Subroutine

WAIT:
	LDI	R16, 4			; LDI - Load Immediate
WAIT1:	INC	R1
	BRNE	WAIT1
	INC	R2
	BRNE	WAIT1
	DEC	R16
	BRNE	WAIT1
	RET
	
COLOR1:
    SBI	PORTB, LED_X
	CBI	PORTB, LED_Y	; CBI - Clear Bit in I/O Register
	RET

COLOR2:
    SBI	PORTB, LED_Y
	CBI	PORTB, LED_X
	RET

COL3W:
	LDI	R16, 2
COL3X: 	RCALL	COLOR1
	RCALL	SMALLWAIT
	RCALL	COLOR2
	RCALL	SMALLWAIT
	INC	R2
	BRNE	COL3X
	DEC	R16
	BRNE	COL3X

DARK:
    CBI	PORTB, LED_X
	CBI	PORTB, LED_Y
	RET

	



led:SBIS PINB,LED_X
	SBI	PORTB,LED_X
	CBI	PORTB,LED_X
	RET


Osobní nástroje