ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° срСды для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ модСлирования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ устройства

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ взаимодСйствия Π£Π ΠΈ ΠžΠ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ состояния Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… всС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅, Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ Π£Π Π² ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Π£Π спроСктирован ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ Мили Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ памяти Π½Π° D Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°Ρ…, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π“Π‘А Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ, Π·Π°Π΄Π°ΡŽΡ‰ΡƒΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Π£Π. Π―Π·Ρ‹ΠΊ программирования ΠΈ Π³Ρ€Π°Ρ„ичСский Ρ€Π΅ΠΆΠΈΠΌ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° срСды для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ модСлирования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ устройства (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

1. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΠ±Ρ‰ΠΈΠ΅ трСбования ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅

1.1 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

1.2 Π―Π·Ρ‹ΠΊ программирования ΠΈ Π³Ρ€Π°Ρ„ичСский Ρ€Π΅ΠΆΠΈΠΌ

1.3 ΠžΡ‚Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ

2. Авторская ΠΎΡ†Π΅Π½ΠΊΠ° соотвСтствия качСства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹ΠΌ трСбованиям

3. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ постановка Π·Π°Π΄Π°Ρ‡ΠΈ

3.1 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

3.2 ОписаниС структурной схСмы ОУ

4. ОписаниС процСсса проСктирования

4.1 ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ МО ΠΈ Π›Π£

4.2 Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° состояний Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°

4.3 ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ структурной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°

4.4 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтами памяти

5. ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

5.1 ВрСбования ΠΊ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠžΠ‘

5.2 Использованная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΡΠ·Ρ‹ΠΊ программирования

6. ОписаниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса ΠΈ ΠΈΠ½ΡΡ‚рукция ΠΏΠΎ ΠΈΠ½ΡΡ‚алляции ΠΈ Π·Π°ΠΏΡƒΡΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

1. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΠ±Ρ‰ΠΈΠ΅ трСбования ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅

1.1 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° интСрфСйс инсталляция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

— ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполнСния арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ГБА (см. Π ΠΈΡ. 1);

— Ρ‚рСбования ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ уровням ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌ модСлирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°;

— Ρ‚рСбования ΠΊ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ возмоТностям интСрфСйсных срСдств срСды модСлирования;

— Ρ‚рСбования ΠΊ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡŽ ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ записки ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ям ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ устройство считаСтся состоящим ΠΈΠ· ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° (УА) ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° (ОА).

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠžΠ Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ируСтся. ΠžΡΠ½ΠΎΠ²Ρƒ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠžΠ составляСт Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… выполнСния ΠΌΠΈΠΊΡ€ΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ ΠΊΠΎΠ΄Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ логичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ сигналы ΠžΠ ΠΎ ΡΠΎΡΡ‚ояниях ΠΊΠΎΠ΄ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ разрядных сСток для прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ГБА. Для прСдставлСния этих Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ студСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ языка программирования.

Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ срСдС модСлирования Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° уровня модСлирования ΠžΠ£:

— ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

— ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ взаимодСйствия Π£Π ΠΈ ΠžΠ;

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠžΠ£ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ВСтвлСния Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ срСдствами условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if. МодСль ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… выполнСния ΠΌΠΈΠΊΡ€ΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π­Ρ‚Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ закладываСтся Π² Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ модСлирования ΠžΠ£ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выполнСния арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠžΠ£ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ взаимодСйствия Π£Π ΠΈ ΠžΠ.

МодСль Π£Π строится Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² проСктирования Π£Π ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° Мили Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅.

МодСль Π£Π Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ Y ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… сигналов, Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠžΠ Π΄ΠΎ ΡƒΡ€ΠΎΠ²Π½Ρ ΠΌΠΈΠΊΡ€ΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. МодСль ОА Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π°Π½Π°Π»ΠΈΠ·Π° состояния Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Y Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ выполнСния ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Π·Π°Ρ‚Π΅ΠΌ вычисляСт Π²Π΅ΠΊΡ‚ΠΎΡ€ X Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… Π½Π° Π²Ρ…ΠΎΠ΄ Π£Π.

Π’ ΠΌΠΎΠ΄Π΅Π»ΠΈ этого Ρ€Π΅ΠΆΠΈΠΌΠ° запрСщаСтся Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ модСлирования ΠΌΠΈΠΊΡ€ΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. КаТдая такая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ слСдствиС обнаруТСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠ³ΠΎ) состояния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Y.

МодСль Π£Π Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ:

— ΠΏΠ°ΠΌΡΡ‚ΡŒ состояний (ПБ) УА Π½Π° D Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°Ρ…;

— Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ΄ΠΎΠ² (Π”Πš) состояний Π£Π (это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ структурный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ УА);

— ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ схСмы (КБ), Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов Y, ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ D ΡΠΈΠ³Π½Π°Π»ΠΎΠ² управлСния состояниями разрядов ΠŸΠ‘ УА,

— ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π° D Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°Ρ… для запоминания Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° логичСских условий.

МодСли ΠšΠ‘ строятся Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‚. Π΅. ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Y ΠΈ D.

Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ срСдС Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ модСлирования Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° модСлирования ΠžΠ£:

— ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ выполнСния ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

— Π°Π²Ρ‚оматичСский Ρ€Π΅ΠΆΠΈΠΌ выполнСния ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² прСдполагаСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Π½Π°Π΄ΠΏΠΈΡΡŒΡŽ Ρ‚ΠΈΠΏΠ° «Π’Π°ΠΊΡ‚». КаТдоС Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° 1 Ρ‚Π°ΠΊΡ‚. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, этот Ρ‚Π°ΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ½ΡΡ‚ΠΈΡŽ Ρ‚Π°ΠΊΡ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠžΠ£ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π£Π Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° Ρ‚ΠΈΠΏΠ° Мили.

Π’ Π°Π²Ρ‚оматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдполагаСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Π½Π°Π΄ΠΏΠΈΡΡŒΡŽ Ρ‚ΠΈΠΏΠ° «Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠœΠŸ». ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΡΡ‚Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСтся с Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π±Π΅Π· Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ автоматичСски.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ½Ρ‹Π΅ срСдства срСды модСлирования Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ:

— Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½Π΅ ГБА, Ρ€Π°Π·ΠΌΠ΅Ρ‡Π΅Π½Π½ΡƒΡŽ состояниями Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Мили;

— Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ любой ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² модСлирования:

— Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ;

— ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ процСсс выполнСния ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ ΡˆΠ°Π³Π°ΠΌ (ΠΏΠΎ Ρ‚Π°ΠΊΡ‚Π°ΠΌ) с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ всСх ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠΎΠ΄ΠΎΠ²;

— Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ автоматичСски;

— ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ всС измСнСния ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅;

— ΠΏΡ€ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ взаимодСйствия Π£Π ΠΈ ΠžΠ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ состояния Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… всС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅, Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ Π£Π Π² ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Π£Π спроСктирован ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ Мили Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ памяти Π½Π° D Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°Ρ…, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π“Π‘А Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ, Π·Π°Π΄Π°ΡŽΡ‰ΡƒΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Π£Π.

Рис. 1. ГБА

1.2 Π―Π·Ρ‹ΠΊ программирования ΠΈ Π³Ρ€Π°Ρ„ичСский Ρ€Π΅ΠΆΠΈΠΌ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° выполняСтся с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ срСды C# ΠΈΠ»ΠΈ срСды ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΠΎΠ³ΠΎ языка программирования высокого уровня, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для создания Windows ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ графичСский Ρ€Π΅ΠΆΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ TrueColor с ΠΏΡ€ΠΎΡΡ‚ранствСнным Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ 1024*768 пиксСлСй.

1.3 ΠžΡ‚Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ:

— ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ;

— ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ записка.

ΠΠΎΡΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ:

— ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты всСх Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†;

— ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ², достаточный для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (ОБ) ΠΈ ΡΡ€Π΅Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ;

— «Π±ΡƒΠΌΠ°ΠΆΠ½ΡƒΡŽ» ΠΈ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ вСрсии ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ записки, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ Π² Ρ‚Скстовом процСссорС Word вСрсии 2000 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅ с ΡΠΎΠ±Π»ΡŽΠ΄Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π“ΠžΠ‘Π’ΠΎΠ² Π½Π° ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ тСхничСских тСкстов;

— Ρ„Π°ΠΉΠ» readme с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅, языкС программирования ΠΈ ΠΎΠ± ΠžΠ‘.

ΠŸΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ записка Π΄ΠΎΠ»ΠΆΠ½Π°:

— ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ процСсс проСктирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°;

— ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ описаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ;

— ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ инструкции ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ интСрфСйсных срСдств.

2. Авторская ΠΎΡ†Π΅Π½ΠΊΠ° соотвСтствия качСства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹ΠΌ трСбованиям ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° удовлСтворяСт всСм основным трСбованиям, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² Π·Π°Π΄Π°Π½ΠΈΠΈ. Π’ Π½Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠžΠ£ (Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ взаимодСйствия Π£Π ΠΈ ΠžΠ), ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ всСй Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π² Π°Ρ€ΠΈΡ„мСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ»ΠΎΡΡŒ Π² ΡΡ€Π΅Π΄Π΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ‰ΠΈΠΌ трСбованиям ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. МодСль Π½Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… тСстах Π²Π΅Π»Π° сСбя Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρƒ.

3. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ постановка Π·Π°Π΄Π°Ρ‡ΠΈ

3.1 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ постановка Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π£Π Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° Мили Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π½Π° D-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°Ρ….

ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ осущСствляСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ дСлСния Π±Π΅Π· восстановлСния остатка.

А (15:0) — Π΄Π΅Π»ΠΈΠΌΠΎΠ΅, прСдставлСнноС Π² ΠΏΡ€ΡΠΌΠΎΠΌ ΠΊΠΎΠ΄Π΅;

Разрядная сСтка: 16 Π±ΠΈΡ‚;

Π’ (16:0) — Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, прСдставлСнный Π² ΠΏΡ€ΡΠΌΠΎΠΌ ΠΊΠΎΠ΄Π΅;

Разрядная сСтка: 17 Π±ΠΈΡ‚;

Π‘ (16:0) — частноС, прСдставлСнноС Π² ΠΏΡ€ΡΠΌΠΎΠΌ ΠΊΠΎΠ΄Π΅;

Разрядная сСтка: 17 Π±ΠΈΡ‚;

Π‘Π§ (3:0) — счСтчик Ρ†ΠΈΠΊΠ»ΠΎΠ²;

Разрядная сСтка: 4 Π±ΠΈΡ‚Π°;

ПП — ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ пСрСполнСния.

ОписаниС особСнностСй Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² Π²ΠΈΠ΄Π΅ ГБА:

1. Π’ ΠœΠŸ прСдусмотрСн исход «ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ разрядной сСтки». ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ фиксируСтся, Ссли Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π²Π½ΠΎΠ΅ Π½ΡƒΠ»ΡŽ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ фиксируСтся, Ссли AB. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ частноС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ строго мСньшС 1. ΠžΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ A ΠΈ B Ρ‚Π°ΠΊ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ строго мСньшС 1.

2. Π’ ΠœΠŸ прСдусмотрСн ускорСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ получСния частного Π² ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΈΠΌΠΎΠ΅ Ρ€Π°Π²Π½ΠΎ 0.

3. Π’ ΠœΠŸ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ прСдставлСнными Π² ΠΏΡ€ΡΠΌΠΎΠΌ ΠΊΠΎΠ΄Π΅.

4. Π’ ΠœΠŸ количСство ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π° всСгда Π½Π° 1 большС количСства вычисляСмых разрядов частного. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ цикличСской части Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠœΠž ΠΏΠΎ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΡŽ вычислСнного частного.

5. Π’ ΠœΠŸ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ дСлСния Π±Π΅Π· восстановлСния остатка.

3.2 ОписаниС структурной схСмы ОУ Рис. 2. Бтруктурная схСма ОУ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ устройство состоит ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° (ОА) ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° (УА). Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ОА ΠΏΡ€ΠΈ этом Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚риваСтся.

На ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠΉ схСмС (см. Ρ€ΠΈΡ. 2) прСдставлСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π£Π:

— ΠΏΠ°ΠΌΡΡ‚ΡŒ состояний (ПБ) УА Π½Π° D Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°Ρ…, которая ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для хранСния состояний. Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ для ΠŸΠ‘ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠšΠ‘ D.

— Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ΄ΠΎΠ² (Π”Π¨) состояний Π£Π;

— ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ схСмы (КБ), Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов Y, ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ D ΡΠΈΠ³Π½Π°Π»ΠΎΠ² управлСния состояниями разрядов ΠŸΠ‘ УА;

— ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π° D Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°Ρ… для запоминания Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° логичСских условий.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π£Π являСтся Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠΌ Мили, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ логичСских условий (ΠŸΠ›Π£) для условий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Ρ‹ Π½Π° Π“Π‘А ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ X2, X3. Если Π±Ρ‹ это Π½Π΅ Π±Ρ‹Π»ΠΎ сдСлано, ОА Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ» Π±Ρ‹ МО ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π° Π£Π ΠΌΠΎΠ³ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΎΡΡ‚ояниС ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ. Π’Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ для хранСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ условия Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π² ΠœΠŸ Π·Π° ΡΡ‚ΠΈΠΌ условиСм слСдуСт Π±Π»ΠΎΠΊ МО, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ условия.

Для X0, X1, X4, X5, X6 Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти Π½Π΅ Ρ‚рСбуСтся Π²Π²ΠΈΠ΄Ρƒ сказанного Π²Ρ‹ΡˆΠ΅. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти трСбуСтся для условий X2 ΠΈ X3 Ρ‚. ΠΊ. Π½Π° Π“Π‘А слСдом Π·Π° Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условий X2 ΠΈ X3 находятся Π±Π»ΠΎΠΊΠΈ, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ содСрТимоС C. Если Π½Π΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ значСния X2, X3, ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ситуация, ΠΊΠΎΠ³Π΄Π° ΠžΠ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ C, ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ X2 ΠΈ (ΠΈΠ»ΠΈ) X3, ΠΈ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… этого ΠΆΠ΅ Ρ‚Π°ΠΊΡ‚Π° ΠšΠ‘ D Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡƒΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌΠΈ X2 ΠΈ X3. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π£Π ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ Π² Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ состояниС.

Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… сигналов выполняСт комбинационная схСма «ΠšΠ‘ Y». Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сигналов для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ выполняСт комбинационная схСма «ΠšΠ‘ D».

КБ Y ΠΈ ΠšΠ‘ D Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ сигналы ΠŸΠ‘ ΠΈ ΡΠΈΠ³Π½Π°Π»Ρ‹, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ состояниС логичСских условий: X0, X1, X'2, X'3, X4, X5 ΠΈ X6. X'2 ΠΈ X'3 — Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ ΠŸΠ›Π£. Они ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ значСниям X2 ΠΈ X3 Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ‡Π°Π»Π° Ρ‚Π°ΠΊΡ‚Π° (Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ МО).

4. ОписаниС процСсса проСктирования

4.1 ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ МО ΠΈ Π›Π£

Π’Π°Π±Π»ΠΈΡ†Π° 1. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ МО

β„–

МО

МК

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ

y0

C:=A (14:0)

y1

А (14:0):=B (14:0)

y2

C:=C+11.A?(14:0)+1

y3

C:=C+A (14:0)

y4

ПП:=1

y5

C:=L1(C.0)

y6

Π‘Π§:=0

y7

B (15:0):=0

y8

B (15:0):=L1(B (15:0).C?(16))

y9

Π‘Π§:=Π‘Π§-1

y10

Π‘:=B (15:0)

y11

C (16:1):=C (16:1)+1

y12

C (16):=1

y13

Π’Π°Π±Π»ΠΈΡ†Π° 2. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π›Π£.

β„–

Π›Π£

Код Π›Π£

ΠŸΡƒΡΠΊ

x0

A (14:0)=0

x1

C=0

x2

C (16)=1

x3

Π‘Π§=0

x4

B (0)

x5

A (15) + B (16)

x6

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΈΠΌ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ГБА (Рис. 1).

4.2 Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° состояний Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° Рис. 3. Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° состояний Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°

4.3 ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ структурной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° Π’Π°Π±Π»ΠΈΡ†Π° 3. ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ структурная Ρ‚Π°Π±Π»ΠΈΡ†Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°.

β„–

am

kam

as

kas

Xamas

Yamas

Famas

Tamas

a0

a0

x?0

;

a0x?0

a1

x?1x2

y0

a1x?1x2

a9

x?5x?6

y0

a9x?5x?6

a10

x?6

y0

a10x?6

a11

y0

a11

a0

a1

x0

y1, y2

D3, D2

a0x0

a1

a2

x?1x?2

y3

D1

a1x?1x?2

a2

a3

x3

y4

D1, D0

a2x3

a3

a4

y6, y7, y8

D2, D0

a3

a4

a5

y3

D2

a4

a8

x?4

y3

a8x?4

a5

a6

y9

D2, D1

a5

a6

a7

x3

y4

D2, D1, D0

a6x3

a6

a8

x?3

y6, y10

D3

a6x?3

a7

y6, y10

a7

a8

a9

x4

y11

D3, D0

a8x4

a9

a10

x5

y12

D3, D1

a9x5

a1

a11

x1

y5

D0

a1x1

a2

x?3

y5

a2x?3

a9

x?5x6

y13

a9x?5x6

a10

x6

y13

a10x6

ПослС этого производится ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ состояний:

ka0 -0000;

ka1 -1100;

ka2 -0010;

ka3 -0011;

ka4 -0101;

ka5 -0100;

ka6 -0110;

ka7 -0111;

ka8 -1000;

ka9 -1001;

ka10 -1010;

ka11 -0001;

Кодом 0000 кодируСтся состояниС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ большС всСго ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌ состояния с Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΠΌ количСством ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΠ· Π½Π΅Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ΄Π°ΠΌΠΈ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством Π΅Π΄ΠΈΠ½ΠΈΡ†.

