Anonymní profil Johnny – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Johnny – Programujte.comAnonymní profil Johnny – Programujte.com

 

Příspěvky odeslané z IP adresy 178.77.208.–

Johnny
Assembler › 8051 generování melodie
24. 3. 2013   #173249

Dobrý den

Chtěl bych pomoct s generováním melodie. Program mám už napsaný ale chtěl bych si zjednodušit a vylepšit hraní daného tonů. V každé tabulce mám danou melodii, ale je to podle mě zbytečně dlouhý zápis. Chtěl bych to realizovat tak že bych měl např. Tabulku melody1: 8,2 atd.. kde 8 byl by např tón A a 2 by znamenala hraj 0,5s.Nevím jak to realizovat, tak kdyby byl někdo hodný a ukázal by mi to děkuju.

ukázka programu:

KL EQU P0
REP EQU P1
ORG 0
JMP HL_PR
ORG 0BH
MOV TH0, R6
MOV TL0, R7
CPL P1.0
RETI
HL_PR:  MOV TMOD, #1
MOV TH0, #HIGH(-1047)
MOV TL0, #LOW(-1047)
SETB EA
SETB TR0
SETB ET0
ZNOVU1: CALL KLAV
CJNE A,#12,DAL
MOV R6,#0ffh
MOV R7,#0efh
JMP ZNOVU1
DAL: CJNE A,#1, ZNOVU2
MOV DPTR, #SONG1
MOV R1, #(SONG2-SONG1)
CALL RESTART
JMP ZNOVU1
ZNOVU2:  CALL KLAV
CJNE A,#2, ZNOVU3
MOV DPTR, #SONG2
MOV R1, #(SONG3-SONG2)
CALL RESTART
JMP ZNOVU1
ZNOVU3:  CALL KLAV
CJNE A,#3, ZNOVU1
MOV DPTR, #SONG3
MOV R1, #(pocet-SONG3)
CALL RESTART
JMP ZNOVU1
RESTART:MOV R2,#0
DALSI:  MOV A,R2
MOVC A,@A+DPTR
MOV R6,A
INC R2
MOV A,R2
MOVC A,@A+DPTR
MOV R7,A
INC R2
MOV R3,#250
ZPET2:  MOV R4,#100
ZPET1:  MOV R5,#1
DJNZ R5,$
DJNZ R4,ZPET1
DJNZ R3,ZPET2
MOV A, R1
CJNE A, 2, DALSI
RET
SONG1:  dw 0fe4dh ;TON_c
  dw 0fe4dh ;TON_c
  dw 0fe7ch ;TON_d
  dw 0fe7ch ;TON_d
  dw 0fea7h ;TON_e
  dw 0fedfh ;TON_g
  dw 0fedfh ;TON_g
  dw 0fe7ch ;TON_d
  dw 0fe7ch ;TON_d
   dw 0fea7h ;TON_e
  dw 0feffh ;TON_a
  dw 0feffh ;TON_a
  dw 0fe7ch ;TON_d
  dw 0fe7ch ;TON_d
  dw 0fea7h ;TON_e
  dw 0febch ;TON_f
  dw 0febch ;TON_f
  dw 0fea7h ;TON_e
  dw 0fea7h ;TON_e
  dw 0fe7ch ;TON_d
  dw 0ffefh ;mezera
  dw 0ffefh ;mezera
  dw 0fe4dh ;TON_c
  dw 0fe4dh ;TON_c
  dw 0fe7ch ;TON_d
  dw 0fe7ch ;TON_d
  dw 0fea7h ;TON_e
  dw 0fedfh ;TON_g
  dw 0fedfh ;TON_g
  dw 0fe7ch ;TON_d
  dw 0fe7ch ;TON_d
   dw 0fea7h ;TON_e
  dw 0feffh ;TON_a
  dw 0feffh ;TON_a
  dw 0fe7ch ;TON_d
  dw 0fe7ch ;TON_d
  dw 0fea7h ;TON_e
  dw 0febch ;TON_f
  dw 0febch ;TON_f
  dw 0fea7h ;TON_e
  dw 0fe7ch ;TON_d
dw 0ffefh ;mezera
  dw 0ffefh ;mezera
  dw 0fe4dh ;TON_c
  dw 0fe4dh ;TON_c
  dw 0fe7ch ;TON_d
  dw 0fe7ch ;TON_d
  dw 0fea7h ;TON_e
  dw 0fedfh ;TON_g
  dw 0fedfh ;TON_g
  dw 0fe7ch ;TON_d
  dw 0fe7ch ;TON_d
   dw 0fea7h ;TON_e
  dw 0feffh ;TON_a
  dw 0feffh ;TON_a
  dw 0fe7ch ;TON_d
  dw 0fe7ch ;TON_d
  dw 0fea7h ;TON_e
  dw 0febch ;TON_f
  dw 0febch ;TON_f
  dw 0fea7h ;TON_e
  dw 0fe7ch ;TON_d
