-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSoundCloun.asm
49 lines (45 loc) · 1.69 KB
/
SoundCloun.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
.include "macro.inc"
;88 RAM ========================================================
.DSEG ; Ñåãìåíò
;88 END RAM / FLASH ============================================
.CSEG ; Ñåãìåíò
; Include ======================================================
.include "interrupts.inc"
.include "coreinit.inc"
; END Include / Internal Hardware Init ========================
; èíèöèàëèçàöèÿ òàìåðà 0 - îáíîâëåíèå øèì
OUTI TCCR0A, (0<<COM0A1)|(0<<COM0A0)|(0<<COM0B1)|(0<<COM0B0)|(1<<WGM01)|(0<<WGM00);
OUTI TCCR0B, (0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(1<<CS01)|(0<<CS00); div8
OUTI TIMSK0, (1<<2)|(1<<1)|(1<<0) ; OCIEB = 2, OCIEA = 1, TOIE = 0
OUTI OCR0A, 165
OUTI OCR0B, 0
; èíèöèàëèçàöèÿ òàìåðà 2 - øèì
OUTI TCCR2A, (1<<COM0A1)|(0<<COM0A0)|(1<<COM0B1)|(0<<COM0B0)|(1<<WGM01)|(1<<WGM00)
OUTI TCCR2B, (0<<FOC2A)|(0<<FOC2B)|(0<<WGM22)|(0<<CS22)|(0<<CS21)|(1<<CS20) ; div1
OUTI TIMSK2, (0<<2)|(0<<1)|(0<<0) ; OCIEB = 2, OCIEA = 1, TOIE = 0
OUTI OCR2A, 127
OUTI OCR2B, 63
; èíèöèàëèçàöèÿ ïîðòîâ âûâîä
OUTI DDRD, 0b00001100
OUTI PORTD, 0b00000010
; êàëèáðîâêà îñöèëëÿòîðà
OUTI OSCCAL, 0x7F
; END Internal Hardware Init / External Hardware Init =========
; END External Hardware Init / Main ============================
LDI ZL, low(sound*2) ; çàíîñèì ìëàäøèé áàéò àäðåñà, â ðåãèñòðîâóþ ïàðó Z
LDI ZH, high(sound*2)
SBI PORTD, 2
main: ; òóïíÿê
SEI
NOP
NOP
NOP
RJMP main
; END Main / Procedure =========================================
; END Procedure ================================================
//sound:
.include "sound.inc"
//soundend:
;88 END FLASH / EEPROM =========================================
.ESEG ; Ñåãìåíò EEPROM
;88 End EEPROM =================================================