4.4 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтами памяти

y0= a1x?1x2 v a9x?5x?6 v a10x?6 v a11

y1 = y2 = a0x0

y3 = a1x?1x?2 v a8x?4 v a4

y4 = a2x3 v a6x3 = (a2 v a6) x3

y5 = a1x1 v a2x?3

y6= a3 v a6x?3 v a7

y7= y8= a3

y9 = a5

y10 = a6x?3 v a7

y11= a8x4

y12= a9x5

y13= a9x?5x6 v a10x6

D0=a1x1 v a2x?3va9x?5x6v a10x6v a8x4v a6x3v a3 v a2x3= a1x1 v a2 v a3v a6x3v a8x4va9x?5x6v a10x6

D1=a1x?1x?2 v a2x3 v a5 v a9x5 v a6x3

D2= a0x0 v a3 v a5 v a4 v a8x?4 v a6x3

D3=a0x0v a6x?3 v a7 v a8x4 v a9x5

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ модСлирования взаимодСйствия Π£Π ΠΈ ΠžΠ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ устройство прСдставляСтся Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ. Рассмотрим это взаимодСйствиС Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ½Ρ…Ρ€ΠΎΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°:

Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠŸΠ‘ ΠΈ ΠŸΠ›Π£, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ синхронизируСмыми, Ρ‚. Π΅. ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ состояниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ воздСйствиСм ΡΠΈΠ½Ρ…Ρ€ΠΎΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°; Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠŸΠ‘ появляСтся ΠΊΠΎΠ΄, сформированный Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ‚Π°ΠΊΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ КБD, Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠŸΠ›Π£ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° X (Π²Π΅ΠΊΡ‚ΠΎΡ€ Ρ„Π»Π°Π³ΠΎΠ² условий), ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ X2 ΠΈ X3;

Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ схСмы, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

Π”Π΅ΡˆΠΈΡ„Ρ€Π°Ρ‚ΠΎΡ€ DecoderΡ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ состояниС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°;

КБY — Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° X ΠΈ ΡΠΎΡΡ‚ояния A Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ Y, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт Π½Π°Π±ΠΎΡ€ ΠΌΠΈΠΊΡ€ΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся Π½Π° Π΄Π°Π½Π½ΠΎΠΌ шагС выполнСния;

Π’Π΅ΠΊΡ‚ΠΎΡ€ Y ΠΎΠ±Ρ€Π°Π±Π°Ρ‚ываСтся ОА, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ… МО, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Y Ρ€Π°Π²Π½Π° 1, послС выполнСния всСх ΠœΠž обновляСтся Π²Π΅ΠΊΡ‚ΠΎΡ€ X (Ρ‚ΠΎΡ‡Π½Π΅Π΅ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ X1-X6, X0 Π½Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅Ρ‚ся, Ρ‚.ΠΊ. ΠΎΠ½ Ρ€Π°Π²Π΅Π½ 1 Π½Π° ΠΏΡ€ΠΎΡ‚яТСнии всСго процСсса модСлирования);

КБD — Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° X ΠΈ ΡΠΎΡΡ‚ояния A Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ D, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ состояниС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ влияния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ выполнСния МО, ΠΏΠ΅Ρ€Π΅Π΄ срабатываниСм ΠžΠ рСгистры AM ΠΈ BM Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ Π² Π±ΡƒΡ„Π΅Ρ€Π½Ρ‹Π΅ рСгистр R Ρ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚ся дСйствия, Π·Π°Ρ‚Π΅ΠΌ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ рСгистры.

Π’Π΅ΠΊΡ‚ΠΎΡ€ X ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ КБD ΠΈ ΠšΠ‘Y отличаСтся ΠΎΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° X Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠžΠ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊ Π½Π΅ΠΌΡƒ добавляСтся ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° X0 ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ· ΠŸΠ›Π£ (X2 ΠΈ X3);

5 ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

5.1 ВрСбования ΠΊ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ОБ Для функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ IBM — совмСстимый ΠŸΠš класса Pentium (с Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотой ΠΎΡ‚ 1000 ΠœΠ“Ρ†) ΠΈ Π²Ρ‹ΡˆΠ΅, Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌ — VGA (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 16 Π±ΠΈΡ‚), ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ экрана 1024×768 Ρ‚ΠΎΡ‡Π΅ΠΊ (ΠΈΠ»ΠΈ большС), с ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠžΠ‘ Windows 2000 — 8.

5.2 Использованная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΡΠ·Ρ‹ΠΊ программирования ΠŸΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовалась интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ VisualStudio, язык Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ — C#.

5.3 ОписаниС структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

//АвтоматичСскоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

privatevoid btAuto_Click (object sender, EventArgs e)

//Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ‚Π°ΠΊΡ‚Π°ΠΌ

privatevoid btStep_Click (object sender, EventArgs e)

//ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹

privatevoid btClear_Click (object sender, EventArgs e)

//ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚

privatebool[] OA (byte[] Y)

//Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСгистр для выполнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΡ‚

publicvoid SetDopReg (UInt16 Per)

//ΠŸΠ°ΠΌΡΡ‚ΡŒ Π½Π° D-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°Ρ…

publicbyte[] StateMemory (bool Sync, byte D0, byte D1, byte D2, byte D3)

//ΠŸΠ°ΠΌΡΡ‚ΡŒ логичСских условий

publicbool[] LogicMemoryCond (bool Sync, bool[] X)

//Π”Π΅ΡˆΠΈΡ„Ρ€Π°Ρ‚ΠΎΡ€

publicbyte Decoder (byte[] DTr)

//ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ схСма Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² D

publicbyte[] KSD (byte Ai, bool[] Xx)

//ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ схСма Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Y

publicbyte[] KSY (byte Ai, bool[] Xi)

//РСализация счСтчика

publicvoid Counter (refushort Count)

//Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ устройства

publicvoid OAandYA ()

//Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

publicvoid Microprogram ()

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² прСдставлСно Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 1.

6. ОписаниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса ΠΈ ΠΈΠ½ΡΡ‚рукция ΠΏΠΎ ΠΈΠ½ΡΡ‚алляции ΠΈ Π·Π°ΠΏΡƒΡΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ exe-Ρ„Π°ΠΉΠ» (Project.exe).

Для Π²Π²ΠΎΠ΄Π° исходных Π΄Π°Π½Π½Ρ‹Ρ… слуТат Π΄Π²Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… разрядныС сСтки чисСл А (Π΄Π΅Π»ΠΈΠΌΠΎΠ΅) ΠΈ Π’ (Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ). Π—Π½Π°ΠΊ вводится самым ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ символом (0 — «+» ΠΈΠ»ΠΈ 1 — «-»). Π‘ΠΏΡ€Π°Π²Π° ΠΎΡ‚ ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ значСния A, B Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. Для измСнСния значСния разряда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΌΡƒ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ.

Для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ «Π¨Π°Π³». Для автоматичСского выполнСния ΠœΠŸ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΠ²Ρ‚оматичСскоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅».

Π Π΅ΠΆΠΈΠΌ модСлирования Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ устройства зависит Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ.

На Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ «ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°» располоТСна ГБА. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ модСлирования Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π“Π‘А Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ показываСтся состояниС Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚.

На Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ «Π’заимодСйствиС УА ΠΈ ΠžΠ» располоТСна структурная схСма Π£Π с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ всСх Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… Π½Π° Π²Ρ…ΠΎΠ΄ схСмы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ схСмы ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… Π½Π° Π΅Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π΅.

Π’Π°ΠΊΠΆΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ присутствуСт ΠΊΠ½ΠΎΠΏΠΊΠ° «Π‘брос», которая обнуляСт значСния всСх рСгистров ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠœΠŸ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Рисунок 1. Окно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

//АвтоматичСскоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

privatevoid btAuto_Click (object sender, EventArgs e)

{

Sync = true;

isStart = true;

while (!EndY)

{

if (rbOAandYA.Checked)

{

OAandYA ();

}

else

{

Microprogram ();

}

}

State_Ai = 0;

stateChanged (State_Ai);

}

//Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ‚Π°ΠΊΡ‚Π°ΠΌ

privatevoid btStep_Click (object sender, EventArgs e)

{

Sync = true;

isStart = true;

if (!EndY)

{

if (rbOAandYA.Checked)

{

OAandYA ();

}

else

{

Microprogram ();

}

}

}

//ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹

privatevoid btClear_Click (object sender, EventArgs e)

{

Count = 0;

PP = false;

A = 0;

B = 0;

C = 0;

DTr[0] = 0;

DTr[1] = 0;

DTr[2] = 0;

DTr[3] = 0;

_X3 = false;

_X2 = false;

Registr = 0;

firstVar = «» ;

secondVar = «» ;

State_Ai = 0;

tbDecA.Text = «» ;

tbDecB.Text = «» ;

tbOutC.Text = «» ;

EndY = false;

RegPP[0, 0]. Value = 0;

SetsResult (RegC, 0, tbOutC);

SetA (lvVarA, 0);

SetB (lvVarB, 0);

}

//ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚

privatebool[] OA (byte[] Y)

{

for (int i = 0; i < 14; i++)

{

if (Y[i] ≠ 0)

{

switch (i)

{

case 0:

Y0_END ();

break;

case 1:

Y1();

break;

case 2:

Y2();

break;

case 3:

Y3();

break;

case 4:

Y4();

break;

case 5:

Y5();

break;

case 6:

Y6();

break;

case 7:

Y7();

break;

case 8:

Y8();

break;

case 9:

Y9();

break;

case 10:

Y10();

break;

case 11:

Y11();

break;

case 12:

Y12();

break;

case 13:

Y13();

break;

}

X[0] = X0();

X[1] = X1();

X[2] = X2();

X[3] = X3();

X[4] = X4();

X[5] = X5();

X[6] = X6();

return X;

}

#region ЛогичСскиС условия

publicbool X0()

{

if (isStart)

returntrue;

returnfalse;

}

publicbool X1()

{

//A (14:0)=0

return ((A & 0x7FFF) == 0);

}

publicbool X2()

{

//C=0

return ((C & 0xF) == 0);

}

publicbool X3()

{

//C (16)=1

return ((C & (UInt32)(0×10 000)) == (UInt32)(0×10 000));

}

publicbool X4()

{

if (Count == 0) returntrue;

elsereturnfalse;

}

publicbool X5()

{

//B (0)

return ((B & 0×1) == 1);

}

publicbool X6()

{

//A (15) xor B (16)

return (((A>>15)) ≠ (B>>16));

}

#endregion

#region ΠœΠΈΠΊΡ€ΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

publicvoid Y1()

{

//C:=A (14:0)

SetDopReg (A);

C = (UInt32)((Registr & 0x7FFF));

SetsResult (RegC, C, tbOutC);

}

publicvoid Y2()

{

//А (14:0):=B (14:0)

A = (UInt16)((A & 0×8000) + (B & 0x7FFF));

SetA (lvVarA, A);

}

publicvoid Y3()

0x18000) + 1));

SetsResult (RegC, C, tbOutC);

publicvoid Y4()

{

//C:=C+A (14:0)

C = (UInt32)(C + (A & 0x7FFF));

SetsResult (RegC, C, tbOutC);

}

publicvoid Y7()

{

Count = 0;

}

publicvoid Y6()

{

//C:=L1(C.0)

C = C << 1;

SetsResult (RegC, C, tbOutC);

}

publicvoid Y5()

{

PP = true;

EndY = true;

RegPP[0, 0]. Value = 1;

}

publicvoid Y8()

{

//B (15:0):=0

B = B & 0×10 000;

SetB (lvVarB, B);

}

publicvoid Y10()

{

//Cч = Бч-1

Counter (ref Count);

RegCh (Count);

}

publicvoid Y11()

{

//Π‘:=B (15:0)

C = (UInt32)(B & 0xFFFF);

SetsResult (RegC, C, tbOutC);

}

publicvoid Y9()