SONG2: dw 0ff0eh ;TON_ais ;
dw 0fedfh ;TON_g
dw 0ff0eh ;TON_ais
dw 0fedfh ;TON_g
dw 0feffh ;TON_a
dw 0febch ;TON_f
dw 0feffh ;TON_a
dw 0febch ;TON_f
dw 0fedfh ;TON_g
dw 0fe7ch ;TON_d
dw 0fedfh ;TON_g
dw 0fe7ch ;TON_d
dw 0fedfh ;TON_g
dw 0fe7ch ;TON_d
dw 0ffefh ;mezera
dw 0ffefh ;mezera
dw 0ffefh ;mezera
dw 0ff0eh ;TON_ais
dw 0fedfh ;TON_g
dw 0ff0eh ;TON_ais
dw 0fedfh ;TON_g
dw 0feffh ;TON_a
dw 0febch ;TON_f
dw 0feffh ;TON_a
dw 0febch ;TON_f
dw 0fedfh ;TON_g
dw 0fe7ch ;TON_d
dw 0fedfh ;TON_g
dw 0fe7ch ;TON_d
dw 0fedfh ;TON_g
dw 0fe7ch ;TON_d
dw 0ffefh ;mezera
dw 0ffefh ;mezera
dw 0ffefh ;mezera
dw 0ff0eh ;TON_ais
dw 0ff0eh ;TON_ais
dw 0febch ;TON_f
dw 0febch ;TON_f
dw 0fe7ch ;TON_d
dw 0ffefh ;mezera
dw 0fe7ch ;TON_d
dw 0fe7ch ;TON_d
dw 0ffefh ;mezera
dw 0ffefh ;mezera
dw 0ff0eh ;TON_ais
dw 0ff0eh ;TON_ais
dw 0febch ;TON_f
dw 0febch ;TON_f
dw 0fe7ch ;TON_d
dw 0ffefh ;mezera
dw 0fe7ch ;TON_d
dw 0fe7ch ;TON_d
SONG3:  dw 0feceh ;TON_fis ;
dw 0fea7h ;TON_e
dw 0fea7h ;TON_e
dw 0ffefh ;mezera
dw 0fea7h ;TON_e
dw 0fea7h ;TON_e
dw 0fea7h ;TON_e
dw 0fea7h ;TON_e
dw 0fe93h ;TON_dis
dw 0fe93h ;TON_dis
dw 0ffefh ;mezera
dw 0fe67h ;TON_cis
dw 0ff0eh ;TON_ais
dw 0fef0h ;TON_gis
dw 0febch ;TON_f
dw 0ffefh ;mezera
dw 0fe67h ;TON_cis
dw 0fe67h ;TON_cis
dw 0ff0eh ;TON_ais
dw 0ff0eh ;TON_ais
dw 0ffefh ;mezera
dw 0feceh ;TON_fis
dw 0fea7h ;TON_e
dw 0fea7h ;TON_e
dw 0ffefh ;mezera
dw 0fea7h ;TON_e
dw 0fea7h ;TON_e
dw 0fea7h ;TON_e
dw 0fea7h ;TON_e
dw 0fe93h ;TON_dis
dw 0fe93h ;TON_dis
dw 0ffefh ;mezera
dw 0fe67h ;TON_cis
dw 0ff0eh ;TON_ais
dw 0fef0h ;TON_gis
dw 0febch ;TON_f
dw 0ffefh ;mezera
dw 0fe67h ;TON_cis
dw 0fe67h ;TON_cis
dw 0ff0eh ;TON_ais
dw 0ff0eh ;TON_ais
pocet:
KLAV:  MOV DPTR, #TABKL
MOV A, #01111111B
MOV R2, #0
ZPET:  MOV KL, A
JNB KL.0,STISK
INC R2
JNB KL.1,STISK
INC R2
JNB KL.2,STISK
INC R2
JNB KL.3,STISK
INC R2
RR A
CJNE R2,#12,ZPET
MOV A,#12
JMP KONEC
STISK:  MOV A, R2
MOVC A, @A+DPTR
KONEC:  RETI
TABKL:  DB 11,9,6,3,0,8,5,2,10,7,4,1
END

Johnny
C / C++ › Oknová aplikace-statusStrip
17. 3. 2013   #172940

   

Dobrý den potřeboval bych pomoct s funkcí status strip.

Představoval bych si aby mi to fungovalo jak v u vedeném obrázku, aby mi to neustále ukazovalo souřadnice kurzoru a pod. , Boužel nemám ani páru jak se to dělá.

Kdyby byl někdo tak laskav a ukázal byl bych vděčný

Děkuju

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý