Смекни!
smekni.com

Программатор ПЗУ (программный интерфейс)

СОДЕРЖАНИЕ


ОСНОВНЫЕНАПРАВЛЕНИЯПРИМЕНЕНИЯВЫЧИСЛИТЕЛЬНОЙТЕХНИКИ В УЧЕБНОМПРОЦЕССЕ4

1. ОБЩИЙРАЗДЕЛ11

1.1. Характеристикиаппартныхсредств вычислительнойтехники11

1.2. Характеристикипрограммныхсредств вычислительнойтехники19

1.3. Постановказадачи20

2. СПЕЦИАЛЬНЫЙРАЗДЕЛ22

2.1. Разработкаалгоритмапрограммногообеспечения22

2.2. Разработкауниверсальнойуправляющейпрограммы23

2.3. Разработкапрограммногоинтерфейса27

2.4. Описание процесса отладки28

2.5. Разработкаэксплуатационно-методическойдокументации29

2.6. Результатыиспытаний30

3.ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКИЙРАЗДЕЛ32

3.1. Оценкаиздержек наразработкупрограммногоинтерфейсадля программатораПЗУ32

3.2. Анализэффективностивнедренияразработаннойпрограммы в учебный процесс34

4. МЕРОПРИЯТИЯПО ОХРАНЕ ТРУДА.БЕЗОПАСНОСТЬТРУДА ПРИОБСЛУЖИВАНИИПРОГРАММАТОРА37

4.1 Требованиябезопасностик техническимсредствамПЭВМ37

4.2. Требованиябезопасностик микроклиматув учебныхлабораториях38

4.3. Меры безопасностипри сервисномобслуживаниипрограмматора.40

ОСНОВНЫЕНАПРАВЛЕНИЯПРИМЕНЕНИЯВЫЧИСЛИТЕЛЬНОЙТЕХНИКИ В УЧЕБНОМПРОЦЕССЕ


Стремительноевнедрение всферу материальногопроизводствановой информационнойтехнологии,широкая электронизациявсех машин иоборудованиятребует сегодняот многомиллионнойармии специалистовзнания микропроцессорныхсредств и систем,владения компьютернойтехникой.

В настоящийпериод времявнедрениянаучных открытий,освоение новыхтехнологийв ведущих отрасляхпромышленностистановитсясоизмеримымс продолжительностьюучебы в вузе,техникуме. Этотребует поискатаких методови средств обучения,которые сократилибы расстояниемежду достиженияминауки, производственнойпрактикой исодержаниемобразования.Изменяютсяв значительнойстепени и целиобучения. Сегодняпрофессиональноважным дляспециалистаявляется умениесамостоятельнои непрерывнопополнять,обновлятьзнания, веститворческийпоиск, способностьответственноприниматьоригинальныерешения.

Новые задачиобразованиятребуют современнойтехническойбазы, и, в первуюочередь, широкоговнедрениякомпьютеровв учебном процессе.Реализацияучебного процесса,обеспечивающеговысокую образовательнуюактивностьучащихся,самостоятельностьих работы,индивидуализациюобучения внастоящее времяневозможнабез широкогоприменениявычислительнойтехники идидактическихматериалов,обеспечивающихреальностьтакого использования.

Успехи в делекомпьютеризацииучебного процессаопределяютсятремя существеннымифакторами:

наличиемвычислительнойтехники;

производствоми распределениемпрограммногообеспечения;

готовностьюпреподавателейметодическиграмотно использоватьвычислительнуютехнику.

Определенныйопыт освоенияи использованияэлектроннойвычислительнойтехники вучебно-воспитательномпроцессе накопленв Винницкомтехникумеэлектронныхприборов [7].

Начало освоенияэлектронно-вычислительныхмашин (ЭВМ) относитсяк 1977-78 году, когдавычислительныйцентр техникума,оснащенныймашинами«Электроника-1004»,занималсястатистическойобработкойрезультатовуспеваемостии посещаемости.Это позволилоруководителямтехникумаежедневнополучать оперативнуюинформациюо состояниидел в каждомучебной группе.

В 1980-1981 году былисделаны первыешаги по использованиюЭВМ для решениятворческихзадач в периодкурсового идипломногопроектирования.Начало этойработы поставилоперед педагогическимколлективомтехникума рядпроблем:

необходимостьпсихологическойподготовкипреподавателейк внедрениювычислительнойтехники;

необходимостьразработкиметодик инженерныхрасчетов,ориентированныхна применениеЭВМ;

пересмотрметодики проведениязанятий;

отсутствиеинформационно-методическогои программногообеспечениявычислительнойтехники.

Возникшиепроблемы решалисьв техникумепостепенно,сначала работойпо внедрениювычислительнойтехники занялисьпреподавателиспециальныхдисциплин,хорошо владеющиеметодикойобучения, содной стороны,и знающие основывычислительнойтехники с другой.Это позволилоуже в 1980-81 годуразработатьи внедрить вучебный процесспакет программ«Расчет элементовинтегральныхмикросхем».Выполненнаяучащимися двухучебных группрасчетная частькурсовогопроекта показалавысокую эффективностьприменениятехники в курсовомпроектировании.Проведенныев том же годуоткрытые урокипозволили напрактике показатьбольшинствучленов коллективавозможностьи эффективностьиспользованиявычислительнойтехники в учебномпроцессе. Былпреодоленпсихологическийбарьер. В работупо внедрениювычислительнойтехники сталиподключатьсявсе новые иновые преподаватели.С 1983-84 года на ЭВМпроводятсярасчеты функциональныхузлов по предмету«Радиоприемныеустройства»,трудоемкиерасчеты надежностиРЭА, экономическиерасчеты и др.Только за 4 годаболее 200 учащихсявыполниликурсовые проектыс расчетамина ЭВМ. Высокаяточность расчетов,производительностьпозволиливысвободитьу них время натворческую,содержательнуючасть проекта.

Общие методическиепринципы проведениязанятий припомощи ЭВМ,сформулированныев техникумена основечетырехлетнегоопыта, былиперенесенына другие предметыобщеобразовательного,общетехническогои специальногоцикла. Этомуспособствовалорганизованныйв 1985 году постояннодействующийсеминар дляпреподавателейпо программированиюи применениювычислительнойтехники в учебномпроцессе. Дляучащихся былвведен факультативныйкурс «Применениемикропроцессорныхсредств и микро-ЭВМ».

1984-85 год сталгодом массовогоосвоенияпрограммируемыхмикрокалькуляторов,которые широкоиспользовалисьпри выполнениилабораторныхи практическихработ по ТОЭ,физике, математике,общетехническихи специальныхдисциплин.Создание прикладныхрасчетныхпрограмм дляпрограммируемыхмикрокалькуляторов- неотъемлемаячасть научно-методическойработы в техникуме.Более 30% преподавателейпрошли переподготовкуна факультетахповышенияквалификациипри ведущихучебных заведеняхминвуза СССРи отраслевогоминистерства[7].

Внедрениевычислительнойтехники в нашемучебном заведении- это планомерный,постоянноразвивающийсяпроцесс. Опытподтвердилизвестноеположение отом, что совершенствованиюметодики ипрограмм нетпредела.

В 1982 году положеноначало использованиювычислительнойтехники внаучно-техническомтворчестве.Так при выполнениихоз. договорныхэкспериментально-конструктивныхработ учащиесяготовят программытрассировкипечатных платдля системавтоматическогопроектирования(САПР), разрабатываюти отлаживаютпрограммысверловки платдля станковс числовымпрограммнымуправлением(ЧПУ), проводяттиповые расчеты,учет материальныхценностей,документооборотпо ЭКВ ведетсяс 1987 года припомощи автоматизированнойинформационнойсистемы, созданнойна базе СУБД-микродля ДВК.

Постояннаяработа учащихсяс ЭКБ с вычислительнойтехникой приноситсвои плоды,сегодняшниестаршекурсники,работающиев ЭКВ, свободновладеют микрокомпьютерамина уровнепользователя.Можно предположить,что результатыподготовкипо вычислительнойтехнике значительновозрастут приорганизациинепрерывногопроцесса формированияпрофессиональноважных качествпользователяЭВМ у каждогоучащегося,начиная с изученияоснов информатикии вычислительнойтехники вобщетехническихи специальныхдисциплинахи заканчиваяиспользованиемее в различныхучебных формахнаучно-техническоготворчества.

Программирование- один из интересныхвидов творческойдеятельности.Важная организационнаяформа научно-техническоготворчества- кружок программирования.Занятия в немпривлекаютмногих учащихсяи дают практическиезнания попрограммированиюи пользованиюЭВМ. Он становитсябазой для подготовкии отладке многихприкладныхпрограмм.

Автоматизацияпроцесса обработкиинформации- одна из сферэффективногоприменениявычислительнойтехники. Рациональнаяорганизацияинформационныхресурсов втехникуме -задача, котораястоит передколлективом.С этой цельюв ЭКБ техникумаведутся работыпо созданиюавтоматизированныхинформационно-поисковыхсистем на основемикрокомпьютеров.

В 1987 году фрагментинформационно-поисковойсистемы «Банкпередовогопедагогическогоопыта» внедренв опытнуюэксплуатациюсовместно скафедрой педагогикимосковскогообластногопединститутаим Н.К. Крупской.Пакет программинформационно- поисковойсистемы внедряетсяпри изучениитемы «Информационноеобеспечениепрофессиональнойдеятельностиспециалиста»в курсе «основынаучно - техническоготворчества».Работа учащихсяс информационнымифондами намашинах носителях- важный этапформированиякультурыинформационнойдеятельностикак преподавателей,так и учащихся[7].

