??? 01/13/05 01:03 Read: times |
#84901 - Software reformated. No changes. Responding to: ???'s previous message |
;;**************************************************** ; Subject: re: ; Full Name: Jose Rodriguez (Vigo Spain) ; Date: 01/12/05 18:02 ; Read: 9 times ; http://www.8052.com/forum/read.phtml?id=84894 ; Score: Hasn't been scored ; Well, i try to do this program but it didn´t work. I will paste the code ; if someone know where is the problem. ; If i asign the keyboard to the leds, it works but if i asign to the ; speaker with the frequencies(only of a one octave, not all)i don´t ; obtain any sound. ; Thanks ;;**************************************************** $INCLUDE(REG517.SRC) teclado equ p1 altavoz equ p4 fila equ 40h columna equ 41h digito equ 42h org 8000h ljmp principal org 800bh ljmp intt0 org 8200h principal: lcall DTABLA ;llamar tabla teclado clr p4.5 ;zumbador apagado mov tmod,#00000001b ;configuro timer0 en modo 1 mov tl0,#0dfh ;cargo timer a 20ms mov th0,#0b1h mov cmsel,#07fh ;Selecionamos comparador del CM7 con el CT("1") mov cmen,#10000000b ;Habilitamos comparacion ya seleccionada mov r1,#00h mov ctcon,#00h ;Entrada del CT con clock=fosc/2 mov dpsel,#01h mov dptr,#notas ;Apunta a la tabla de notas setb ien0.7 Habilito interrupciones general setb tr0 ;arranco timer0 setb et0 ;habilitar interrupción timer setb ien0.5 ;Activo Timer 2 por desbordamiento o interrupción externa bucle: ljmp lazo1 sigue: lcall ponnota lcall retardo sjmp bucle intt0: mov tl0,#0feh ;comprobación de teclado cada 0,02sg mov th0,#0ffh mov teclado,#0fh mov fila,teclado mov teclado,#0f0h mov columna,teclado mov a,#00h orl a,fila ;obtengo valor del teclado orl a,columna cpl a ;calculo complemento para obtener el valor en la tabla mov digito,a reti lazo1: mov a,teclado cjne a,#0fh,lazo2 sjmp lazo1 lazo2: mov r0,#30h dec r0 busco: inc r0 movx a,@r0 cjne a,digito,busco mov a,r0 mov r2,a ljmp sigue retardo: mov t2con,#00010001b ;timer2 en funcionamiento espera: mov a,digito cjne a,#00h,espera mov t2con,#00h ;parar timer2 ret ponnota: mov dpsel,#01h mov a,r2 ;meto numero nota en registro movc a,@a+dptr ;apunto a la parte alta de la nota mov cmh7,a inc r2 ;incremento r2 para leer siguiente valor mov a,r2 ;meto r2+1 movc a,@a+dptr ;parte baja nota mov cml7,a inc r2 mov a,r2 movc a,@a+dptr mov ctrelh,a inc r2 mov a,r2 movc a,@a+dptr mov ctrell,a ret notas: db 03dh,30h,0a6h,61h,0d5h,0bch,0abh,68h,0d8h,14h,0b0h,28h db 0dah,51h,0b4h,0a3h,0dch,06fh,0b8h,0deh,0deh,6eh,0bch,0dch db 0e0h,50h,0c0h,0a0h,0e2h,17h,0c4h,2fh,0e3h,0c5h,0c7h,8ah,0e5h,5bh,0cah,0b6h db 0e6h,0d9h,0cdh,0aeh,0e8h,43h,0d0h,86h DTABLA: mov r0,#30h mov @r0,#10001000b ;DO inc r0 mov @r0,#10000100b ;D0# inc r0 mov @r0,#10000010b ;RE inc r0 mov @r0,#10000001b ;RE# inc r0 mov @r0,#01001000b ;MI inc r0 mov @r0,#01000100b ;FA inc r0 mov @r0,#01000010b ;FA# inc r0 mov @r0,#01000001b ;SOL inc r0 mov @r0,#00101000b ;SOL# inc r0 mov @r0,#00100100b ;LA inc r0 mov @r0,#00100010b ;LA# inc r0 mov @r0,#00100001b ;SI ;mov a,#12d ret end |
Topic | Author | Date |
How to make a piano | 01/01/70 00:00 | |
Happy to help but... | 01/01/70 00:00 | |
Piano, violin, trumpet ... | 01/01/70 00:00 | |
Not a Piano | 01/01/70 00:00 | |
And not a Violin | 01/01/70 00:00 | |
re: | 01/01/70 00:00 | |
frequencies | 01/01/70 00:00 | |
you could also | 01/01/70 00:00 | |
getting 41.2 Hz out using T2 AutoReload | 01/01/70 00:00 | |
select proper xtal | 01/01/70 00:00 | |
Try higher pitches | 01/01/70 00:00 | |
well.. | 01/01/70 00:00 | |
8 octaves with 16 keys??? | 01/01/70 00:00 | |
What? | 01/01/70 00:00 | |
re: | 01/01/70 00:00 | |
Enough power? | 01/01/70 00:00 | |
to Joseph | 01/01/70 00:00 | |
Software reformated. No changes. | 01/01/70 00:00 | |
How to post code | 01/01/70 00:00 | |
just the obvious errors![]() | 01/01/70 00:00 | |
iguana labs sound tutorial | 01/01/70 00:00 | |
debugging | 01/01/70 00:00 | |
Be more descriptive!! | 01/01/70 00:00 |