Добавил:
Mymnan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:АВМиС - бывшее АПЭВМ / лекции - что-то похожее / 04 Таймер и генерация звука
.asc4. ’ ©¬Ґа Ё ЈҐҐа жЁп §ўгЄ
4.1. Џа®Ја ¬¬ЁагҐ¬л© в ©¬Ґа 8253
„«п § ¤ Ёп ўаҐ¬Ґле ЁвҐаў «®ў Ё д®а¬Ёа®ў Ёп бЁЈ «®ў б
а §«Ёзл¬Ё ўаҐ¬Ґл¬Ё Ї а ¬Ґва ¬Ё ў IBM PC/XT ЇаЁ¬ҐпҐвбп
Їа®Ја ¬¬ЁагҐ¬л© в ©¬Ґа 8253 (®вҐзҐбвўҐл© «®Ј Љђ580‚Ќ53), ў
AT - 8254. ‘ в®зЄЁ §аҐЁп Їа®Ја ¬¬Ёбв ®Ё Ё¤ҐвЁзл. ‚ б®бв ў
в ©¬Ґа ўе®¤пв: ЎгдҐа иЁл ¤ ле, б奬 гЇа ў«ҐЁп
ўў®¤®¬-ўлў®¤®¬ Ё ваЁ Ґ§ ўЁбЁ¬ле Є « , Є ¦¤л© Ё§ Є®в®але
ᮤҐа¦Ёв ॣЁбва ०Ё¬ , б奬г гЇа ў«ҐЁп Є «®¬, ЎгдҐа Ё
16-а §ап¤л© бзҐвзЁЄ.
Џа®Ја ¬¬Ёа®ў ЁҐ Є « ®бгйҐбвў«пҐвбп Їг⥬ ўлў®¤
гЇа ў«пойЁе б«®ў ў ॣЁбва ०Ё¬ Є «®ў Ё з «м®Ј® § 票п
ў ҐЈ® бзҐвзЁЄЁ. Љ ¦¤л© Є « Ё¬ҐҐв гЇа ў«пойЁ© ўе®¤ GATE Ё ўл室
OUT Ё ¬®¦Ґв а Ў®в вм ў ®¤®¬ Ё§ б«Ґ¤гойЁе иҐб⨠०Ё¬®ў.
ђҐ¦Ё¬ 0 (ЇаҐалў ЁҐ вҐа¬Ё «м®Ј® бзҐв ). Џ®б«Ґ § ЇЁбЁ
гЇа ў«по饣® б«®ў ў ॣЁбва ०Ё¬ Є « ўл室Ґ ЋUT
гбв ў«Ёў Ґвбп Їа殮ЁҐ Ё§Є®Ј® га®ўп; § Јаг§Є бзҐвзЁЄ Ґ
Ё§¬ҐпҐв нв® б®бв®пЁҐ. ‡ ⥬ зЁ Ґвбп ¤ҐЄаҐ¬Ґв бзҐвзЁЄ
(Ї®б«Ґ¤®ў ⥫쮥 ўлзЁв ЁҐ Ё§ ҐЈ® Ґ¤ЁЁжл). ‚ ¬®¬Ґв, Є®Ј¤
бзҐвзЁЄ ®Ўг«Ёвбп, ўл室Ґ OUT гбв ®ў«Ёў Ґвбп Їа殮ЁҐ
ўлб®Є®Ј® га®ўп Ё б®еа пҐвбп ¤® § Јаг§ЄЁ бзҐвзЁЄ ®ўл¬
§ 票Ґ¬. ‘зҐв ў®§¬®¦Ґ в®«мЄ® ЇаЁ «ЁзЁҐ бЁЈ « ўлб®Є®Ј®
га®ўп ўе®¤Ґ GATE. ЌЁ§ЄЁ© га®ўҐм нв®Ј® бЁЈ « Ё«Ё
ЁбЇ ¤ ойЁ© да®в § ЇаҐй ов бзҐв.
ЏҐаҐ§ Јаг§Є бзҐвзЁЄ ў® ўаҐ¬п ЇаЁў®¤Ёв Є б«Ґ¤го饬г:
§ Јаг§Є ¬« ¤иҐЈ® Ў ©в ®бв ў«Ёў Ґв ⥪гйЁ© бзҐв, § Јаг§Є
бв а襣® Ў ©в § ЇгбЄ Ґв ®ўл© жЁЄ« бзҐв . ЊЁЁ¬ «м® ¤®ЇгбвЁ¬®Ґ
§ 票Ґ бзҐвзЁЄ а ў® 2.
ђҐ¦Ё¬ 1 (¦¤гйЁ© ¬г«мвЁўЁЎа в®а). Ќ ўл室Ґ OUT д®а¬ЁагҐвбп
®ваЁж ⥫мл© Ё¬Їг«мб ¤«ЁвҐ«м®бвмо t=n*T, Ј¤Ґ n - зЁб«®,
§ Ја㦥®Ґ ў бзҐвзЁЄ, T - ЇҐаЁ®¤ в Єв®ўле Ё¬Їг«мб®ў. ЌЁ§ЄЁ©
га®ўҐм ўл室Ґ OUT гбв ў«Ёў Ґвбп б® б«Ґ¤го饣® в Єв Ї®б«Ґ
Ї®¤ зЁ ўе®¤ GATE бЁЈ « ўлб®Є®Ј® га®ўп.
‡ Јаг§Є ў бзҐвзЁЄ ®ў®Ј® зЁб« Ґ ў«ЁпҐв ¤«ЁвҐ«м®бвм
⥪г饣® Ё¬Їг«мб , гзЁвлў Ґвбп ЇаЁ б«Ґ¤го饬 § ЇгбЄҐ.
ЏҐаҐ§ ЇгбЄ бзҐвзЁЄ Їа®Ё§ў®¤Ёвбп а бв ойЁ¬ да®в®¬ ўе®¤ GATE
(ЎҐ§ ЇҐаҐ§ Јаг§ЄЁ бзҐвзЁЄ ). ЊЁЁ¬ «м®Ґ ¤®ЇгбвЁ¬®Ґ n=1.
ђҐ¦Ё¬ 2 (ЈҐҐа в®а з бв®вл). Љ ¦¤л© а § Ї®б«Ґ ¤®бвЁ¦ҐЁп
бзҐвзЁЄ®¬ г«п ўл室Ґ OUT Ї®пў«пҐвбп ®ваЁж ⥫мл© Ё¬Їг«мб б
¤«ЁвҐ«м®бвмо ®¤Ё в Єв. ЏҐаҐ§ Јаг§Є бзҐвзЁЄ бЄ §лў Ґвбп
в®«мЄ® Ї®б«Ґ ЇҐаҐ§ ЇгбЄ бзҐвзЁЄ . ЏаЁ Ёб祧®ўҐЁЁ бЁЈ «
ўлб®Є®Ј® га®ўп ўе®¤Ґ GATE ЇаҐЄа й Ґвбп бзҐв Ё ўл室 OUT
Ї®¤ Ґвбп Їа殮ЁҐ ўлб®Є®Ј® га®ўп. ЏҐаҐ§ ЇгбЄ бзҐвзЁЄ
Їа®Ёб室Ёв ЇаЁ «ЁзЁЁ ўе®¤Ґ GATE бЁЈ « ўлб®Є®Ј® га®ўп.
ђҐ¦Ё¬ 3 (ЈҐҐа в®а ¬Ґ ¤а ). Ђ «®ЈЁзҐ ०Ё¬г 2, ®
Ї®«®¦ЁвҐ«мл© га®ўҐм ўл室®Ј® бЁЈ « § Ё¬ Ґв ЇҐаўл©
Ї®«гЇҐаЁ®¤, ®ваЁж ⥫мл© - ўв®а®© Ї®«гЇҐаЁ®¤. ’®зҐҐ, Ґб«Ё n
( з «м®Ґ § 票Ґ бзҐвзЁЄ ) зҐв®, в® ¤«ЁвҐ«м®бвм
Ї®«®¦ЁвҐ«м®Ј® Ё ®ваЁж ⥫쮣® Ї®«гЇҐаЁ®¤®ў а ў n*T/2; Ґб«Ё
¦Ґ n ҐзҐв® - в® (n+1)*T/2 Ё (n-1)*’/2 ᮮ⢥б⢥®. ЌЁ§Є©
га®ўҐм бЁЈ « ўе®¤Ґ GATE § ЇаҐй Ґв бзҐв, ўл室Ґ OUT
гбв ў«Ёў Ґвбп бЁЈ « ўлб®Є®Ј® га®ўп. ‚лб®ЄЁ© га®ўҐм GATE
а §аҐи Ґв бзҐв, а бв ЁҐ ҐЈ® § ЇгбЄ Ґв бзҐвзЁЄ з «м®Ј®
б®бв®пЁп. Ћв¬ҐвЁ¬, зв® n=3 ў н⮬ ०Ё¬Ґ Ґ¤®ЇгбвЁ¬®.
ђҐ¦Ё¬ 4 (бзҐвзЁЄ б®ЎлвЁ©). Џ® ®Є®з ЁЁ ®вбзҐв зЁб« ,
§ Ја㦥®Ј® ў бзҐвзЁЄ, ўл室Ґ OUT д®а¬ЁагҐвбп ®ваЁж ⥫мл©
Ё¬Їг«мб ¤«ЁвҐ«м®бвмо ®¤Ё в Єв. ‡ ЇЁбм ў бзҐвзЁЄ ў® ўаҐ¬п бзҐв
¬« ¤иҐЈ® Ў ©в Ґ ў«ЁпҐв ⥪гйЁ© бзҐв, § ЇЁбм бв а襣®
Ў ©в ЇҐаҐ§ ЇгбЄ Ґв бзҐвзЁЄ. ЌЁ§ЄЁ© га®ўҐм ўе®¤ GATE § ЇаҐй Ґв
бзҐв, ўлб®ЄЁ© - а §аҐи Ґв. ЊЁЁ¬ «м®Ґ ¤®ЇгбвЁ¬®Ґ § 票Ґ
бзҐвзЁЄ а ў® 1.
ђҐ¦Ё¬ 5 (бзҐвзЁЄ б®ЎлвЁ© б ўв®§ Јаг§Є®©). Ћв«ЁзЁҐ ®в
०Ё¬ 4 б®бв®Ёв ў ⮬, зв® Є ¦¤®Ґ а бв ЁҐ бЁЈ « ўе®¤Ґ
GATE ЇҐаҐ§ ЇгбЄ Ґв бзҐвзЁЄ. ЏҐаҐ§ Јаг§Є бзҐвзЁЄ Ґ ў«ЁпҐв
⥪гйЁ© жЁЄ«, ®¤ Є® б«Ґ¤гойЁ© жЁЄ« ®ЇаҐ¤Ґ«пҐвбп ў®ўм
§ ҐбҐл¬ зЁб«®¬.
‚६ҐлҐ ¤Ё Ја ¬¬л ०Ё¬®ў в ©¬Ґа ЇаЁўҐ¤Ґл б«Ґ¤го饬
аЁбгЄҐ:
іЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪї
CLK ГЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩА
__ Гїn=5 ЪДДДДДДДДДДДДДДДДїn=4 ЪДДДДДДДДДДДДДДДДДД
WR іАДДДДЩ АДДДДЩ
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДї ЪДДДДДДДД
GATE ГДДДДДДДЩ АДДДЩ
ГДДДДДї ЪДДДДДДДДДї ЪДД
OUT і АДДДДДДДДДДДЩ АДДДДДДДДДДДДДДДЩ
і
n і 5 4 3 2 1 0 4 3 2 2 1 0
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ђҐ¦Ё¬ 0
іЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪї
CLK ГЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩА
__ Гїn=4 ЪДДДДДДїn=5 ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДД
WR іАДДДДЩ АДДДДЩ
і ЪДДДДДДДДДДї ЪДї ЪДДДДДДДДДДДДД
GATE ГДДДДДДДДДЩ АДДДДЩ АДДДДЩ
ГДДДДДДДДДДДї ЪДДДДДДДї ЪДД
OUT і АДДДДДДДЩ АДДДДДДДДДДДДДДДЩ
і
n і 4 3 2 1 0 5 4 3 5 4 3 2 1 0
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ђҐ¦Ё¬ 1
іЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪї
CLK ГЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩА
__ Гїn=4 ЪДДїn=3 ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
WR іАДДДДЩ АДДДДЩ
і ЪДДДДДДДДДДДДДДДДДДДДДДДДї ЪДДДДДДДДД
GATE ГДДДДДДЩ АДДДДЩ
ГДДДДДДДДДДДДДї ЪДДДДї ЪДДДДДї ЪДДДДДДДДДДї ЪДД
OUT і АДЩ АДЩ АДЩ АДЩ
і
n і 4 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ђҐ¦Ё¬ 2
іЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪї
CLK ГЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩА
__ Гїn=4 ЪДДДДДДДДДДДДДДДДїn=5 ЪДДДДДДДДДДДДДДДДДД
WR іАДДДДЩ АДДДДЩ
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї ЪДДД
GATE ГДДДДДЩ АДДДЩ
ГДДДДДДДДДДї ЪДДДДДї ЪДДДДДї ЪДДДДДДДД
OUT і АДДДДЩ АДДДДЩ АДДДДЩ
і
n і 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0 5 5 4
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ђҐ¦Ё¬ 3
іЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪї
CLK ГЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩА
__ Гїn=4 ЪДДДДДДДДДДДДДДДДїn=5 ЪДДДДДДДДДДДДДДДДДДДДД
WR іАДДДДЩ АДДДДЩ
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї ЪДДДДДДДДДДДДДД
GATE і АДДДЩ
ГДДДДДДДДДДДДДДї ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДї ЪД
OUT і АДЩ АДЩ
і
n і 4 3 2 1 0 5 5 4 3 2 1 0
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ђҐ¦Ё¬ 4
іЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪїЪї
CLK ГЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩАЩА
__ Гїn=4 ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
WR іАДДДДЩ
і ЪДДДДДДДДї ЪДї ЪДДДДДДДДДДДДДДДДД
GATE ГДДДДДДДДДЩ АДДДЩ АДДДЩ
ГДДДДДДДДДДДДДДДДДї ЪДДДДДДДДДДДДДДДДДї ЪДДДДДД
OUT і АДЩ АДЩ
і
n і 4 3 2 1 0 4 3 4 3 2 1 0
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ђҐ¦Ё¬ 5
‚ IBM PC в ©¬Ґа Ё¬ҐҐв Ў §®ўл© ¤аҐб 40h Ё б«Ґ¤гойЁҐ
Їа®Ја ¬¬ЁагҐ¬лҐ аҐЈЁбвал:
Ђ¤аҐб ЋЇҐа жЁп Ќ § 票Ґ
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
40h § ЇЁбм ‡ Јаг§Є бзҐвзЁЄ Є « 0
з⥨Ґ —⥨Ґ бзҐвзЁЄ Є « 0
41h § ЇЁбм ‡ Јаг§Є бзҐвзЁЄ Є « 1
з⥨Ґ —⥨Ґ бзҐвзЁЄ Є « 1
42h § ЇЁбм ‡ Јаг§Є бзҐвзЁЄ Є « 2
з⥨Ґ —⥨Ґ бзҐвзЁЄ Є « 2
43h § ЇЁбм ‡ ЇЁбм гЇа ў«по饣® б«®ў
ў ॣЁбва ०Ё¬ Є «
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
“Їа ў«по饥 б«®ў® Ё¬ҐҐв б«Ґ¤гойЁ© д®а¬ в:
7 6 5 4 3 2 1 0
ЪДВДДВДДВДДВДДВДДВДДВДДї
і і і і і ЃЁвл Њ бЄ
АДЕДДБДДЕДДБДДБВДБДДБДВЩ ДДДД ДДДДДДД
і і і А> 0: 0 = ¤ў®Ёзл© Є®¤, & 1
і і і 1 = ¤ў®Ёз®-¤ҐбпвЁзл© Є®¤
і і АДДДДДДД> 1-3: ०Ё¬ а Ў®вл Є « : & 0Eh
і і 000 - ०Ё¬ 0
і і 001 - ०Ё¬ 1
і і X10 - ०Ё¬ 2
і і X11 - ०Ё¬ 3
і і 100 - ०Ё¬ 4
і і 101 - ०Ё¬ 5
і АДДДДДДДДДДДДДД> 4-5: ўЁ¤ § Јаг§ЄЁ бзҐвзЁЄ : & 30h
і 00 - "§ 饫ЄЁў ЁҐ"
і (ЎЁвл 0-3 ЎҐ§а §«Ёзл)
і 01 - в®«мЄ® ¬« ¤иЁ© Ў ©в
і 10 - в®«мЄ® бв аиЁ© Ў ©в
і 00 - ¬« ¤иЁ© Ў ©в, § ⥬ бв аиЁ©
АДДДДДДДДДДДДДДДДДДДД> 6-7: ®¬Ґа Є « : a & C0h
00 - Є « 0
01 - Є « 1
10 - Є « 2
11 - § ЇаҐйҐ п Є®¬ЎЁ жЁп
‘гйҐбвўгҐв ¤ў бЇ®б®Ў з⥨п ⥪г饣® § 票п бзҐвзЁЄ
Є « .
1. —⥨Ґ б ®бв ®ў®¬ бзҐвзЁЄ . „«п ®ЎҐбЇҐзҐЁп бв ЎЁ«мле
Ї®Є § Ё© Ґ®Ўе®¤Ё¬® ЇаЁ®бв ®ўЁвм а Ў®вг Є « «ЁЎ® Ї®¤ 祩
бЁЈ « Ё§Є®Ј® га®ўп ўе®¤ GATE (Єа®¬Ґ ०Ё¬ 1), «ЁЎ®
Ў«®ЄЁа®ў ЁҐ¬ в Єв®ўле Ё¬Їг«мб®ў.
2. —⥨Ґ " «Ґвг". „«п бзЁвлў Ёп бзҐвзЁЄ ЎҐ§ ®бв ®ўЄЁ
Їа®жҐбб бзҐв ЁбЇ®«м§гҐвбп Ї®бл«Є ў Ї®ав 43h гЇа ў«по饣®
б«®ў ў ०Ё¬Ґ "§ 饫ЄЁў Ёп" (б¬. ўлиҐ). ќв® гЇа ў«по饥 б«®ў®
дЁЄбЁагҐв ⥪г饥 § 票Ґ бзҐвзЁЄ Ё ‚л ¬®¦ҐвҐ бзЁв вм ҐЈ®
¬« ¤иЁ© Ў ©в, § ⥬ бв аиЁ© Ў ©в.
4.2. ’ ©¬Ґа бЁб⥬®© Ї« ⥠IBM PC
‚ IBM PC Є «л в ©¬Ґа Ё¬Ґов б«Ґ¤го饥 § 票Ґ.
Љ « Ќ § 票Ґ ђҐ¦Ё¬
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
0 бЁбвҐ¬лҐ з бл (IRQ0) 3, бзҐвзЁЄ=0 (65536)
1 § Їа®б ¤«п Є « 0 Џ„Џ
(ॣҐҐа жЁп Ї ¬пвЁ) 2, бзҐвзЁЄ=18
2 ЈҐҐа в®а §ўгЄ ДД
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
’ Єв®ў п з бв®в Є ¦¤®Ј® Є « а ў 1,19318 Њѓж, в. Ґ.
Є ¦¤л© в Єв Ё¬ҐҐв ¤«ЁвҐ«м®бвм 0,84 ¬бҐЄ. ‚室 GATE Є «®ў 0 Ё
1 ўбҐЈ¤ Ё¬Ґов ўлб®ЄЁ© га®ўҐм, Ї®н⮬г бзҐв нвЁе Є « е
а §аҐиҐ ўбҐЈ¤ . ‚室 GATE Є « 2 гЇа ў«пҐвбп ЎЁв®¬ 0 Ї®ав PB
ЁвҐа䥩б 8255 (б¬. Ј«. 5), бўп§ ®Ј® б Ї®а⮬ 61h.
ЏаЁ з «м®© § Јаг§ЄҐ BIOS ЁЁжЁ «Ё§ЁагҐв Є « 0 ¤«п
а Ў®вл ў ०Ё¬Ґ 3 б® бзҐвзЁЄ®¬ 0 (в. Ґ. 65536 ¤ҐЄаҐ¬Ґв®ў
жЁЄ« бзҐв ). Џ®н⮬г з бв®в бЁб⥬ле з б®ў а ў
1,19 Њѓж/65536 = 18.2 ѓж
Ё ЇаҐалў ЁҐ IRQ0, бўп§ ®Ґ б ўҐЄв®а®¬ Int 8, Їа®Ёб室Ёв 18,2
а § ў ᥪг¤г, в. Ґ. Є ¦¤лҐ 55 ¬бҐЄ.
‚л ¬®¦ҐвҐ ЇҐаҐЇа®Ја ¬¬Ёа®ў вм Є « 0, ® в®Ј¤
- BIOS Ґ ᬮ¦Ґв ®вб«Ґ¦Ёў вм ⥪г饥 ўаҐ¬п Ё ¤ вг;
- агиЁвбп а Ў®в б ЈЁЎЄЁ¬Ё ¤ЁбЄ ¬Ё, в. Є. ўЄ«о票Ґ Ё
ўлЄ«о票Ґ Ёе ¤ўЁЈ ⥫Ґ© ®вбзЁвлў Ґвбп Ї® ⥪г饬㠢६ҐЁ.
Љ « 1 а Ў®в Ґв ў ०Ё¬Ґ 2 б® бзҐвзЁЄ®¬ 18, Ї®н⮬г
ॣҐҐа жЁп Ї ¬пвЁ Їа®Ёб室Ёв Є ¦¤лҐ 18 ¬бҐЄ. ЏҐаҐЇа®Ј-
а ¬¬Ёа®ў вм ҐЈ® Ґ«м§п, в. Є. нв® ЇаЁўҐ¤Ґв Є Ї®вҐаҐ ¤ ле ў
Ћ‡“.
Џа®Ја ¬¬Ёа®ў ЁҐ Є « 2 ®ЇЁб ® ў б«Ґ¤го饬 ЇгЄвҐ.
4.3. ѓҐҐа жЁп §ўгЄ
Ќ ўе®¤ §ўгЄ®ЈҐҐа в®а Ї®бвгЇ Ґв «®ЈЁзҐбЄ®Ґ "€" ¤ўге
бЁЈ «®ў: ўл室 OUT 2-Ј® Є « в ©¬Ґа Ё ᮤҐа¦Ё¬®Ј® ЎЁв 1
Ї®ав ђ‚ ЁвҐа䥩б 8255. Џ®н⮬㠯а®б⥩訩 бЇ®б®Ў ЈҐҐа жЁЁ
§ўгЄ б®бв®Ёв ў Їа®Ја ¬¬Ёа®ў ЁЁ Є « 2 в ©¬Ґа в Є, зв®Ўл ®
ўл¤ ў « Їаאַ㣮«мл© Ё¬Їг«мб § ¤ ®© з бв®вл, «Ґ¦ йЁ© ў
§ўгЄ®ў®¬ ¤Ё Ї §®Ґ (20 ѓж - 20 Љѓж). „«п нв®Ј® б«Ґ¤гҐв
ЁбЇ®«м§®ў вм ०Ё¬ в ©¬Ґа 3 б Ї®¤е®¤пйЁ¬ з «мл¬ § 票Ґ¬
бзҐвзЁЄ . …б«Ё § ⥬ гбв ®ўЁвм ЎЁвл 0 Ё 1 Ї®ав ђ‚, в® Ё¬Їг«мб
зҐв Ї®бвгЇ вм ўе®¤ §ўгЄ®ЈҐҐа в®а (ЎЁв 0 - нв® ўе®¤ GATE
Є « 2, а §аҐи ойЁ© бзҐв, ЎЁв 1 - а §аҐиҐЁҐ ўл¤ зЁ ўл室
OUT ўе®¤ §ўгЄ®ЈҐҐа в®а ). „«п ўлЄ«озҐЁп §ўгЄ ¤®бв в®з®
бЎа®бЁвм ЎЁвл 0 - 1 ў ђ‚. ЏаҐЁ¬гйҐбвў® нв®Ј® ¬Ґв®¤ б®бв®Ёв ў
⮬, зв®, § ЇгбвЁў ЈҐҐа жЁо §ўгЄ , –Џ ¬®¦Ґв ўлЇ®«пвм ¤агЈЁҐ
¤Ґ©бвўЁп. ‡ 票Ґ бзҐвзЁЄ 2-Ј® Є « ўлзЁб«пҐвбп Ї® д®а¬г«Ґ
n=1193181/f=1234DDh/f (1193181 - в Єв®ў п з бв®в в ©¬Ґа ў ѓж,
f - вॡ㥬 п з бв®в §ўгЄ ).
ЏаЁ¬Ґа:
;
; Ї®¤Їа®Ја ¬¬ ЈҐҐа жЁЁ §ўгЄ
; ‚室: ЂX= з бв®в §ўгЄ ў ѓж
;
Sound proc near
push ax ;б®еа Ёвм ॣЁбвал
push bx
push dx
mov bx,ax ;з бв®в
mov ax,34DDh
mov dx,12h ;(dx,ax)=1193181
cmp dx,bx ;Ґб«Ё bx < 18ѓж, в® ўл室
jnb Done ;зв®Ўл Ё§ЎҐ¦ вм ЇҐаҐЇ®«ҐЁп
div bx ;ax=(dx,ax)/bx
mov bx,ax ;бзҐвзЁЄ в ©¬Ґа
in al,61h ;Ї®ав ђ‚
or al,3 ;гбв ®ўЁвм ЎЁвл 0-1
out 61h,al
mov al,00001011b ;гЇа ў«по饥 б«®ў® в ©¬Ґа :
;Є « 2, ०Ё¬ 3, ¤ў®Ёз®Ґ б«®ў®
mov dx,43h
out dx,al ;ўлў®¤ ў ॣЁбва ०Ё¬
dec dx
mov al,bl
out dx,al ;¬« ¤иЁ© Ў ©в бзҐвзЁЄ
mov al,bh
out dx,al ;бв аиЁ© Ў ©в бзҐвзЁЄ
Done:
pop dx ;ў®ббв ®ўЁвм ॣЁбвал
pop bx
pop ax
ret
Sound endp
;
;Ї®¤Їа®Ја ¬¬ ўлЄ«озҐЁп §ўгЄ
;
No_Sound proc near
push ax
in al,61h ;Ї®ав ђ‚
and al,not 3 ;бЎа®б ЎЁв®ў 0-1
out 61h,al
pop ax
ret
No_Sound endp
„«п ЈҐҐа жЁЁ ¬г§лЄЁ ¬®¦® ЁбЇ®«м§®ў вм б«Ґ¤гойЁ© «Ј®аЁв¬.
Џгбвм octave - ®¬Ґа ®Єв ўл (1, 2, ...); note - ®¬Ґа ®вл ў
®Єв ўҐ (¤®=1, ¤®#=2, ..., бЁ=12). ’®Ј¤ :
f := 32.625;
for i := 1 to oktave do f := 2*f;
for i := 1 to note do f := 1.059463094*f
Sound (round(f));
‚в®а®© бЇ®б®Ў ЈҐҐа жЁЁ §ўгЄ б®бв®Ёв ў ⮬, зв®Ўл
ЈҐҐаЁа®ў вм §ўгЄ®ўлҐ Ё¬Їг«мбл Ґ ўл室®¬ в ©¬Ґа , гбв ®ўЄ®©
Ё бЎа®б®¬ ЎЁв 1 ў ॣЁбвॠђ‚. „«п гЇа ў«ҐЁп § ¤Ґа¦Є ¬Ё ¬®¦®
ЁбЇ®«м§®ў вм Їа®Ја ¬¬л© жЁЄ«, ЇаЁ¬Ґа:
;
; Џа®Ја ¬¬ ЈҐҐа жЁЁ §ўгЄ
; ‚室: N=Є®«ЁзҐбвў® Ё¬Їг«мб®ў
; FREQ=¤«ЁвҐ«м®бвм Ё¬Їг«мб
;
in al,61h ;Ї®ав ђ‚
and al,not ;бЎа®б ЎЁв 0
mov dx,N
Repeat:
or al,2
out 61h,al ;гбв ®ўЁвм ЎЁв 1
mov cx,FREQ
Wait_On:
loop Wait_On
and al,not 2 ;бЎа®бЁвм ЎЁв 1
out 61h,al
mov cx,FREQ
Wait_Off:
loop Wait_Off
dec dx
jnz Repeat
Џа®Ја ¬¬Ёа®ў ЁҐ нв®Ј® бЇ®б®Ў ®б®ў ® б«Ґ¤гойЁе
д®а¬г« е. …б«Ё ’ - ¤«ЁвҐ«м®бвм §ўгз Ёп ў ᥪ, f - з бв®в
§ўгЄ ў ѓж, t - в Єв®ў п з бв®в Їа®жҐбб®а Џќ‚Њ, в®
N=T*f; FREQ=t/(34*f).
Љ®бв в 34 ®ЎкпбпҐвбп ⥬, зв® ¤«ЁвҐ«м®бвм Є ¦¤®Ј® Ё§
жЁЄ«®ў Wait_on Ё Wait_off ЇаЁЎ«Ё§ЁвҐ«м® а ў (17*cx) ¬ иЁле
в Єв®ў.
ЌҐг¤®Ўбвў® нв®Ј® ¬Ґв®¤ б®бв®Ёв ў ⮬, зв® –Џ Ї®«®бвмо
§ пв ЈҐҐа жЁҐ© §ўгЄ - «оЎ®Ґ ЇаҐалў ЁҐ ЁбЇ®авЁв ўаҐ¬Ґго
¤Ё Ја ¬¬г §ўгЄ®ў®Ј® бЁЈ « . Ћ¤ Є® ® ®ЎҐбЇҐзЁў Ґв в®зго
Ї®¤бва®©Єг з бв®вл Ё Ї®§ў®«пҐв ᮧ¤ ў вм ҐбЁ¬¬ҐваЁзлҐ Ё¬Їг«мбл
ў амЁа®ў ЁҐ¬ § ¤Ґа¦ҐЄ ў жЁЄ« е Wait_on Ё Wait_off.
Соседние файлы в папке лекции - что-то похожее