В 1988 году втехникумесоздана хорошаяучебно-материальнаябаза:

класс диалоговыхвычислительныхкомплексов;

2 классакомпьютеров;

более 300 программируемыхкалькуляторов

Широкоеприменениеэлементовмикропроцессорнойтехники внаучно-техническомтворчествепозволяетпроизводитьразработкипо совершенствованиюнаучно-техническихсредств вычислительнойтехники, созданиюучебно-лабораторногооборудованиядля изученияработы микро-ЭВМи программногоуправлениятехнологическимоборудованием.

Так в 1985 годубыл создантренажер учебноймикро-ЭВМ«Электроника-ВТЭПмикро». Натематическойвыставке «Инженернотематическоеоборудование»ВДНХ СССР в1986 году учебнаямикро-ЭВМ отмеченасеребряноймедалью. Десятьтаких тренажероввнедрены вучебный процессв 1986 году[7].

В 1986 году втехникумесоздана локальнаясеть диалоговыхвычислительныхмашин. Ее внедрениесущественнорасширилодиалектическиевозможностипримененияДВК-1 в условияхгрупповогообучения. В1987 году ЭКБ техникумасоздает локальныесети по заказуряда техникумовотрасли.

Призеромвыставки «Итоги11-го всесоюзногосмотра-конкурсана лучшуюэкспериментально-конструктивнуюработу учащихсяССУЗ», проводимойв феврале-марте1987 года на ВДНХСССР, сталспециализированныймикрокомпьютер«Спектр», созданныйв ЭКБ для управлениятехнологическимоборудованием.

МедалямиВДНХ отмеченыпакеты программ«Расчет элементовинтегральныхсхем» и «Определениепрофессиональнойнадежностиличности». Трипреподавателятехникумаявляются членамиметодическойкомиссии минвузаСССР по вычислительнойтехнике инаучно-техническомутворчеству.

Опытом работытехникум делитсяна всесоюзных,республиканскихи областныхсовещаниях,семинарах,проводимыхминвузом СССР.

Масштабностьзадач, связанныхс внедрениемвычислительнойтехники, выдвигаетна повесткудня вопрос оцелесообразностисоздания набазе ведущихтехникумовряда лабораторий,занимающихсяразработкойинформационно-методическогои программногообеспеченияпо каждому изнаправленийс последующимвнедрениемво все учебныезаведенияотрасли и системысреднего специальногообразования.Это может статьодним из направленийэкспериментально-конструкторскойработы, проводимойпо хоздоговорампри условииукрепленияЭКБ специалистамипо системотехникеи системномупрограммированию.

1. ОБЩИЙРАЗДЕЛ


1.1.Характеристикиаппартныхсредств вычислительнойтехники


Когда произносятслова «персональныйкомпьютер»,обычно подразумеваетсяне что иное,как компьютертипа IBM PC. Именноамериканскаякомпания IBM вавгусте 1981 годаобъявила овыпуске самогопервого компьютера,получившегоназвание PersonalComputer, или простоPC. [6]

Впрочем, ещедо созданияIBM PC множествомразных фирмвыпускалиськомпьютеры,которые былобы вполне уместноназыватьперсональными.Даже весьмадалекая отэлектроникифирма Coca - Cola пыталасьвыпускатьсобственнуюмодель персональногокомпьютера!

Несовместимостьмногочисленныхмоделей компьютеровбыла главнымпрепятствиемдля созданиясовершенныхпрограммуниверсальногоприменения.

Когда IBM вышлана рынок настольныхкомпьютеров,казавшийсясомнительными рискованным,разнобой средиперсональныхкомпьютеровдовольно быстропошел на убыль.Маленькийперсональныйкомпьютер IBMPC на процессоре8088 фирмы Intel оказалсятем долгожданнымстандартом,который с радостьюподдержалимногочисленныепрограммистыи фирмы - изготовителиприкладногопрограммногообеспечения:наконец-топоявился компьютерсолидной фирмы,для которогоможно былоразрабатыватьи успешно продаватьбольшими тиражамидостаточносложные, совершенныеи универсальныепрограммы. Посути дела, компьютерIBM PC создал нетолько стабильныйи обширныйрынок персональныхкомпьютеров,но и огромныйрынок прикладногопрограммногообеспечения,на котором запоследниеполтора десятилетияразбогателомножествовенчурных фирм[6].

Вот яркийтому пример.Компьютер IBMPC почти с самогоначала работалпод управлениемдисковой операционнойсистемы DOS, которуюразработаладля IBM маленькаяи никому тогдане известнаяфирма Microsoft. СегодняMicrosoft - бесспорныйфлагман индустриипрограммногообеспечения,одна из богатейшихфирм мира,выпускающаяне толькооперационныесредства MS-DOS иWindows для управлениякомпьютерами,но и различныеприкладныепакеты. А основательи руководительMicrosoft Билл Гейтс,несмотря намолодость, одиниз самых богатыхлюдей.

Разумеется,персоналкаIBM PC оказаласьтолько первымшагом в верномнаправлении.Затем фирмаIBM выпустиламножествомоделей персональныхкомпьютеровXT, AT, PC/1 и PC/2 на различныхпроцессорахIntel 8086, 80286, 80386, 80486. Все этикомпьютерыпредназначеныдля работы подуправлениемоперационнойсистемы DOS илив графическойсреде Windows.

Множестводругих фирмнемедленнопринялисьподражать IBM иразвивать ееуспех, выпускаясвои собственныемодели персоналок,полностьюсовместимыес IBM PC, либо выпускаяразличноепериферийноедополнительноеоборудованиедля IBM PC. Ведь однойиз замечательныхособенностейперсоналкиIBM PC была так называемая«открытаяархитектура»,позволявшаядаже неспециалистамлегко и простоизменять устройствои техническиевозможностисвоего компьютера.Для этого частодостаточнобыло воспользоватьсяразъемамипоследовательногоили параллельногопортов, добавитьна пустующихпанелькахнесколькомикросхемпамяти, вставитьв плату сопроцессор,переставитьв другое положениеDIP-переключатели,поменять спомощью отверткиблоки, воткнутьили вынутьплату расширенияиз слота системнойшины. В результатебуквально занесколько минутвсякий мог, нерасполагаясколько - нибудьглубокимизнаниями исложным инструментом,построить изготовых компонентовсовершенноновую персональнуюкомпьютернуюсистему снеобходимымитехническимипараметрами[6].

1.1.1. Основныечасти компьютера

Вообще-то,самый первыйперсональныйкомпьютерсоздали инженерыамериканскойфирмы Xerox. Именнотой самой фирмы,которая подариламиру копировальныйаппарат, известныйу нас под именем«ксерокс». Это,оставшеесяпочти незамеченным,историческоесобытие произошлов исследовательскомцентре фирмыXerox PARC (Palo - Alto Research Center) в Пало-Альто,в Калифорнии.Уже на первыхперсоналкахXerox двадцать летназад применялсяграфическийинтерфейс,очень похожийна современнуюграфическуюсреду Windows[6].

С тех порпрошло немаловремени, и сейчасдиапазонконструктивныхрешений персональныхкомпьютеровочень широк.Но несмотряна конструктивныевнешние различия(от напольныхбашен до карманныхмоделей), всеперсоналкиочень похожидруг на друга.Другими словами,если «анатомия»компьютеровразлична, тоих «физиология»практическиидентична.

Современныйперсональныйкомпьютервключает следующиеустройства[1]:

  • системныйблок, выполняющийуправлениекомпьютером,вычисления;

  • клавиатуру,позволяющуювводить символыв компьютер;

  • монитор(дисплей) дляизображениятекстовой играфическойинформации;

  • накопители(дисководы) нагибких магнитныхдисках (дискетах),используемыедля чтения изаписи информации(для транспортировки);

  • накопительна жесткоммагнитномдиске (винчестер),предназначенныйдля записи ичтения информации(стационарный);

  1. К системномублоку компьютераIBM PC можно подключатьразличныеустройстваввода-выводаинформации,расширяя темсамым егофункциональныевозможности.Многие устройстваподсоединяютсячерез специальныегнезда (разъемы),находящиесяобычно на заднейпанели системногоблока компьютера.Кроме монитораи клавиатуры,такими устройствамиявляются:

  • принтер - длявывода на печатьтекстовой играфическойинформации;

  • мышь - устройство,облегчающееввод информациив компьютер;

  • джойстик- манипуляторв виде укрепленнойна шарниреручки с кнопкой,употребляетсяв основном длякомпьютерныхигр;

  • плоттер -подключаетсяк компьютерудля выводарисунков идругой графическойинформациина бумагу;

  • графопостроитель- подключаетсядля выводачертежей набумагу;

  • сканер - устройстводля считыванияграфическойи текстовойинформациив компьютер.Сканеры могутраспознаватьшрифты букв,что дает возможностьбыстро вводитьнапечатанный(а иногда ирукописный)текст в компьютер;

  • стример -устройстводля быстрогосохранениявсей информации,находящейсяна жесткомдиске. Стримерзаписываетинформациюна кассеты смагнитнойлентой. Обыкновеннаяемкость стримера60 Мбайт;

  • CDпривод- устройствадля храненияинформациибольших объемов;

  • сетевойадаптер - даетвозможностьподключатькомпьютер влокальнуюсеть. При этомпользовательможет получатьдоступ к данным,находящимсяв других компьютерах.

1.1.2. Оперативнаяпамять