{

//B (15:0):=L1(B (15:0).C?(16))

B = (UInt32)((B & 0×10 000) + ((B << 1) + ((~C >> 16) & 0×1) & 0xFFFF));

SetB (lvVarB, B);

}

publicvoid Y12()

{

//Π‘ (16:1) := Π‘ (16:1) + 1

C = C + 2;

SetsResult (RegC, C, tbOutC);

}

publicvoid Y13()

//C (16) = 1;

C = (UInt32)(C

publicvoid Y0_END ()

{

EndY = true;

}

#endregion

//Π”ΠΎΠΏΠΎΠ». рСгистр для выполнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΡ‚

publicvoid SetDopReg (UInt16 Per)

{

Registr = Per;

}

//ΠŸΠ°ΠΌΡΡ‚ΡŒ Π½Π° D-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°Ρ…

publicbyte[] StateMemory (bool Sync, byte D0, byte D1, byte D2, byte D3)

{

if (Sync)

{

DTr[0] = D0;

DTr[1] = D1;

DTr[2] = D2;

DTr[3] = D3;

}

return DTr;

}

//ΠŸΠ°ΠΌΡΡ‚ΡŒ логичСских условий

publicbool[] LogicMemoryCond (bool Sync, bool[] X)

{

bool[] Xi = newbool[7];

if (Sync)

{

Xi[0] = true;

_X3 = X[3];

_X2 = X[2];

}

return Xi;

}

//Π”Π΅ΡˆΠΈΡ„Ρ€Π°Ρ‚ΠΎΡ€

publicbyte Decoder (byte[] DTr)

{

return State_Ai = (byte)(DTr[0] + DTr[1] * 2 + DTr[2] * 4 + DTr[3] * 8);

}

//ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ схСма Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² D

publicbyte[] KSD (byte Ai, bool[] Xx)

{

byte[] NotX = newbyte[7];

byte[] X = newbyte[7];

byte[] A = newbyte[12];

byte _X3_ = 0;

byte Not_X3_ = 0;

byte _X2_ = 0;

byte Not_X2_ = 0;

for (int i = 0; i < 7; i++)

{

if (Xx[i]) X[i] = 1;

else X[i] = 0;

}

for (int i = 0; i < 7; i++)

{

if (Xx[i]) NotX[i] = 0;

else NotX[i] = 1;

}

switch (Ai)

{

case 0:

A[0] = 1;

break;

case 1:

A[11] = 1;

break;

case 2:

A[2] = 1;

break;

case 3:

A[3] = 1;

break;

case 4:

A[5] = 1;

break;

case 5:

A[4] = 1;

break;

case 6:

A[6] = 1;

break;

case 7:

A[7] = 1;

break;

case 8:

A[8] = 1;

break;

case 9:

A[9] = 1;

break;

case 10:

A[10] = 1;

break;

case 12:

A[1] = 1;

break;

}

DTr[0] = (byte)((A[1] & X[1]) | (A[2] & Not_X3_) | (A[2] & _X3_) | (A[9] & NotX[5] & X[6]) | (A[10] & X[6]) | (A[8] & X[4]) | (A[6] & _X3_) | (A[3]));

DTr[1] = (byte)((A[1] & NotX[1] & Not_X2_) | (A[2] & _X3_) | (A[5]) | (A[9] & X[5]) | (A[6] & _X3_));

DTr[2] = (byte)((A[0] & X[0]) | (A[3]) | (A[4]) | (A[5]) | (A[8] & NotX[4]) | (A[6] & _X3_));

DTr[3] = (byte)((A[0] & X[0]) | ((A[6] & Not_X3_)) | (A[7]) | (A[8] & X[4]) | (A[9] & X[5]));

return DTr;

}

//ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ схСма Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Y

publicbyte[] KSY (byte Ai, bool[] Xi)

{

byte[] NotX = newbyte[7];

byte[] X = newbyte[7];

byte[] A = newbyte[12];

byte _X3_ = 0;

byte Not_X3_ = 0;

switch (Ai)

{

case 0:

A[0] = 1;

break;

case 1:

A[11] = 1;

break;

case 2:

A[2] = 1;

break;

case 3:

A[3] = 1;

break;

case 4:

A[5] = 1;

break;

case 5:

A[4] = 1;

break;

case 6:

A[6] = 1;

break;

case 7:

A[7] = 1;

break;

case 8:

A[8] = 1;

break;

case 9:

A[9] = 1;

break;

case 10:

A[10] = 1;

break;

case 12:

A[1] = 1;

break;

}

for (int i = 0; i < 7; i++)

{

if (Xx[i]) X[i] = 1;

else X[i] = 0;

}

for (int i = 0; i < 7; i++)

{

if (Xx[i]) NotX[i] = 0;

else NotX[i] = 1;

}

Y[0] = (byte)((A[1] & NotX[1] & X[2]) | (A[9] & NotX[5] & NotX[6]) | (A[10] & NotX[6]) | (A[11]));

Y[1] = (byte)(A[0] & X[0]);

Y[2] = Y[1];

Y[3] = (byte)((A[1] & NotX[1] & NotX[2]) | (A[4]) | (A[8] & NotX[4]));

Y[4] = (byte)((A[2] & _X3_) | (A[6] & _X3_));

Y[5] = (byte)((A[1] & X[1]) | (A[2] & Not_X3_));

Y[6] = (byte)((A[6] & Not_X3_) | (A[7]) | (A[3]));

Y[7] = A[3];

Y[8] = A[3];

Y[9] = A[5];

Y[10] = (byte)((A[6] & Not_X3_) | (A[7]));

Y[11] = (byte)((A[8] & X[4]));

Y[12] = (byte)((A[9] & X[5]));

Y[13] = (byte)((A[9] & NotX[5] & X[6]) | (A[10] & X[6]));

return Y;

}

//РСализация счСтчика

publicvoid Counter (refushort Count)

{

if (Count == 0) Count = 15;

else Count—;

}

//Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ устройства

publicvoid OAandYA ()

{

DTr = StateMemory (Sync, DTr[0], DTr[1], DTr[2], DTr[3]);

showQ (DTr[0], DTr[1], DTr[2], DTr[3]);

X = LogicMemoryCond (Sync, X);

State_Ai = Decoder (DTr);

stateChanged (State_Ai);

Y = KSY (State_Ai, X);

showY (Y);

X = OA (Y);

showX (X);

DTr = KSD (State_Ai, X);

showD (DTr[0], DTr[1], DTr[2], DTr[3]);

}

//Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

publicvoid Microprogram ()

{

switch (State_Ai)

{

case 0: //A0

if (X0())

{

Y1();

Y2();

State_Ai = 12;

}

else

{

State_Ai = 0;

}

break;

case 1: //A11

Y0_END ();

State_Ai = 0;

break;

case 2: //A2

if (X3())

{

Y4();

State_Ai = 3;

}

else

{

Y5();

State_Ai = 1;

}

break;

case 3: //A3

Y6();

Y7();

Y8();

State_Ai = 5;

break;

case 4: //A5

Y9();

State_Ai = 6;

break;

case 5: //A4

Y3();

State_Ai = 4;

break;

case 6: //A6

if (X3())

{

Y4();

State_Ai = 7;

}

else

{

State_Ai = 7;

}

break;

case 7: //A7

Y6();

Y10();

State_Ai = 8;

break;

case 8: //A8

if (X4())

{

Y11();

State_Ai = 9;

}

else

{

Y3();

State_Ai = 4;

}

break;

case 9: //A9

if (X5())

{

Y12();

State_Ai = 10;

}

else

{

State_Ai = 10;

}

break;

case 10: //A10

if (X6())

{

Y13();

State_Ai = 1;

}

else

{

State_Ai = 1;

}

break;

case 12: //A1

if (X1())

{

Y5();

State_Ai = 1;

}

else

{

if (X2())

{

State_Ai = 1;

}

else

{

Y3();

State_Ai = 2;

}

break;

}

stateChanged (State_Ai);

}

//ΠŸΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ A

privatevoid lvVarA_ColumnClick (object sender, ColumnClickEventArgs e)

{

if (lvVarA.Items[0]. SubItems[e.Column].Text == «0»)

lvVarA.Items[0]. SubItems[e.Column].Text = «1» ;

else

lvVarA.Items[0]. SubItems[e.Column].Text = «0» ;

CollectString ();

}

//Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… с Ρ„ΠΎΡ€ΠΌΡ‹

privatevoid CollectString ()

{

firstVar = «» ;

secondVar = «» ;

string perem = «» ;

string perem2 = «» ;

for (int i = 1; i < +lvVarA.Items[0]. SubItems. Count; i++)

{

firstVar += lvVarA. Items[0]. SubItems[i].Text;

}

if (lvVarA.Items[0]. SubItems[0].Text == «1»)

{

perem = «-» ;

}

for (int i = 1; i < +lvVarB.Items[0]. SubItems. Count; i++)

{

secondVar += lvVarB. Items[0]. SubItems[i].Text;

}

if (lvVarB.Items[0]. SubItems[0].Text == «1»)

{

perem2 = «-» ;

}

SetVars (perem, perem2);

}

//ΠŸΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ B

privatevoid lvVarB_ColumnClick (object sender, ColumnClickEventArgs e)

{

if (lvVarB.Items[0]. SubItems[e.Column].Text == «0»)

lvVarB.Items[0]. SubItems[e.Column].Text = «1» ;

else

lvVarB.Items[0]. SubItems[e.Column].Text = «0» ;

CollectString ();

}

//ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ дСсятичныС значСния A ΠΈ B

privatevoid SetVars (string param, string param2)

{

int rab = 0;

double res = 0;

rab = Convert. ToUInt16(firstVar, 2);

for (int col = 0; col < 15; col++)

{

res += Math. Pow (2, 0 — col-1) * Double. Parse (firstVar[col]. ToString ());

}

A = Convert. ToUInt16(firstVar, 2);

if (param == «-») A += 32 768;

res = Math. Round (res, 5);

tbDecA.Text = param + res. ToString («0.#####»);

res = 0;

for (int col = 0; col <16; col++)

{

res += Math. Pow (2, 0 — col-1) * Double. Parse (secondVar[col]. ToString ());

}

B = Convert. ToUInt32(secondVar, 2);

res = Math. Round (res, 6);

tbDecB.Text = param2 + res. ToString («0.######»);

if (param2 == «-») B += 65 536;

}

//Π’Ρ‹Π²ΠΎΠ΄ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ счСтчика Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ

publicvoid RegCh (ushort C)

{

ushort Rab = 0;

Rab = C;

if (Rab % 2 == 1) RegCH[3, 0]. Value = 1;

else RegCH[3, 0]. Value = 0;

Rab = (ushort)(Rab / 2);

if (Rab % 2 == 1) RegCH[2, 0]. Value = 1;

else RegCH[2, 0]. Value = 0;

Rab = (ushort)(Rab / 2);

if (Rab % 2 == 1) RegCH[1, 0]. Value = 1;

else RegCH[1, 0]. Value = 0;

Rab = (ushort)(Rab / 2);

if (Rab % 2 == 1) RegCH[0, 0]. Value = 1;

else RegCH[0, 0]. Value = 0;

}

//Π’Ρ‹Π²ΠΎΠ΄ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ А

privatevoid SetA (ListView L, UInt32 Ch)

{

for (int i = 15; i >= 0; i—)

{

if (Ch % 2 == 0) L. Items[0]. SubItems[i].Text = «0» ;

else L. Items[0]. SubItems[i].Text = «1» ;

Ch = Ch / 2;

}

//Π’Ρ‹Π²ΠΎΠ΄ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ B

privatevoid SetB (ListView L, UInt32 Ch)

{

for (int i = 16; i >= 0; i—)

{

if (Ch % 2 == 0) L. Items[0]. SubItems[i].Text = «0» ;

else L. Items[0]. SubItems[i].Text = «1» ;

Ch = Ch / 2;

}

//Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π‘

privatevoid SetsResult (ListView L, UInt32 Ch, TextBox T)

{

double res = 0;

UInt32 valX = Ch;

if (Ch ≠ 0)

{

for (int i = 16; i >= 0; i—)

{

if (Ch % 2 == 0) L. Items[0]. SubItems[i].Text = «0» ;

else L. Items[0]. SubItems[i].Text = «1» ;

Ch = (UInt32)(Ch / 2);

}

for (int col = 1; col <=16; col++)

{

res += Math. Pow (2, 0 — col) * Double. Parse (L.Items[0]. SubItems[col].Text);

}

res = Math. Round (res, 6);

T.Text = res. ToString («0»);

if (L.Items[0]. SubItems[0].Text == «1»)

T.Text = T.Text.Insert (0, «-»);

}

//Π’Ρ‹Π²ΠΎΠ΄ A Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ

privatevoid stateChanged (UInt16 a_in)

{

chkBxMPa0.Checked = false;

chkBxMPa1.Checked = false;

chkBxMPa2.Checked = false;

chkBxMPa3.Checked = false;

chkBxMPa4.Checked = false;

chkBxMPa5.Checked = false;

chkBxMPa6.Checked = false;

chkBxMPa7.Checked = false;

chkBxMPa8.Checked = false;

chkBxMPa9.Checked = false;

chkBxMPa10.Checked = false;

chkBxMPa11.Checked = false;

chkBxMPaend.Checked = false;

chkBxOUa0.Checked = false;

chkBxOUa1.Checked = false;

chkBxOUa2.Checked = false;

chkBxOUa3.Checked = false;

chkBxOUa4.Checked = false;

chkBxOUa5.Checked = false;

chkBxOUa6.Checked = false;

chkBxOUa7.Checked = false;

chkBxOUa8.Checked = false;

chkBxOUa9.Checked = false;

chkBxOUa10.Checked = false;

chkBxOUa11.Checked = false;

switch (a_in)

{

case 0:

chkBxMPa0.Checked = true;

chkBxOUa0.Checked = true;

chkBxMPaend.Checked = true;

break;

case 1:

chkBxMPa11.Checked = true;

chkBxOUa11.Checked = true;

break;

case 2:

chkBxMPa2.Checked = true;

chkBxOUa2.Checked = true;

break;

case 3:

chkBxMPa3.Checked = true;

chkBxOUa3.Checked = true;

break;

case 4:

chkBxMPa5.Checked = true;

chkBxOUa5.Checked = true;

break;

case 5:

chkBxMPa4.Checked = true;

chkBxOUa4.Checked = true;

break;

case 6:

chkBxMPa6.Checked = true;

chkBxOUa6.Checked = true;

break;

case 7:

chkBxMPa7.Checked = true;

chkBxOUa7.Checked = true;

break;

case 8:

chkBxMPa8.Checked = true;

chkBxOUa8.Checked = true;

break;

case 9:

chkBxMPa9.Checked = true;

chkBxOUa9.Checked = true;

break;

case 10:

chkBxMPa10.Checked = true;

chkBxOUa10.Checked = true;

break;

case 12:

chkBxMPa1.Checked = true;

chkBxOUa1.Checked = true;

break;

}

// Π’Ρ‹Π²ΠΎΠ΄ X Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ

privatevoid showX (bool[] X)

{

for (int i = 0; i < X. Length; i++)

{

switch (i)

{

case 0: chkBxOUx0_mem.Checked = X[i];

break;

case 1: chkBxOUx1_mem.Checked = X[i];

break;

case 2: chkBxOUx2_mem.Checked = _X2;

break;

case 3: chkBxOUx3_mem.Checked = _X3;

break;

case 4: chkBxOUx4_mem.Checked = X[i];

break;

case 5: chkBxOUx5_mem.Checked = X[i];

break;

case 6: chkBxOUx6_mem.Checked = X[i];

break;

}

//Π’Ρ‹Π²ΠΎΠ΄ Q Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ

privatevoid showQ (int Q0, int Q1, int Q2, int Q3)

{

chkBxOUQ0.Checked = (Q0 ≠ 0);

chkBxOUQ1.Checked = (Q1 ≠ 0);

chkBxOUQ2.Checked = (Q2 ≠ 0);

chkBxOUQ3.Checked = (Q3 ≠ 0);

}

//Π’Ρ‹Π²ΠΎΠ΄ D Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ

privatevoid showD (int D0, int D1, int D2, int D3)

{

chkBxOUD0.Checked = (D0 ≠ 0);

chkBxOUD1.Checked = (D1 ≠ 0);

chkBxOUD2.Checked = (D2 ≠ 0);

chkBxOUD3.Checked = (D3 ≠ 0);

}

//Π’Ρ‹Π²ΠΎΠ΄ Y Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ

privatevoid showY (byte[] Y)

{

for (int i = 0; i < Y. Length; i++)

{

switch (i)

{

case 1: chkBxOUy1. Checked = (Y[i] ≠ 0);

break;

case 2: chkBxOUy2. Checked = (Y[i] ≠ 0);

break;

case 3: chkBxOUy3. Checked = (Y[i] ≠ 0);

break;

case 4: chkBxOUy4. Checked = (Y[i] ≠ 0);

break;

case 5: chkBxOUy5. Checked = (Y[i] ≠ 0);

break;

case 6: chkBxOUy6. Checked = (Y[i] ≠ 0);

break;

case 7: chkBxOUy7. Checked = (Y[i] ≠ 0);

break;

case 8: chkBxOUy8. Checked = (Y[i] ≠ 0);

break;

case 9: chkBxOUy9. Checked = (Y[i] ≠ 0);

break;

case 10: chkBxOUy10. Checked = (Y[i] ≠ 0);

break;

case 11: chkBxOUy11. Checked = (Y[i] ≠ 0);

break;

case 12: chkBxOUy12. Checked = (Y[i] ≠ 0);

break;

case 13: chkBxOUy13. Checked = (Y[i] ≠ 0);

break;

}

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