Uživatel:Veselon5

Z MAM wiki

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(semestrální práce - zadání)
(Semestrální práce)
Řádka 8: Řádka 8:
'''Návrh tématu'''
'''Návrh tématu'''
-
"Převod frekvence indikátoru (LED) wattmetru na relevatní hodnotu v jednotkách Wh, s použitím vhodného převodníku a programovacího jazyka Bascomp pro AVR. Údaj bude zobrazovaný na LCD display. K mikrokontroléru bude připojen i RTC obvod pro údaj o správném času."
+
"Převod frekvence indikátoru (LED) wattmetru na relevatní hodnotu v jednotkách Wh, s použitím vhodného převodníku a programovacího jazyka Bascom pro AVR. Údaj bude zobrazovaný na LCD display. K mikrokontroléru bude připojen i RTC obvod pro údaj o správném času."
Semestální práci budu dělat společně s Jiřím Polanským [http://noel.feld.cvut.cz/vyu/a2m99mam/index.php/U%C5%BEivatel:Polanjir]
Semestální práci budu dělat společně s Jiřím Polanským [http://noel.feld.cvut.cz/vyu/a2m99mam/index.php/U%C5%BEivatel:Polanjir]

Verze z 29. 3. 2010, 08:33

Ondřej Veselý,

předmět MAM, cvičení ČT 9:15 (místnosto 362)


Semestrální práce

Návrh tématu

"Převod frekvence indikátoru (LED) wattmetru na relevatní hodnotu v jednotkách Wh, s použitím vhodného převodníku a programovacího jazyka Bascom pro AVR. Údaj bude zobrazovaný na LCD display. K mikrokontroléru bude připojen i RTC obvod pro údaj o správném času."

Semestální práci budu dělat společně s Jiřím Polanským [1]

Čtení maticové klávesnice

Inicializace


.include "m168def.inc"
//EQU
.equ bit0 =0
.equ bit1 =1
.equ bit2 =2
.equ bit3 =3
.equ bit4 =4
.equ bit5 =5
.equ bit6 =6
.equ bit7 =7

// MATICOVA KLAVESNICE

.equ col= portd
.equ row= portc

// nastaveni vystupu - sloupcu matice
sbi ddrd,bit0
sbi portd,bit0
sbi ddrd,bit1
sbi portd,bit1
sbi ddrd,bit2
sbi portd,bit2
sbi ddrd,bit3
sbi portd,bit3

// nastaveni vstupu - radku matice
sbi portc,bit0
sbi portc,bit1
sbi portc,bit2
sbi portc,bit3

Podprogram

- podprogram nahraje do registru R20 zmáčknuté číslo

- pokud není žádná klávesa stisknutá, registr zůstává bezezměn


klavesnice:
// prvni sloupec

	cbi portd,bit0
	call VERYSMALLWAIT
	
	sbis pinc,bit0	
	LDI r20,1

	sbis pinc,bit1
	ldi r20,4

	sbis pinc,bit2
	ldi r20,7

	sbis pinc,bit3
	ldi r20,10

	sbi portd,bit0

// druhy sloupec

	cbi portd,bit1
	call VERYSMALLWAIT
	
	sbis pinc,bit0	
	LDI r20,2

	sbis pinc,bit1
	ldi r20,5

	sbis pinc,bit2
	ldi r20,8

	sbis pinc,bit3
	ldi r20,0

	sbi portd,bit1

// treti sloupec

	cbi portd,bit2
	call VERYSMALLWAIT
	
	sbis pinc,bit0	
	LDI r20,3

	sbis pinc,bit1
	ldi r20,6

	sbis pinc,bit2
	ldi r20,9

	sbis pinc,bit3
	ldi r20,11

	sbi portd,bit2

// ctvrty sloupec

	cbi portd,bit3
	call VERYSMALLWAIT
	
	sbis pinc,bit0	
	LDI r20,12

	sbis pinc,bit1
	ldi r20,13

	sbis pinc,bit2
	ldi r20,14

	sbis pinc,bit3
	ldi r20,15

	sbi portd,bit3

	ret

Osobní nástroje