Объем доступнойоперативнойпамяти - одиниз важнейшихпараметровлюбого компьютера.Оперативнаяпамять илиоперативноезапоминающееустройство(ОЗУ или RAM) представляетсобой совокупностьмикросхем насистемнойплате, способныхнакапливатьи временнохранить программыи обрабатываемыеданные. Этаинформацияпо мере надобностиможет быстросчитыватьсяиз оперативнойпамяти процессороми записыватьсятуда вновь. Приотключениипитания содержимоеоперативнойпамяти полностьюстирается иутрачивается.Поэтому послевключениякомпьютерапрограммы иданные всякийраз необходимозаново загружатьв оперативнуюпамять из источниковдолговременногохранения информации.Для долговременногохранения информациичаще всегоприменяютсямагнитные иоптическиедиски или иныенакопителицифровой информации[2].

В современныхкомпьютерахприменяетсяглавным образомдинамическаяоперативнаяпамять или DRAM(Dynamic Random Access Memory). Она строитсяна микросхемах,требующих воизбежаниепотерь периодическогообновленияинформации.Этот процессполучил название«регенерацияпамяти». Онреализуетсяспециальнымконтроллером,установленнымна материнскойплате. На периодическуюрегенерациюданных в микросхемахдинамическойоперативнойпамяти расходуетсянекотороевремя. Поэтомусбои в памятинередко оказываютсяодной из распространенныхпроблем в работенедорогихперсональныхкомпьютеров«желтой» или«черной» сборки,даже если в нихиспользуютсясовершенноисправныемикросхемыдинамическойоперативнойпамяти.

Объем любойкомпьютернойпамяти, в томчисле и оперативнойпамяти, измеряетсяв килобайтахи мегабайтах.Наименьшейединицей измеренияинформационнойемкости и наименьшейединицей деленияпамяти компьютераявляется байт.Собственнобайт - это, в своюочередь, совокупностьвосьми мельчайшихединиц информации,которые называютбитами. Разницамежду простейшимистационарнымидвоичнымисостояниями,например,«включено»/«выключено»или между 0 и 1составляетвсего один бит.Байтовая (или8 - битовая) структураизмерениявыбрана из - задвоичной организациивычислительнойтехники. Дляпередачи илисохраненияодного любогосимвола - буквы,цифры или знака- требуетсяминимум одинбайт.

1 килобайтравен 1024 байтам,1 мегабайт - 1024килобайтам,1 гигабайт - 1024мегабайтам.

  1. Самые первыеIBM PC имели оперативнуюпамять всеголишь 16 Кбайт.Последующиемодели персоналоктипа IBM PC и PC/XT располагалиобъемом оперативнойпамяти до 640 Кбайт- именно таковмаксимальныйобъем памяти,которым способнауправлятьоперационнаясистема MS-DOS.А для увеличенияобъема памятииспользовалисьспециальныеплаты расширения,позволявшиедополнительноувеличитьобъем памятидо 16 - 64 Мбайт[2].

  2. Оперативнаяпамять компьютераIBM PC с процессоромIntel - 8088 или Intel - 8086 (например,IBM PC XT) может иметьразмер не более1 Мбайта, посколькуэти микропроцессорымогут обращатьсяне чем к 1 Мбайтупамяти. Этапамять состоитиз двух частей.Первые 640 Кбайтпамяти могутиспользоватьсяприкладнымипрограммамии операционнойсистемой. Остальныеадреса памяти(«верхняя память»)зарезервированыдля служебныхцелей:

  • для хранениячасти операционнойсистемы DOS, котораяобеспечиваеттестированиекомпьютера,начальнуюзагрузкуоперационнойсистемы, а такжевыполнениеосновныхнизкоуровневыхуслуг ввода- вывода;

  • для передачиизображенияна экран;

  • для храненияразличныхрасширенийоперационнойсистемы, которыепоставляютсявместе с дополнительнымиустройствамикомпьютера.

  1. Как правило,тогда говорятоб объемеоперативнойпамяти компьютера,то имеют в видуименно первуюее часть, котораяможет использоватьсяприкладнымипрограммамии операционнойсистемой.

  2. Барьер 640 Кбайт.Для многихпрограмм 640 Кбайтмало (к томуже из этих 640 Кбайтдо 100 Кбайт могутзанимать DOS иразличныесистемныепрограммы -драйверы устройстви резидентныепрограммы).Поэтому былиразработанырасширенная(extended) и дополнительная(expanded) памяти.

  3. В качествекомпонентовпамяти в современныхкомпьютерахиспользуютсяглавным образоммодули памятис одноряднымрасположениемвыводов, которыеназываютсяSIMM. Эти модуливыпускаютсяс 30 и с 72 контактамиемкостью 256 Кбайт,1 Мбайт, 4 Мбайт,16 Мбайт или 32Мбайта.

1.1.3.Дисковая операционнаясистема (DOS)

Дисковаяоперационнаясистема - этопрограмма,которая загружаетсяпри включениикомпьютера.Она производитдиалог с пользователем,посредствомкоманд (каждаякоманда означаетдействие, котороеDOS должна выполнить)осуществляетуправлениекомпьютером,его ресурсами(оперативнойпамятью, местомна дисках и т.д.), выводитинформациюна видеомонитор,запускаетдругие (прикладные)программы навыполнение.Операционнаясистема обеспечиваетпользователюи прикладнымпрограммамудобный способобщения (интерфейс)с устройствамикомпьютера.Она выполняеттакже различныевспомогательныедействия, напримеркопированиеили печатьфайлов (файл-- это поименованныйнабор информациина диске илидругом машинномносителе). Всефункции пообслуживаниютаблиц размещенияфайлов, поискуинформациив них, выделениюместа для файловна дискетахвыполняютсяоперационнойсистемой.

ГлавнымдостоинствомDOS является ееспособностьуправлятьустройствамипамяти на магнитныхдисках (именнопоэтому онаназвана - дисковаяоперационнаясистема) [7].

Операционнаясистема осуществляетзагрузку воперативнуюпамять всехпрограмм, передаетим управлениев начале ихработы, выполняетразличныедействия позапросу выполняемыхпрограмм иосвобождаетзанимаемуюпрограммамиоперативнуюпамять при ихзавершении.


1.2.Характеристикипрограммныхсредств вычислительнойтехники


СистемапрограммированияТурбо Паскаль(TurboPascal), разработаннаяамериканскойкорпорациейБорланд (Borland),остается однойиз самых популярныхсистем программированияв мире. Этомуспособствуют,с одной стороны,простота, лежащаяв основе языкапрограммированияПаскаль, а сдругой - труди талант сотрудниковкорпорацииБорланд воглаве с идеологоми создателемТурбо ПаскаляАндерсом Хейлсбергом.[3]

Придуманныйшвейцарскимученым НикласомВиртом каксредство дляобучения студентовпрограммированию,язык ПаскальстараниямиА. Хейлсбергапревратилсяв мощную современнуюпрофессиональнуюсистему программирования,которой поплечу любыезадачи - от созданияпростых программ,до разработкисложнейшихреляционныхсистем управлениябазами данных.[4]

Турбо Паскаль- это строготипизированныйязык. Развитаясистема типовпозволяет легкоразрабатыватьадекватныепредставлениядля структурданных любойрешаемой задачи.В то же времясуществующиев Турбо Паскалесредствапреобразованиятипов даютвозможностьгибко манипулироватьразличнымиданными.

Основныеоператоры языкаявляются хорошейиллюстрациейбазовых управляющихконструкцийструктурногопрограммирования.Их использованиепозволяетзаписыватьсложные алгоритмыобработкиданных в компактнойформе. Гармоничноевключение вструктуру языкасредствобъектно-ориентированногопрограммированияделает переходот традиционныхтехнологийпрограммированияк объектно-ориентированномудля тех, ктопрограммируетна Турбо Паскале,достаточнобезболезненным.

СистемапрограммированияТурбо Паскальподдерживаетмодульныйпринцип программирования,который лежитв основе всехсовременныхтехнологийразработокпрограмм. Программа,написаннаяна Турбо Паскале,обычно разбиваетсяна модули, ате, в свою очередь,состоят изподпрограмм.[4]


1.3. Постановказадачи


Целью задачиявляется разработкапрограммногоинтерфейса(ПИ), которыйдолжен связыватьперсональныйкомпьютер илабораторныймакет «ПрограмматорПЗУ».

ПИ долженобеспечиватьподачу входныхвоздействийна все контактыИМС (шину адреса,шину данных,управляющиесигналы), осуществлятьсчитываниеи запись данных,используястандартныйпорт ввода-выводаLPT (параллельный).

Требованияк интерфейсу:ПИ долженобеспечиватьформированиеи подачу адреса,содержащегошесть информационныхи четыре управляющихбита данныхна соответствующиеконтактыпрограммируемойПЗУ, обеспечитьстробированиечтения/записиинформации.ПИ должен обеспечитьудобный выводтекстовойинформациина экран дляупрощенияработы пользователяс программой.

2.СПЕЦИАЛЬНЫЙРАЗДЕЛ


2.1. Разработкаалгоритмапрограммногообеспечения


Структурапрограммногоинтерфейсабыла построенана основеиерархическойсистемы экранногоменю.

Эта системапозволяетобеспечитьдля пользователяудобный переходи взаимодействиеразличныхуровней иерархииданного алгоритмаструктуры меню.

При разработкеалгоритмапрограммногообеспечениябыли использованыследующиепрограммныемодули:

модуль главногоменю;

модуль настройкипрограммы;

модуль чтенияПЗУ;

модуль записиПЗУ;

модуль просмотранастроеннойпрограммы.

Модуль главногоменю обеспечиваетотображениена экране всехпунктов меню,и, соответственно,осуществляетпередачу управленияпрограммы поэтим пунктамс предварительнымсохранениеминформационныхпеременныхи массивов.

