Sorry za offtopic, ale mam dotaz na uživatele Honzc ...strašně by mě zajímalo, čim se živíš nebo něco o tobě, jeslti se můžu zeptat. Protože na forech (ne jen tohle) děláš výborný programy a i hodně složitý, jsem prostě zvědavej, jak jsi přišel k takovejm znalostem. :)
Příspěvky odeslané z IP adresy 77.48.12.–
Tomuhle už jakž takž porozumim snad :) Tak se omlouvam za ten promarněnej čas s tim
Vypadá to, že todle funguje. Tak ještě jednou děkuju. Akorát ten program je na mě až moc :) Asi bych žádal moc, kdybych ho chtěl podrobnějc vysvětlit. Ale i tak jsem vděčnej
Díky moc za pomoc, ale mam problém...když si zkoušim ten program nejdřív vypočíst na papíře - dosazuju nějaký souřadnice 4 bodů elipsy za x1,y1,x2,y2,x3,y3,x4,y4 a pak dopočítávam ty zbylý pomocný proměnný a a0,a1,a2,a3...ale nemůžu se dopracovat k žádnýmu rozumnýmu výsledku. Už hodnoty těch a0,a1,a2,a3 vychází nesmysly... Takže bych tě chtěl poprosit, jestli jsi zkoušel ten program, jestli funguje, jak má, protože já jsem se nedostal ke správnym výsledkům. Díky
Zdravim, potřeboval bych pomoc s programem v Pascalu...Ze souřadnic [x;y] 4 bodů vypočítat rozměry elipsy...souřadnice středu, vrcholů, délku hlavní a vedlejší poloosy...
Je to potřeba udělat přes soustavu 4 rovnic o 4 neznámých, ale to vůbec nevim jak zapsat do Pascalu...kdyby někdo věděl, jak na to, budu opravdu vděčnej :/
No, tak ten program by měl snad bejt dobře. Akorát teda vývojovej diagram netušim, byl by někdo schopnej mi pomoc?:/
Radši jsem vám to ještě nahrál sem: http://leteckaposta.cz/695086025 do textáku
Zdravim, mam tady prográmek a potřeboval bych ho zkontrolovat... jestli dělá, co by dělat měl:)
MIN EQU 65535-1000+1 ;1kHz
MAX EQU 65535-500+1 ;2kHz
POCETC EQU 10 ;urcuje kolikrat se opakuje jeden kmitocet
DSEG AT 30H
CYKLY: DS 1 ;urcuje kolikrat zbyva do zmeny kmitoctu
CL0: DS 1 ;hodnoty pro nastaveni
CH0: DS 1 ;TL0 a TH0
BSEG
;Rezim = 0 - snizovani kmitoctu, Rezim = 1 - zvysovani kmitoctu
REZIM: DBIT 1
CSEG
ORG 0 ;Reset
AJMP RESET
ORG 000BH ;obsluha casovace 0
AJMP CASOVAC0
;inicializace systému
RESET: SETB REZIM
MOV CYKLY,#PocetC ;pocet cyklu
MOV CH0,#high MIN ;hodnoty pro casovac
MOV CL0,#low MIN
MOV TH0,#high MIN ;prvni nastaveni casovace 0
MOV TL0,#low MIN
MOV TMOD,#00000001B ;volba rezimu casovace
SETB TR0 ;spusti casovac
SETB EA
SETB ET0 ;povoli preruseni od casovace 0
SJMP $
;obsluha preteceni casovace 0
CASOVAC0: PUSH ACC
MOV A,CYKLY ;kdyz cykl neni nulovy tak jen nahraj
JNZ NAHRAJ
MOV CYKLY,#POCETC ;cykl = 0 -> zmena kmitoctu
TEST: JNB REZIM,SNIZUJ
;rezim = 1 -> zvysovani kmitoctu
ZVYSUJ: MOV A,#HIGH MAX ;test, zda CH0, CL0 dosahli maxima
XRL A,CH0
JNZ ZVYS
MOV A,#LOW MAX
XRL A,CL0
JZ PREPNI
ZVYS: MOV A,CL0 ;zvyseni CH0, CL0 o 1
ADD A,#1
MOV CL0,A
MOV A,CH0
ADDC A,#0
MOV CH0,A
SJMP NEGUJ ;prepise do casovace a konec
;rezim = 1 ->snizovani kmitoctu
SNIZUJ: MOV A,#HIGH MIN ;test, zda zda CH0, CL0 dosahli minima
XRL A,CH0
JNZ SNIZ
MOV A,#LOW MIN
XRL A,CL0
JZ PREPNI
SNIZ: CLR C ;snizeni CH0, CL0 o 1
SUBB A,#1
ADD A,#1
MOV CL0,A
MOV A,CH0
SUBB A,#0
MOV CH0,A
SJMP NEGUJ ;prepise do casovace a konec
;meni rezim pri dosazeni minima nebo maxima
PREPNI: CPL REZIM
SJMP TEST ;nastavi novy kmitocet
NAHRAJ: DEC CYKLY ;snizi pocitadlo cyklu
NEGUJ: CPL P3.0 ;neguje
MOV TH0,CH0
MOV TL0,CL0 ;nastavi casovac 0
POP ACC
RETI ;navrat z preruseni
END
A tady je zadání úlohy:
a) Navrhněte obvodové řešení umožňující připojit na vývod P1.0 reproduktorek.
b) Nakreslete vývojový diagram a napište program (včetně komentáře), který bude vytvářet proměnný tón o kmitočtu měnícím se přibližně od 1 kHz do 2 kHz a zpět.
Omlouvám se za formátování, snad se v tom vyznáte