; Zapojeni: ; +------u------+ ; Vcc -> reset --+ /RST Vcc +-- napajeni +5V ; SW0 G --+ PD0 PB7 +---[wakeswitch]--GND ; SW1 G --+ PD1 PB6 +-- LED MAIN K ; --+ PA1 PB5 +-- LED 5 K ; Vcc-[speaker]----+ PA0 PB4 +-- LED 4 K ; SW2 G --+ PD2 PB3 +-- LED 3 K ; SW3 G --+ PD3 PB2 +-- LED 2 K ; SW4 G --+ PD4 PB1 +-- LED 1 K ; SW5 G --+ PD5 PB0 +-- LED 0 K ; GND --+ GND PD6 +-- ; +-------------+ ;"K" = katoda (ledka zapojena mezi Vcc a timhle pinem, aktivni je 0) ;"G" = ground (spinac mezi tomhle pionem a zemi, aktivni je 0) .device attiny2313 ;běží na 4MHz, ckdiv8=1 (vypnuto) ;LFUSE: 0xE2 ;HFUSE: 0xDF .equ FrekvenceMorse = 50 ;62500/tohle Hz tón 42 ;K O N S T A N T Y + P R E Z D I V K Y P O U R T U A P I N U ;PORTA .equ SYSPORT = PORTA .equ SYSPIN = PINA .equ SYSDDR = DDRA .equ speak = 0 .equ inkey = 7 ;PORTB .equ LEDPORT = PORTB .equ LEDDDR = DDRB .equ LEDPIN = PINB .equ ledm = 6 ;PORTD .equ SWPORT = PORTD .equ SWPIN = PIND .equ SWDDR = DDRD ;A L I A S Y R E G I S T R U .def cmatch = r19 .def louter = r18 .def linner = r17 .def curchar = r25 .def morspart = r24 ;aliasy pointerů .def ZH = r31 .def ZL = r30 ;.def YH = r29 ;.def YL = r28 ;.def XH = r27 ;.def XL = r26 ; M A K R A ;Reprak (zapnuti a vypnuti pipani 1kHz) .MACRO BuzzOn sbi SYSPORT,speak ldi r16,(1< loop dec r16 ;jo -> dalsi test shodnosti, l1 brne l1 mov r20,r19 ;uloz jako minulou hodnotu pinu cpi r20,0b10000000 ;je nestisknuto? breq beepoff ;vypni pip ldi r16,0b10000000 out LEDPORT,r16 ;rozsvit ledky BuzzOn ;jinak pipej rjmp loop beepoff: BuzzOff ldi r16,0b11111111 out LEDPORT, r16 ;zhasni ledky out LEDPORT,r16 rjmp loop