Модуль настройкипрограммыосуществляетопределениепользователемвсех входныхи выходныхпараметров,которые необходимыдля дальнейшейработы модулейчтения и записиПЗУ, а такжетестированияпрограмматора.

Модули чтенияи записи ПЗУ,обеспечиваетсвязь программногоинтерфейсас аппаратнойчастью лабораторногомакета, и осуществляетосновную связьпо работе сПЗУ.

Модуль просмотранастроеннойпрограммыосуществляетвыдачу на экрантекста настроеннойуниверсальнойпрограммы.


2.2. Разработкауниверсальнойуправляющейпрограммы


Управляющаяпрограммапостроена врежиме менюдля обеспечениянаибольшейпростоты ееиспользования.

Программабыла реализованана экране сразрешающейспособностьюв текстовомрежиме 80x60.Для упрощенияпрограммногоалгоритма былиразработаныпроцедуры,которые позволиливыводить меню,управлятькурсором, работатьс файловойсистемой DOS.

  1. ПроцедураWaitRt- ждетвертикальногообратного ходалуча

  2. ПроцедураColor- установкацвета

Таблица 2.1

Переменныеиспользуемыев процедуреColor


Переменная Назначение

C1

Цветсимвола
С2 Цветэкрана
  1. ПроцедураLoc- позициякурсора наэкране

Таблица 2.2

Переменныеиспользуемыев процедуреLoc


Переменная Назначение

X

Позициякурсора по X

С2

Позициякурсора по Y

2.2.4.ПроцедураWchar- печатьсимвола

2.2.5. ПроцедураShade-созданиетени для окна.

2.2.6 ПроцедураWrt- выводтекста на экран.

2.2.7. ПроцедураMap- выводимсозданныйвиртуальнойэран на дисплей.

2.2.8. ПроцедураCls- очисткаэкрана.

2.2.9. ПроцедураScanKey- выдаетASCIIкод нажатойклавиши.

2.2.10. ПроцедураSkipTime- пропускаетвремя (таймерпроцессора).

2.2.11. ПроцедураMoveMan- анимациячеловека истрелки.

2.2.12. ПроцедураMakeMan- созданиечеловека.

2.2.13. ПроцедураLoadFont- загрузкамоего шрифта.

2.2.14. ПроцедураWaitKey- ожиданиенажатия любойклавиши.

  1. ПроцедураWindow- созданиеокон.

Таблица 2.3

Переменныеиспользуемыев процедуреWindow


Переменная Назначение

XUL

Позициялевого верхнегоугла поX

YUL

Позициялевого верхнегоугла поY

XDR

Позицияправого нижнегоугла поX

XDR

Позицияправого нижнегоугла поY

  1. ПроцедураMorph- созданиеэффекта “Морфий”,плавное преоразованиеодного окнав другое.

Таблица 2.4

Переменныеиспользуемыев процедуреMorph


Переменная Назначение

1

2

XF1

Позициялевого верхнегоугла поX исходногоокна

YF1

Позициялевого верхнегоугла поY исходногоокна

XF2

Позицияправого нижнегоугла поX исходногоокна

YF2

Позицияправого нижнегоугла поY исходногоокна

XT1

Позициялевого верхнегоугла поX получаемогоокна

Продолжениетаблицы 2.4


1

2

YT1

Позициялевого верхнегоугла поY получаемогоокна

XT2

Позицияправого нижнегоугла поX получаемогоокна

YT2

Позицияправого нижнегоугла поY получаемогоокна

  1. ПроцедураMorphL- созданиеэффекта “Морфий”с последнимикоординатами.

Таблица 2.5

Переменныеиспользуемыев процедуреMorphL


Переменная Назначение

XF1

Последняяпозиция левоговерхнего угла поX

YF1

Последняяпозиция левоговерхнего угла поY

XF2

Последняяпозиция правогонижнего угла поX

YF2

Последняяпозиция правогонижнего угла поY

2.2.18. ПроцедураWindowL- созданиеокна с последнимикоординатами.

  1. ПроцедураMenu- работас меню, выборпункта менюи перемещениекурсора.


Таблица 2.6

Переменныеиспользуемыев процедуреMenu

Переменная Назначение

X1

Координатыпо Xпервойстрочки меню

Y1

Координатыпо Yпервойстрочки меню

STEPY

Шагпунктов меню

ALL

Количествопунктов в меню

COL

Цветпозиций в меню

S1...S5

Названиепунктов меню

2.2.20.ПроцедураHexL2Str- представлениесимвола в ввидешестнадцатиричногокода.

2.2.21. ПроцедураHexB2Str- представлениесимвола в ввидевосьмеричногокода.

2.2.22. ПроцедураMemEd- редактортекста.

2.2.23. ПроцедураFfile- работас файлами, запись,создание ичтение.

2.2.24. ПроцедураReadROM- работас программатором,чтение и записьданных ПЗУ,тестировнаиеустройства.


2.3. Разработкапрограммногоинтерфейса


Программныйинтерфейс былразработанс учетом всехего эксплуатационныххарактеристик.Он должен отвечатьследующимтребованиям:

полнота икраткостьотображаемойинформации;

удобноерасположениеинформациина экране;

оперативностьработы.

Интерфейспрограммногообеспечениябыл построенпо иерархическойструктуре.


Рис. 2.1. Интерфейспрограммногообеспечения

Вся программапостроена наоснове типизированныхменю, которыепозволят легкои интуитивноработать, и непотребуютдополнительноговремени отучащихся наизучение интерфейсапрограммы. Фон,окна меню, итекст отвечаютвсем требованиямпредъявляемымк цветовомуоформлению;цветовая палитраподобрана так,чтобы глазаучащихся какможно меньшеуставали приработе с программатором.Также был разработанновый шрифт,что позволилообеспечитькрупные символыбукв, и русифицированныйпрограммныйинтерфейс.

Кадровыеокна основногоменю и все подпунктыменю на каждомуровне иерархиивыполнены ввиде окон ссоответствиемкаждого окнаего информационномуназначению.

Межоконныйпереход осуществляетсявыбором соответствующегопункта перемещением по экрану маркера,в виде стрелки,позиция которогоуказывает навыбранный пунктменю.Обратныйпереход виерархическомменю осуществлятьсявыбором последнегопункта меню- «НАЗАД», илинажатиемфункциональнойклавиши «ESC».

Работа спунктом меню«Работа с ПЗУ»возможна толькопосле выборатипа ПЗУ в пунктеменю «ВыборПЗУ», это связаннос особенностьюработы аппаратнойчасти лабораторногомакета «ПрограмматорПЗУ».


2.4. Описание процесса отладки


При отладкепрограммногоинтерфейсалабораторногомакета былиспользованпошаговый режимпяти основныхпрограммныхмодуля: модульменю, модульчтения ПЗУ,модуль записиПЗУ, модультестированияпрограмматора,модуль файловыхопераций.

В процессеотладки былииспользованапромежуточнаяпечать дляопределениянекоторыхпромежуточныхвычисленийи кода вводимыхс клавиатурысимволов иклавиш.

Была произведенаотладка программына выявлениеорфографических,синтаксических,логическихи графическихошибок в экранныхчастях программы.

Осуществленаотладка программногоинтерфейсасовместно сего аппаратнойчастью. Быливнесены некоторыеизменения впрограмму,связанные собеспечениемсинхронизацииработы программногоинтерфейсалабораторногомакета с егоаппаратнойчастью.


2.5. Разработкаэксплуатационно-методическойдокументации


При эксплуатациилабораторногомакета “ПрограматорПЗУ” по проведениюлабораторныхработ необходимо:

  1. Подсоединитьинтерфесныйпродов к программаторуи параллельномупорту персональногокомпьютера(оба должныбыть обесточены)

  2. Включитьпитание копьютера

  3. Включитьпитание налабораторноммакете

  4. Загрузитьна компьютерепрограммныйинтерфейс

  5. ВставитьмикросхемуПЗУ в слот налабораторноммакете

  6. Ознакомитьсяс программой

  7. Выбрать впрограмме типмикросхемыПЗУ, вставленнуюв слот лабораторногомакета

  8. Провеститестированиеработоспособностипрограмматора

  9. Выполнитьзадание поработе с лабораторныммакетом

  10. Выйти изпрограммы

  11. Выключитьлабораторныймакет

  12. Выключитьперсональныйкомпьютер

  13. Снять микросхемуПЗУ со слоталабораторногомакета


Для ознакомленияс устройствоми работойпрограмматораПЗУ пользователюпредоставленадокументация.


2.6. Результатыиспытаний


В процесседипломногопроектированиябыли полученыследующиерезультаты:

Был разработанпрограммныйинтерфейслабораторногомакета «ПрограмматорПЗУ», которыйобеспечиваетсвязь аппаратногоинтерфейсалабораторногомакета с последовательнымпортом (LPT)персональногокомпьютераIBMPC, позволяетсчитывать изаписыватьинформациюна микросхемыПЗУ.

Также программныйинтерфейссоздает удобныйрежим общенияпользователяс программойпо принципуэкранных меню.

Вся программареализованана персональномкомпьютереIBMPC 486 с мониторомразрешающейспособностьюв текстовомрежиме 80x60,при палитры16цветов.

В ходу отладкипрограммногоинтерфейсаэкспериментнымпутем былиустановленыминимальныетребованияк персональномукомпьютеру:

IBMсовместимыперсональныйкомпьютер;

процессор286;

цветнойдисплей;

видеоадаптерEGA;

операционнаяоболочка DOS3.0 или старше;

объем оперативнойпамяти 416 Kb;

свободноепространствона жесткомдиске из расчета:программа(20Kb)+ 64Kb*кол.прошивок ПЗУ.

Техническаяхарактеристикапрограммы:

Объемпрограммы нажестком диске

20Kb

Занимаемаяпамять во времяисполнения

17Kb

Скоростьчтения микросхемыПЗУ

1Kb/сек.

Скоростьзаписи прошивкив ПЗУ

0.5Kb/сек.

Тестированиепрограмматора 13сек

3.ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКИЙРАЗДЕЛ


3.1. Оценка издержекна разработкупрограммногоинтерфейсадля программатораПЗУ

3.1.1 Статья I.Материальныересурсы

Статья Iвключаетстоимость всехвидов сырьяи материалов,расходуемыхна изготовлениепродукции, атакже транспортно-заготовительныерасходы.

Расчет сырьяи материаловприведен втаблице 3.1.

Таблица3.1

Расчет сырьяи материалов


Наименование

Ед.Измерения

Цена,

руб.

Норма расходов,

шт.

Стоимость,

руб.


Операционнаясистема MS-DOS6.20

шт. 342000.00 1 342000.00

ЯзыкпрограммированияBorlandTurbo Pascal v7.0

шт. 570000.00 1 570000.00

Итого:

912000.00


ТЗР=


(3.1)

ТЗР=912000.00*1%/100%=9120.00 руб.

Ст.I=


(3.2)

Ст.I=912000.00+9120.00=921120.00руб.


3.1.2. Статья II.Оплататруда

Статья IIвключаетзаработнуюплату основныхпроизводственныхрабочих, в которыенепосредственнона рабочихместах выполняютоперации, пообработкепродукции.

Определениенорм временина операцииприведено втаблице 3.2.

Таблица3.2

Нормы времени


Должность

Стоимость1 часа

Кол-вочасов

Оплата

Программист 15000.00руб. 60 900000.00руб.
Отладчик 5000.00руб. 15 75000.00руб.

Итого: 975000.00руб.

Ст.2=975000.00 руб.

3.1.3 Статья III.Отчисленияво внебюджетныефонды

Статья IIIвключаетв себя отчисленияв пенсионныйфонд (28%), фондзанятости (1.5%), медицинскоестрахование(3.6%), социальноестрахование(5.4%), в фондобразования(1%) и транспортныйналог(1 %).

Всего 40,5% от начисленнойзаработнойплаты.

Ст.3=

(3.3)

Ст.3=

=394875.00 руб.

3.1.4.СтатьяIV. Расходына содержаниеи обслуживаниеоборудования

Статья IVвключаетв себя расходына зарплатувспомогательнымрабочим, наладчикам,механикам,стоимостьзапасных частей,вспомогательныхсредств иамортизацию.

НачальнаястоимостьперсональногокомпьютераIBMPC/AT 386 - 2425920.00руб., нормаамортизации- 4% (КОМ), расходысоставили97036.80руб.

Во времяразработкии отладкипрограммногообеспечениябыло потрачена89 кВт (ЭНЕР)электроэнергии:1 кВт - 512.00 руб., 89 кВт- 45568.00 руб.


Ст.4=КОМ+ЭНЕР (3.4)

Ст.4= 97036.80+45568.00=142604.80руб.

3.1.5. Полнаясебестоимость

Пол.Себ.=

(3.5)

Пол.Себ.=921120.00+975000.00+394875.00+142604.80=2433559.80руб.


3.2. Анализэффективностивнедренияразработаннойпрограммы в учебный процесс


Эффективностьвнедренияпрограммызаключаетсяв том, что лабораторныймакет, для которогонаписана программа,позволяетнагляднопродемонстрироватьчтение и записьПЗУ в производственныхусловиях.

Лабораторныймакет и программноеобеспечениеобслуживающиемакет, позволитулучшить качествообучающегопроцесса попредмету «Импульснаятехника», потому,что позволитучащимсянепосредственнона практикеизучить методчтения и записимикросхем.

Программадля лабораторногомакета простаи интуитивнапонятна в обращении;Сам макет, такжепрост, что позволяетсразу преступитьк выполнениюлабораторнойработы, необходимовсего лишьтолько подключитьсямакет в сеть,подсоединитьразъем к параллельномупорту персональногокомпьютера(порт LPT),вставить прошиваемуюмикросхемуПЗУ в панельи запуститьпрограммноеобеспечениена персональномкомпьютере.Эта простотав обращениипозволит незатрачиватьмного временина обучениеучащихся пользованиюмакетом.

Лабораторныймакет имеетхорошие показателиповторяемости,не требуетсложного оборудованиядля отладки,что позволяетлегко внедритьмакет в производствоили собиратьего непосредственнов радиомастерскихучебных заведенийили в домашнихусловиях.

К достоинствумакета относятсяи

низкаясебестоимость,так как использованыширокодоступныедетали и материалы;

малый токпотребления;

малые габаритныеразмеры;

интуитивнопонятный программныйинтерфейс.


Все вышеперечисленныефакторы позволятснизить розничнуюцену макетаи программногообеспечениядля него, а такжеуменьшитьзатраты наэксплуатацию,что в условияхрыночной экономикипозволяетповсеместновнедрить лабораторныймакет по программированиюПЗУ в учебныйпроцесс. Самкак таковойлабораторныйстенд безпрограммногообеспеченияне имеет смысларассматривать,так как безпрограммы, этопросто грудаметалла, также как и программабез металла,это простобессмысленныйнабор команд.Поэтому дальшепод словоммакет будетрассматриватьсовокупностьлабораторногостенда и программногообеспечениядля него.

Так как разработкамакета носитсоциально-направленныйхарактер (дляпроведениялабораторныхработ в учебныхзаведенияхпо курсу «Импульснаятехника») и встоимостномвыражении неоценивается.


4. МЕРОПРИЯТИЯПО ОХРАНЕ ТРУДА.БЕЗОПАСНОСТЬТРУДА ПРИОБСЛУЖИВАНИИПРОГРАММАТОРА


4.1 Требованиябезопасностик техническимсредствам ПЭВМ

Техническиеи периферийныесредства ПЭВМдолжны отвечатьтребованиямбезопасностипри их эксплуатации,монтаже, ремонтеи обслуживанииотдельныхкомплексови систем в целом.УстройствауправленияПЭВМ, устройстваввода-выводаи подготовкиданных в процессеэксплуатациидолжны бытьпожаробезопаснымии соответствоватьтребованиямбезопасностив течение всегосрока службы.

Органы управлениятехническимисредствамиПЭВМ, устройстваввода-вывода,средства диагностикии контроляработы должнывключать накоплениестатическогоэлектричествав опасныхколичествах.Отдельные блокиЭВМ допускаетсяэксплуатироватьс устройствамиснятия электрическогозаряда.

Для предотвращенияобразованияи защиты студентовот статическогоэлектричествав помещенияхучебно-вычислительногоцентра (УВЦ)необходимоиспользоватьнейтрализаторыи увлажнителивоздуха, а полыдолжны иметьантистатическоепокрытие. Допустимыйуровень напряженностиэлектрическогополя в помещенияхУВЦ не долженпревышать 20кВ/м.

Конструктивноотдельныемодули и блокитехническихсредств ПЭВМдолжны иметьместное освещениедля обслуживания,диагностикии контроляработы, приэтом должнаисключатьсявозможностьсоприкосновениес токоведущимичастямиэлектрооборудования.

Устройствауправлениятехническимии периферийнымисредствамиПЭВМ, обеспечивающиевзаимодействиесоставныхчастей ПЭВМ,должны бытьвыполнены так,чтобы не моглавозникнутьопасность впроцессе совместногодействия отдельныхсистем и комплексав целом.

Видео терминальноеустройствоотображенияинформациидолжно отвечатьосновным требованиямбезопасности:яркость экранадисплея неменее 100 кд/м2,высота символовна экране неменее 3.8 мм, расстояниеот глаз до экранане менее 400 мм,размер экранапо диагоналине менее 310 мм,количествоточек на однойстроке не менее640, минимальныйразмер светящейсяточки не более0.4 мм, для монохромногодисплея и 0.6 ммдля цветного.


4.2. Требованиябезопасностик микроклиматув учебныхлабораториях


  1. Оптимальныеи допустимыеусловия микроклиматав лабораторияхучебноговычислительногоцентра (УВЦ)устанавливаютсяс учетом избыткатепла, выделяемогоот техническихи периферийныхустройствПЭВМ, тяжестивыполняемойработы, а такжевремени года.Микроклиматопределяетсядействующимина организмпрограммистовсочетаниямитемпературы,влажности искорости движениявоздуха.

  2. В лабораторияхУВЦ необходимоподдерживатьоптимальныеусловия микроклиматас помощьювентиляционныхи отопительныхсистем, выполненныхв соответствиис СНИП II-33-75.Температуравоздуха в холодныйи теплы периодгода должнабыть в пределах+20...25 оС, относительнаявлажность60...40 %при скоростидвижения воздухане более 0.2 м/с,подача наружноговоздуха в помещениелабораторииобъемом до 20м3 наодного студентане должна бытьменее 30 м3/ч.

  3. Воздух впомещенияхработы программистови оператороввычислительныхсистем долженбыть очищенот вредныхвеществ, пылии микроорганизмов.Патогеннаяфлора должнабыть исключена.В помещенияхлабораторийУВЦ общее количествоколоний на 1м3 недолжна превышать1000. В помещенияхУВЦ воздухрабочей зоныдолжен соответствоватьустановленнымтребованиямГОСТ 12.1.005-76 с незначительнымизбытком теплаот видеотерминалови устройствотображенияинформации.

  4. При одновременномнахождениив помещенияхУВЦ техническихи периферийныхустройствПЭВМ, программистови оператороввычислительныхсистем, когдатемпературавнешней средывыше +25 оС,допустимаятемпературавоздуха в помещенияхне должна превышать+31...+33 оСсо значительнымизбытком теплаот ПЭВМ. Придлительномвоздействииповышеннойтемпературыпроисходитнарушениеводно-солевого,белкового ивитаминногообменов в организместудентов УВЦ.В результатенаступаетрасслаблениеорганизмаучащихся, снижениевнимания искорости восприятияс устройствотображенияинформации.


4.3. Меры безопасностипри сервисномобслуживаниипрограмматора.


В лабораторноммакете присутствуетопасное дляжизни напряжение220 вольт 50 герц.Это напряжениепитает трансформаторныйблок. В остальныхблоках лабораторногомакета напряженияне превышают27 вольт, что неявляется опасным.В блоке стабилизатораи блоке нагрузкипроисходиттепловыделение.Температурачастей этихблоков не превышает50оС,что не представляетопасности длячеловека.

Корпус блокатрансформаторавыполнен издиэлектрическогоматериала.Шасси выполненоиз дюралюминия.Клемма заземленияшасси должнабыть выведенана корпус. Кэтой клеммедолжно бытьподключенозаземление.

Шнур питанияи вилка должнысоответствоватьТУ на них, и неиметь изломови нарушенийв изоляции.

Сетевойтумблер типаПТ2-2 (напряжение600 вольт, ток до2 ампер) отвечаеттребованиямэлектробезопасности.

Должны бытьиспользованысетевые предохранителив стандартныхдержателях.

Напряженияи температурыв остальныхблоках лабораторногомакета непредставляютопасности ине требуютособых мерпредосторожности.

Так как программаторвзаимодействуетпри работе сПЭВМ, а ПЭВМявляетсяэлектроустановкой,то к ней предъявляютсятребованиясоблюдениявсех параметровэлектробезопасностисогласно ТУна ПЭВМ. Вреднымифакторами длячеловека являются:

  • мягкоерентгеновскоеизлучениеэкрана;

  • мерцаниеэкрана с частотойкадровой развертки;

  • электростатическоеполе вокругэкрана;

  • ультрафиолетовоеизлучениеэкрана.

СПИСОК ЛИТЕРАТУРЫ


  1. Скотт Мюллер«Модернизацияи ремонт персональныхкомпьютеров»,Москва, изд.«ВосточнаяКнижная Компания»,1996г., ISBN0-7897-0321-1

  2. Гук «Аппаратныесредства IBMPC», Санкт-Петербург,изд. «ПитерПресс», 1996г., ISBN5-88782-036-5

  3. Фаронов В.В.«Турбо Паскаль7.0. Начальныйкурс. Учебноепособие», Москва,изд. «Нолидж»,1997г., ISBN5-89251-012-3

  4. М.В.Сергиевский,А.В. Шалашов«Турбо Паскаль7.0: Язык, средапрограммирования»,Москва, изд.«Машиностроение»,1994г., ISBN5-217-02468-2

  5. Абель П. «ЯзыкАссемблер дляIBMPC и программирования»,Москва, изд.«Высшая школа»,1992г., ISBN5-101-123447-1

  6. Гейтс Б. «Дорогав будующее»,Москва, изд.«Русская редакция»,1996г., ISBN5-7502-0019-1

  7. Информацияс сервераwww.referats.aha.ru,изд. INTERNET

  8. CD-библиотека«Все для инженера»,изд. InfoLink,1997г.


  • ПРИЛОЖЕНИЕ1


  • ПРОГРАММНЫЙИНТЕРФЕЙС



Uses DOS;


Type TNT = Array[0..65534]Of Byte;

Filearray = Array[1..5000]Of String[12];


Const

U0 = Char(200);

U1 = Char(201);

U2 = Char(202);

U3 = Char(199);

U4 = Char(198);

U5 = Char(203);

U6 = Char(193);

U7 = Char(192);

Up = Char(194)+Char(195);

Uf = Char(196)+Char(185);

Us = Char(197)+Char(186);

Speed = 3;

Hex : Array[0..15]Of Char =('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');


Var

Buffer : ^TNT;

Filx : ^filearray;

Dirx : ^filearray;

Fake : ^TNT;

ScanCode: Byte;

Key : Char;

Screen : Array[0..50*90] of byte;

Segscr : Word;

Ofsscr : Word;

px,py : Byte;

Clr : Byte;

MenuP : Byte;

F : File;

RomSize : Longint;

Curd : String;

RomName : String;

lxul,lyul,lxdr,lydr : byte;


Procedure WaitRt; assembler;

Asm

mov dx,$3da

@wa1:

in al,dx

test al,8

je @wa1

@wa2:

in al,dx

test al,8

jne @wa2

End;


Procedure Color(c1,c2 : byte);

Begin

clr:=c1+16*c2;

End;


Procedure Loc(x,y: byte);

Begin

px:=x;

py:=y;

End;


Procedure WChar(c : char);

Begin

screen[py*160+px+px]:=byte(c);

screen[py*160+px+px+1]:=clr;

inc(px);

If px=80 Then

Begin px:=0; inc(py);

If py>25 Then py:=25;

End;

End;


Procedure Shade(x : byte);

Var

m : byte;

Begin

For m:=1 To x Do

Begin

Screen[py*160+px+px+1]:=screen[py*160+px+px+1]And $7;

inc(px);

If px=80 Then

Begin px:=0; inc(py);

If py>25 Then py:=25;

End;

End;

End;


Procedure Wrt(s : string);

Var

x: word;

Begin

For x:=1 To length(s) Do WChar(s[x]);

End;


Procedure WrtLn(s : string);

Var

x: word;

Begin

For x:=1 To length(s) Do WChar(s[x]);

px:=0;

inc(py);

If py>25 Then py:=25;

End;


Procedure Map;

Begin

Move(screen,mem[$b800:0],80*50);

End;


Procedure Cls;

Begin

FillChar(screen,80*50,0);

End;


Procedure ReadKey; assembler;

Asm

xor ax,ax

int 16h

End;


Function ScanKey : char;

Var

x : byte;

Begin

x:=255;

Asm

mov ah,01

int 16h

jz @nokey

mov x,al

mov ScanCode,ah

@nokey:

End;

If x255 Then ReadKey;

ScanKey:=char(x);

End;


Procedure SkipTime;

Var

h,m,s,c : word;

lh,lm,ls,lc : longint;

abstime1,abstime2: longint;

Begin

GetTime(h,m,s,c);

lh:=h; lm:=m; ls:=s; lc:=c;

abstime1:=lc+(ls*100)+(lm*60*100)+(lh*60*60*100);

Repeat

GetTime(h,m,s,c);

lh:=h; lm:=m; ls:=s; lc:=c;

abstime2:=lc+(ls*100)+(lm*60*100)+(lh*60*60*100);

Until (abstime2abstime1);

End;


Procedure MoveMan;

Var

addr : word;

a : byte;

x : word;

Begin

addr:=0;

For x:=0 To 80*25-1 Do

Begin

a:=screen[addr];

If (a>207)And(a

inc(a);

If a=217 Then a:=208;

If a=205 Then a:=204 Else If a=204 Thena:=205;

screen[addr]:=a;

inc(addr,2);

End;

End;


Procedure MakeMans;

Var x: word;

Begin

For x:=0 To 80*25-1 Do

Begin

screen[x+x] :=177;

screen[x+x+1]:=16+7;

End;

End;


Procedure LoadFont;

Var

f: file;

Begin

Assign(f,curd+'axefont.fnt');

Reset(f,1);

Blockread(f,screen,50*80);

Close(f);

Asm

push bp

mov ax,segscr

mov es,ax

mov bp,ofsscr

mov bx,1000h

xor dx,dx

mov cx,256

mov ax,1100h

int 10h

pop bp

mov ah,1

mov cx,1000h

int 10h

End;

Cls;

End;


Procedure WaitKey;

Begin

WaitRt;

Map;

Repeat

Key:=ScanKey;

If Key=char(255) Then

Begin

Map;

MoveMan;

SkipTime;

End;

Until Keychar(255);

End;


Procedure Window(xul,yul,xdr,ydr : byte; name : string);

Var

x,y : word;

Begin

Loc(xul,yul);

Wrt(up);

For x:=xul+2 To xdr Do Wrt('-');

For y:=yul+1 To ydr-1 Do

Begin

Loc(xul,y); Wrt(u0);

For x:=xul+1 To xdr-1 Do Wrt(' ');

Wrt(u1);

Shade(2);

End;

Loc(xul,y);

Wrt(u4);

For x:=xul+1 To xdr-1 Do Wrt(u7);

Wrt(u5);

Loc(xul+2,ydr);

Shade(xdr-xul+1);

x:=length(name) shr 1;

y:=(xdr-xul)shr 1+xul;

y:=y-x;

Loc(y+1,yul);

y:=clr;

x:=(clr and $F0)shr 4;

color(x,clr and $0F);

Wrt(name);

clr:=y;

lxul:=xul;

lyul:=yul;

lxdr:=xdr;

lydr:=ydr;

End;


Procedure Morph(xf1,yf1,xf2,yf2,xt1,yt1,xt2,yt2 : byte);

Var

x : word;

Begin

Window(xf1,yf1,xf2,yf2,'');

Repeat

MakeMans;

If xf1>xt1 Then dec(xf1,((xf1-xt1)Shr speed)+1);

If xf1

If yf1>yt1 Then dec(yf1,((yf1-yt1)Shrspeed)+1);

If yf1

If xf2>xt2 Then dec(xf2,((xf2-xt2)Shrspeed)+1);

If xf2

If yf2>yt2 Then dec(yf2,((yf2-yt2)Shrspeed)+1);

If yf2

Window(xf1,yf1,xf2,yf2,'');

Map;

WaitRt;

Until (xf1=xt1)And(xf2=xt2)And(yf1=yt1)And(yf2=yt2);

End;


Procedure MorphL(xt1,yt1,xt2,yt2 : byte);

Var

x : word;

xf1,xf2,yf1,yf2 : byte;

Begin

xf1:=lxul; xf2:=lxdr;

yf1:=lyul; yf2:=lydr;

MorPh(xf1,yf1,xf2,yf2,xt1,yt1,xt2,yt2);

End;


Procedure WindowL(name : string);

Var

xf1,xf2,yf1,yf2 : byte;

Begin

xf1:=lxul; xf2:=lxdr;

yf1:=lyul; yf2:=lydr;

Window(xf1,yf1,xf2,yf2,name);

End;


Procedure Menu(x1,y1,stepy,all,col : byte;s1,s2,s3,s4,s5 : string;lenx : byte);

Var

x : byte;

yt : byte;

yp : byte;

Begin

yt:=y1;

For x:=1 To all Do

Begin

Loc(x1,yt);

Case x oF

1: Wrt(s1);

2: Wrt(s2);

3: Wrt(s3);

4: Wrt(s4);

5: Wrt(s5);

End;

yt:=yt+stepy;

End;

yp:=0;

yt:=clr;

clr:=col;

Repeat

Repeat {??}

Loc(x1-2,y1+(stepy*yp));

Wrt(char(204));

WaitKey;

Until(Key=chr(13))or(ScanCode=byte('H'))or(ScanCode=byte('P'))or(Key=chr(27));

Loc(x1-2,y1+(stepy*yp));

Wrt(' ');

If Key=chr(27) Then yp:=all-1;

If ScanCode=byte('P') Then If yp

If ScanCode=byte('H') Then If yp>0 Thendec(yp);

Until (Key=chr(13))or(Key=chr(27));

x:=x1-2;

Repeat

Loc(x,y1+(stepy*yp));

Wrt(' '+chr(205));

WaitRt;

Map;

inc(x,1);

Until x>=x1+lenx;

clr:=yt;

MenuP:=yp;

End;


Procedure HexL2Str(l : longint; var s : string);

Begin

s:=hex[(l shr (4*7))and 15];

s:=s+hex[(l shr (4*6))and 15];

s:=s+hex[(l shr (4*5))and 15];

s:=s+hex[(l shr (4*4))and 15];

s:=s+hex[(l shr (4*3))and 15];

s:=s+hex[(l shr (4*2))and 15];

s:=s+hex[(l shr (4*1))and 15];

s:=s+hex[(l)and 15];

End;


Procedure HexB2Str(l : byte; var s : string);

Begin

s:=hex[(l shr 4)and 15];

s:=s+hex[(l)and 15];

End;


Procedure MemEd(name: string);

Var

x,y : word;

l,l1,p,lpos : longint;

s,st : string;

stc : byte;

size : longint;

readsize : longint;

bank : word;

b1,b2 : byte;

flag : boolean;

i : searchrec;

Label Repaint, TryAgain;

Begin

TryAgain:

FindFirst(name,AnyFile,i);

If i.Attr And ReadOnly = ReadOnly Then

Begin

stc:=clr;

color(7,4);

MorPhL(20,7,56,15);

WindowL('File has ReadOnly Attribute!');

Menu(30,9,2,3,$4b,'Remove it','Reselectfile','Exit','xxx4','xxx5',6);

If MenuP=1 Then

Begin

MenuP:=8;

exit;

End;

If MenuP=2 Then

Begin

MenuP:=0;

exit;

End;

clr:=stc;

assign(f,name);

SetFattr(f,(i.Attr xor ReadOnly));

MorPhL(0,0,77,24);

Color(7,6);

WindowL('Memory Editor');

goto TryAgain;

End;

Assign(f,name);

reset(f,1);

size:=FilesiZe(f);

l1:=0;

p:=0;

lpos:=0;

bank:=0;

flag:=false;

If size>35000 Then readsize:=35000 Elsereadsize:=size;

blockread(f,buffer^,readsize);

RePaint:

If l1 Div 32767 bank Then

Begin

If flag Then

Begin

color(7,4);

MorPhL(24,7,50,14);

WindowL('Save Changed Data?');

Menu(36,9,3,2,$4b,'YES','NO','xxx3','xxx4','xxx5',6);

If MenuP=0 Then

Begin

Seek(f,lpos);

blockwrite(f,buffer^,readsize);

End;

MorPhL(0,0,77,24);

Color(7,6);

WindowL('Memory Editor');

End;

lpos:=(l1 div 32767)*32767+(l1 div 32767);

Seek(f,lpos);

If size-l1>35000 Then readsize:=35000 Elsereadsize:=size-l1;

blockread(f,buffer^,readsize);

bank:=l1 div 32767;

flag:=false;

end;

l:=l1 and 32767;

Loc(2,1);

Wrt('address 0 1 2 3 4 5 6 7 8 9 A B C D E F ASCII');

For x:=2 To 22 Do

Begin

Loc(2,x);

HexL2Str(l+(l1 and (32767 xor $FFFFFFFF)),s);

Wrt(s+': ');

For y:=1 to 16 do

Begin

HexB2Str(buffer^[l],s);

Wrt(s+' ');

inc(l);

End;

For y:=16 Downto 1 Do

Begin

Wrt(char(buffer^[l-y]));

End;

End;

l:=l1 and 32767;

Repeat

Repeat

stc:=clr;

color(6,7);

HexB2Str(buffer^[l+p],s);

Loc((((p) and 15)*3)+13,(p) shr 4+2);

Wrt(s);

Loc((((p) and 15))+61,(p) shr 4+2);

Wrt(char(buffer^[l+p]));

clr:=stc;

WaitKey;

Until(Key=chr(13))or(ScanCode=$49)or(ScanCode=$51)or(ScanCode=$48)

or(ScanCode=$4D)or(ScanCode=$4B)or(ScanCode=$50)or(Key=chr(27))

or((Key>='0')and(Key='A')and(Upcase(Key)

If(ScanCode=$48)or(ScanCode=$4d)or(ScanCode=$4b)or(ScanCode=$50) Then

Begin

HexB2Str(buffer^[l+p],s);

Loc((((p) and 15)*3)+13,(p) shr 4+2);

Wrt(s);

Loc((((p) and 15))+61,(p) shr 4+2);

Wrt(char(buffer^[l+p]));

End;

If((Key>='0')And(Key='A')And(Upcase(Key)

Begin

stc:=clr;

Key:=upcase(Key);

If (Key>='0')And(Key

color(6,7);

Loc((((p) and 15)*3)+13,(p) shr 4+2);

Wrt(Key+'?');

Loc((((p) and 15))+61,(p) shr 4+2);

Wrt('?');

Repeat

WaitKey;

Until((Key>='0')and(Key='A')and(Upcase(Key)

Key:=upcase(Key);

If (Key>='0')And(Key

If((Key>='0')And(Key='A')And(Upcase(Key)

Begin

buffer^[l+p]:=b1*16+b2;

flag:=true;

end;

clr:=stc;

end;

Case ScanCode of

$50: if l1+p+16320+15 then begin inc(l1,16); p:=320+(p and 15); goto RePaINt;end; end;

$48: begin if (p>15)or(l10)then dec(p,16);if p

$4D: if l1+p+1320+15then begin inc(l1,16); p:=320; goto RePaINt; end; end;

$4B: begin if (p>0)or(l10)then dec(p); ifp

$49: begin if (l1>319) then begin dec(l1,320) endelse l1:=0; goto RePaint; end;

$51: begin inc(l1,320); if l1>size-336 thenl1:=size-336; goto RePaint; end;

end;

Until (key=chr(13))or(Key=chr(27));

If flag Then

Begin

color(7,4);

MorPhL(24,7,50,14);

WindowL('Save Changed Data?');

Menu(36,9,3,2,$4b,'YES','NO','','','',6);

If MenuP=0 Then

Begin

Seek(f,lpos);

blockwrite(f,buffer^,readsize);

End;

End;

close(f);

End;


Function LowCase(s : string) : string;

Var

x : integer;

Begin

LowCase:=s;

For x:=1 To length(s) Do

Begin

If (s[x]>='A')And(s[x]

End;

End;


Procedure FFile(var s : string);

Var

i : searchrec;

name : string;

x,y,z: integer;

curp : integer;

curps: integer;

maxp : integer;

mask : string;

zs : string;

fz,dz: integer;

f : file of byte;

pos : longint;

Label Repaint;

Begin

s:='';

RePaint:

For y:=1 To 17 Do

Begin

Loc(23,3+y);

Wrt(' ');

End;

z :=0;

fz :=0;

dz :=1;

curp :=1;

curps:=1;

mask :='*.*';

FindFirst(mask,Directory,i);

Repeat

If (i.attr)And(Directory)=Directory Then

Begin

filx^[dz]:=i.name;

If i.name'.' Then inc(dz);

End

Else

Begin

dirx^[fz+1]:=LowCase(i.name);

inc(fz);

End;

FindNext(i);

Until DOSERROR0;

z:=dz+fz;

x:=1;

For y:=dz To z Do

Begin

filx^[y]:=dirx^[x];

inc(x);

End;

Repeat

maxp:=curp+17;

If maxp>(z-1) Then maxp:=(z-1);

For y:=curp To maxp Do

Begin

Loc(23,3+y-curp);

name:=filx^[curp+(y-curp)];

For x:=17 DownTo length(filx^[curp+(y-curp)])Do name:=name+' ';

If curps=(y-curp+1) Then color(1,2) Elsecolor(7,1);

Wrt(' '+name);

End;

Repeat

WaitKey;

Until(Key=chr(13))or(ScanCode=$48)or(ScanCode=$50)or(Key=chr(27))or(ScanCode=82);

Case ScanCode Of

$50: inc(curps);

$48: dec(curps);

82:

Begin

MOrPhL(10,10,40,15);

WindowL('Input File Name .ROM');

y :=1;

zs:=' ';

Loc(22,12);

Wrt('-');

Repeat

WaitKey;

Loc(21+y,12);

If (Keychr(13))And(Keychr(27)) Then

If (Keychr(08)) Then

Begin

If y9 Then

Begin

zs[y]:=Key;

Wrt(key+'-');

inc(y);

End;

End

Else

If y1 Then

Begin

dec(y);

Loc(21+y,12);

zs[y]:=' ';

Wrt('- ');

End;

Until (Key=Chr(13))or(Key=chr(27));

MorPhL(20,8,50,12);

Color(7,4);

WindowL('!!!!!!!!!!!!');

Loc(30,10);

Wrt('Жди давай!'+chr(208));

Map;

Assign(f,zs+'.ROM');

Rewrite(f);

y:=$FF;

For pos:=1 To romsize Do Write(f,byte(y));

close(f);

Key:=chr(255);

ScanCode:=0;

color(7,1);

MorPhL(20,2,50,22);

WindowL('Выберитефайл');

s:='';

Goto RePaint;

End;

End;

If curps>(z-1) Then curps:=(z-1);

If (curps>18) Then

Begin

curps:=18;

If curp

End;

If (curps

Begin

curps:=1;

If curp>1 Then dec(curp);

End;

Until (Key=chr(13))or(Key=chr(27));

Color(7,1);

If Key=chr(13) Then

Begin

FindFirst(filx^[curp+curps-1],00,i);

If DOSERROR0 Then

Begin chdir(filx^[curp+curps-1]);

Goto RePaint;

End;

s:=filx^[curp+curps-1];

End;

End;


Procedure ReadROM(addr : longint);

Var

x : word;

y : byte;

Begin

x:=addr;

port[$378]:=x and 65535;

port[$379]:=x shr 16;

y:=port[$380];

fake^[x and 65535]:=y;

End;


Var

x : byte;

s : string;

l : LONGINT;

y : longint;

zs : string;

rsz : longint;

fi,fo : file;

Label OpenF;

Begin

New(buffer);

New(filx);

New(dirx);

New(fake);

ofsscr:=ofs(screen);

segscr:=seg(screen);

LoadFont;

MakeMans;

GetDir(0,curd);

romsize:=0;

color(7,5);

Window(1,1,26,12,'Главноеменю');

Repeat

MorPhL(1,1,26,12);

Color(7,5);

WindowL('Main Menu');

Menu(4,3,2,4,$5b,'ВыборПЗУ','Работа сПЗУ','Опрограмме','Вы'+char(208)+'ход','',20);

case MenuP of

0:

Begin

Repeat

MorPhL(20,10,50,18);

color(7,1);

WindowL('Выбор типаПЗУ');

Menu(23,12,2,3,$1b,'УФ ПЗУ','ПЗУс плавкимиперемычками','Назад','','',26);

case MenuP of

0:

Begin

MorPhL(10,10,29,18);

color(7,5);

WindowL('УФ ПЗУ');

Menu(13,12,2,3,$5b,'2176','573РФ','Назад','','',16);

If MenuP2 Then

Begin

romsize:=8*1024;

romname:=curd+'\amibio';

End;


If MenuP2 Then MenuP:=2 Else MenuP:=0;

End;

1:

Begin

MorPhL(40,8,70,16);

Color(7,5);

WindowL('ПЗУ с плавкимиперемычками');

Menu(43,10,2,3,$5b,'155РЕ3','556РТ6','Назад','','',16);

If MenuP2 Then

Begin

romsize:=16*1024;

romname:=curd+'\amibio1';

end;

If MenuP2 Then MenuP:=2 Else MenuP:=0;

end;

end;

Until MenuP=2;

MenuP:=5;

end;

1:

Begin

If romsize=0 Then

Begin

MorPhL(21,6,49,10);

Color(7,4);

WindowL('Варнинг!!!');

Loc (25,8);

Wrt ('Пипл!!! ВыбериПЗУ!!!!');

WaitKey;

End

Else

Repeat

MorPhL(40,5,60,15);

Color(7,1);

WindowL('Работас ПЗУ');

Menu(44,7,2,4,$1b,'Чтение','Запись','Тестирование','Назад','Num5',12);

Case MenuP Of

0:

Begin

MorPhl(22,7,50,11);

color(7,1);

WindowL('ЧтениеПЗУ');

Loc(24,9);

Wrt('-------------------------');

For l:=0 To romsize Do

Begin

Loc(24+(l*24 div romsize),9);

Wrt ('-'+chr(208));

Color (3,1);

Map;

ReadROM(l);

End;

Color(7,1);

MorPhL(0,0,77,24);

Color(7,6);

WindowL('Просмотрпрошивки');

MemEd(romname);

Color(7,4);

MorPhL(24,7,60,14);

WindowL('Сохранитьпрочитанныеданные?');

Menu(40,9,3,2,$4b,'YES','NO','','','',6);

Case MenuP of

0:

Begin

MOrPhL(10,10,50,15);

WindowL('Имя сохраняемогообраза .ROM');

y:=1;

zs:=' ';

Loc(26,12);

Wrt('-');

Repeat

WaitKey;

Loc(25+y,12);

If (Keychr(13))And(Keychr(27))Then

If (Keychr(08)) Then

Begin

If y9 Then

Begin

zs[y]:=Key;

Wrt(key+'-');

inc(y);

End;

End

Else

If y1 Then

Begin

dec(y);

Loc(25+y,12);

zs[y]:=' ';

Wrt('- ');

End;

Until (Key=Chr(13))or(Key=chr(27));

If key=chr(13) Then

Begin

MorPhL(20,8,50,12);

Color(7,4);

WindowL('!!!!!!!!!!!!');

Loc(30,10);

Wrt('Жди давай!'+chr(208));

Map;

Assign(fo,zs+'.ROM');

Rewrite(fo,1);

Assign(fi,romname);

Reset(fi,1);

rsz:=FileSize(fi);

Repeat

y:=rsz;

If y>65535 Then y:=65535;

BlockRead(fi,buffer^,y);

BlockWrite(fo,buffer^,y);

rsz:=rsz-y;

Until rsz=0;

Close(fi);

Close(fo);

End;

End;

End;


MenuP:=5;

End;

1:

Begin

Repeat

MenuP:=1;

MorPhL(20,2,50,22);

color(7,1);

WindowL('Выберитефайл');

FFile(s);

If s'' Then

Begin

MorPhL(0,0,77,24);

Color(7,6);

WindowL('Редактировениепрошивки');

MemEd(s);

Color(7,4);

MorPhL(24,7,60,14);

WindowL('ПрошитьПЗУ?');

Menu(40,9,3,2,$4b,'YES','NO','xxx3','xxx4','xxx5',6);

If MenuP=0 Then

Begin

MorPhl(22,7,50,11);

Color(7,1);

WindowL('ПрошиваемПЗУ');

Loc(24,9);

Wrt('-------------------------');

For l:=0 To romsize Do

Begin

Loc(24+(l*24 div romsize),9);

Wrt ('-'+chr(208));

Color (3,1);

Map;

ReadROM(l);

End;

End;

End;

Until MenuP8;

end;

2:

Begin

MorPhl(22,7,50,11);

color(7,1);

WindowL('Тестируемпрограмматор');

Loc(24,9);

Wrt('-------------------------');

For l:=0 To 1000 Do

Begin

Loc(24+(l*24 div 1000),9);

Wrt ('-'+chr(208));

Color (3,1);

Map;

End;

Loc(23,9);

Wrt(chr(209)+' Все впорядке, аднака ');

waitkey;

End;

end;

Until MenuP=3;

MenuP:=5;

end;


2:

Begin

MorPhL(9,2,70,23);

color(7,0);

WindowL('О программе');

Loc(10,10);

For x:=1 To 60 Do Wrt(chr(210));

Loc(12,4);

Wrt('Дипломныйпроект "Лабораторныймакет программатораПЗУ"');

Loc(11,6);

Wrt('Это программкабыла написанав среде Borland Pascal v7.0');

Loc(13,8);

Wrt('Программарасчита нароботу с 2 типамимикросхемПЗУ');

Loc(36,12);

Wrt('Авторы:');

Loc(11,14);

Wrt('Идея и текстпрограммы:');

Loc(25,15);

Wrt('ДмитрийВ. Румянцев');

Loc(11,17);

Wrt('Помощь внаписаниепрограммы:');

Loc(25,18);

Wrt('Dead Emotion //HellraiseR Group');

Loc(11,20);

Wrt('Тестированиепрограммы:');

Loc(25,21);

Wrt('АлексекА. Иванов');

WaitKey;

MenuP:=5;

end;

end

until MenuP=3;

MorPhL(13,7,13,7);

asm

mov ax,3

int 10h

end;

end.


-76-



РумянцевДмитрий Владимирович 49РА7-93 Июнь 1997


МОСКОВСКИЙКОЛЛЕДЖ ЭЛЕКТРОННОЙТЕХНИКИ


ДИПЛОМНАЯРАБОТА


ПрограмматорПЗУ (программнаячасть)”


Работу выполнилстудент: РумянцевД.В.

Научныйруководитель:ГуськовБ.Г.


Москва,1997