Студентам > Курсовые > Программатор ПЗУ
Программатор ПЗУСтраница: 2/9
С тех
пор прошло немало времени, и сейчас диапазон конструктивных решений
персональных компьютеров очень широк. Но несмотря на конструктивные внешние
различия (от напольных башен до карманных моделей), все персоналки очень похожи
друг на друга. Другими словами, если «анатомия» компьютеров различна, то их
«физиология» практически идентична.
Современный персональный
компьютер включает следующие устройства [1]:
системный
блок, выполняющий управление компьютером, вычисления;
клавиатуру,
позволяющую вводить символы в компьютер;
монитор
(дисплей) для изображения текстовой и графической информации;
накопители
(дисководы) на гибких магнитных дисках (дискетах), используемые для чтения и
записи информации (для транспортировки);
накопитель
на жестком магнитном диске (винчестер), предназначенный для записи и чтения
информации (стационарный);
К системному блоку компьютера IBM
PC можно подключать различные устройства ввода-вывода информации, расширяя тем
самым его функциональные возможности. Многие устройства подсоединяются через
специальные гнезда (разъемы), находящиеся обычно на задней панели системного
блока компьютера. Кроме монитора и клавиатуры, такими устройствами являются:
принтер
- для вывода на печать текстовой и графической информации;
мышь
- устройство, облегчающее ввод информации в компьютер;
джойстик
- манипулятор в виде укрепленной на шарнире ручки с кнопкой, употребляется в
основном для компьютерных игр;
плоттер
- подключается к компьютеру для вывода рисунков и другой графической информации
на бумагу;
графопостроитель
- подключается для вывода чертежей на бумагу;
сканер
- устройство для считывания графической и текстовой информации в компьютер.
Сканеры могут распознавать шрифты букв, что дает возможность быстро вводить
напечатанный (а иногда и рукописный) текст в компьютер;
стример
- устройство для быстрого сохранения всей информации, находящейся на жестком
диске. Стример записывает информацию на кассеты с магнитной лентой.
Обыкновенная емкость стримера 60 Мбайт;
CD привод -
устройства для хранения информации больших объемов;
сетевой
адаптер - дает возможность подключать компьютер в локальную сеть. При этом
пользователь может получать доступ к данным, находящимся в других компьютерах.
1.1.2. Оперативная память
Объем
доступной оперативной памяти - один из важнейших параметров любого компьютера.
Оперативная память или оперативное запоминающее устройство (ОЗУ или RAM)
представляет собой совокупность микросхем на системной плате, способных
накапливать и временно хранить программы и обрабатываемые данные. Эта
информация по мере надобности может быстро считываться из оперативной памяти
процессором и записываться туда вновь. При отключении питания содержимое
оперативной памяти полностью стирается и утрачивается. Поэтому после включения
компьютера программы и данные всякий раз необходимо заново загружать в
оперативную память из источников долговременного хранения информации. Для
долговременного хранения информации чаще всего применяются магнитные и
оптические диски или иные накопители цифровой информации [2].
В
современных компьютерах применяется главным образом динамическая оперативная
память или DRAM (Dynamic Random Access Memory). Она строится на микросхемах,
требующих во избежание потерь периодического обновления информации. Этот
процесс получил название «регенерация памяти». Он реализуется специальным
контроллером, установленным на материнской плате. На периодическую регенерацию
данных в микросхемах динамической оперативной памяти расходуется некоторое
время. Поэтому сбои в памяти нередко оказываются одной из распространенных
проблем в работе недорогих персональных компьютеров «желтой» или «черной»
сборки, даже если в них используются совершенно исправные микросхемы
динамической оперативной памяти.
Объем
любой компьютерной памяти, в том числе и оперативной памяти, измеряется в
килобайтах и мегабайтах. Наименьшей единицей измерения информационной емкости и
наименьшей единицей деления памяти компьютера является байт. Собственно байт -
это, в свою очередь, совокупность восьми мельчайших единиц информации, которые
называют битами. Разница между простейшими стационарными двоичными состояниями,
например, «включено»/«выключено» или между 0 и 1 составляет всего один бит.
Байтовая (или 8 - битовая) структура измерения выбрана из - за двоичной
организации вычислительной техники. Для передачи или сохранения одного любого
символа - буквы, цифры или знака - требуется минимум один байт.
1 килобайт равен 1024
байтам, 1 мегабайт - 1024 килобайтам, 1 гигабайт - 1024 мегабайтам.
Самые первые IBM PC имели
оперативную память всего лишь 16 Кбайт. Последующие модели персоналок типа IBM
PC и PC/XT располагали объемом оперативной памяти до 640 Кбайт - именно таков
максимальный объем памяти, которым способна управлять операционная система MS-DOS.
А для увеличения объема памяти использовались специальные платы расширения,
позволявшие дополнительно увеличить объем памяти до 16 - 64 Мбайт [2].
Оперативная память компьютера IBM
PC с процессором Intel - 8088 или Intel - 8086 (например, IBM PC XT) может
иметь размер не более 1 Мбайта, поскольку эти микропроцессоры могут обращаться
не чем к 1 Мбайту памяти. Эта память состоит из двух частей. Первые 640 Кбайт
памяти могут использоваться прикладными программами и операционной системой.
Остальные адреса памяти («верхняя память») зарезервированы для служебных целей:
для
хранения части операционной системы DOS, которая обеспечивает тестирование
компьютера, начальную загрузку операционной системы, а также выполнение
основных низкоуровневых услуг ввода - вывода;
для
передачи изображения на экран;
для
хранения различных расширений операционной системы, которые поставляются вместе
с дополнительными устройствами компьютера.
Как правило, тогда говорят об
объеме оперативной памяти компьютера, то имеют в виду именно первую ее часть,
которая может использоваться прикладными программами и операционной системой.
Барьер 640 Кбайт. Для многих
программ 640 Кбайт мало (к тому же из этих 640 Кбайт до 100 Кбайт могут
занимать DOS и различные системные программы - драйверы устройств и резидентные
программы). Поэтому были разработаны расширенная (extended) и дополнительная
(expanded) памяти.
В качестве компонентов памяти в
современных компьютерах используются главным образом модули памяти с однорядным
расположением выводов, которые называются SIMM. Эти модули выпускаются с 30 и с
72 контактами емкостью 256 Кбайт, 1 Мбайт, 4 Мбайт, 16 Мбайт или 32 Мбайта.
1.1.3.
Дисковая операционная система (DOS)
Дисковая
операционная система - это программа, которая загружается при включении компьютера.
Она производит диалог с пользователем, посредством команд (каждая команда
означает действие, которое DOS должна выполнить) осуществляет управление
компьютером, его ресурсами (оперативной памятью, местом на дисках и т. д.),
выводит информацию на видеомонитор, запускает другие (прикладные) программы на
выполнение. Операционная система обеспечивает пользователю и прикладным
программам удобный способ общения (интерфейс) с устройствами компьютера. Она
выполняет также различные вспомогательные действия, например копирование или
печать файлов (файл -- это поименованный набор информации на диске или другом
машинном носителе). Все функции по обслуживанию таблиц размещения файлов,
поиску информации в них, выделению места для файлов на дискетах выполняются операционной
системой.
Главным
достоинством DOS является ее способность управлять устройствами памяти на
магнитных дисках (именно поэтому она названа - дисковая операционная система)
[7].
Операционная
система осуществляет загрузку в оперативную память всех программ, передает им
управление в начале их работы, выполняет различные действия по запросу
выполняемых программ и освобождает занимаемую программами оперативную память
при их завершении.
1.2. Характеристики
программных средств вычислительной техники
Система
программирования Турбо Паскаль (Turbo
Pascal), разработанная американской
корпорацией Борланд (Borland), остается одной из самых популярных систем
программирования в мире. Этому способствуют, с одной стороны, простота, лежащая
в основе языка программирования Паскаль, а с другой - труд и талант сотрудников
корпорации Борланд во главе с идеологом и создателем Турбо Паскаля Андерсом
Хейлсбергом. [3]
Придуманный
швейцарским ученым Никласом Виртом как средство для обучения студентов
программированию, язык Паскаль стараниями А. Хейлсберга превратился в мощную
современную профессиональную систему программирования, которой по плечу любые
задачи - от создания простых программ, до разработки сложнейших реляционных
систем управления базами данных. [4]
Турбо
Паскаль - это строго типизированный язык. Развитая система типов позволяет
легко разрабатывать адекватные представления для структур данных любой решаемой
задачи. В то же время существующие в Турбо Паскале средства преобразования
типов дают возможность гибко манипулировать различными данными.
Основные
операторы языка являются хорошей иллюстрацией базовых управляющих конструкций
структурного программирования. Их использование позволяет записывать сложные
алгоритмы обработки данных в компактной форме. Гармоничное включение в
структуру языка средств объектно-ориентированного программирования делает
переход от традиционных технологий программирования к объектно-ориентированному
для тех, кто программирует на Турбо Паскале, достаточно безболезненным.
Система
программирования Турбо Паскаль поддерживает модульный принцип программирования,
который лежит в основе всех современных технологий разработок программ.
Программа, написанная на Турбо Паскале, обычно разбивается на модули, а те, в
свою очередь, состоят из подпрограмм. [4]
1.3. Постановка задачи
Целью задачи
является разработка программного интерфейса (ПИ), который должен связывать
персональный компьютер и лабораторный макет «Программатор ПЗУ».
ПИ должен
обеспечивать подачу входных воздействий на все контакты ИМС (шину адреса, шину
данных, управляющие сигналы), осуществлять считывание и запись данных,
используя стандартный порт ввода-вывода LPT (параллельный).
Требования к
интерфейсу: ПИ должен обеспечивать формирование и подачу адреса, содержащего
шесть информационных и четыре управляющих бита данных на соответствующие
контакты программируемой ПЗУ, обеспечить стробирование чтения/записи
информации. ПИ должен обеспечить удобный вывод текстовой информации на экран
для упрощения работы пользователя с программой.
2. СПЕЦИАЛЬНЫЙ
РАЗДЕЛ
2.1. Разработка
алгоритма программного обеспечения
Структура
программного интерфейса была построена на основе иерархической системы
экранного меню.
Эта система
позволяет обеспечить для пользователя удобный переход и взаимодействие различных
уровней иерархии данного алгоритма структуры меню.
При разработке
алгоритма программного обеспечения были использованы следующие программные
модули:
модуль главного
меню;
модуль настройки
программы;
модуль чтения ПЗУ;
модуль записи ПЗУ;
модуль просмотра
настроенной программы.
Модуль главного меню
обеспечивает отображение на экране всех пунктов меню, и, соответственно,
осуществляет передачу управления программы по этим пунктам с предварительным
сохранением информационных переменных и массивов.
Модуль настройки
программы осуществляет определение пользователем всех входных и выходных
параметров, которые необходимы для дальнейшей работы модулей чтения и записи
ПЗУ, а также тестирования программатора.
Модули чтения и
записи ПЗУ, обеспечивает связь программного интерфейса с аппаратной частью
лабораторного макета, и осуществляет основную связь по работе с ПЗУ.
Модуль просмотра
настроенной программы осуществляет выдачу на экран текста настроенной
универсальной программы.
2.2. Разработка универсальной управляющей программы
Управляющая
программа построена в режиме меню для обеспечения наибольшей простоты ее
использования.
Программа была
реализована на экране с разрешающей способностью в текстовом режиме 80x60.
Для упрощения программного алгоритма были разработаны процедуры, которые
позволили выводить меню, управлять курсором, работать с файловой системой
DOS.
2.2.1. Процедура WaitRt - ждет вертикального обратного хода луча
2.2.2. Процедура Color - установка цвета
Таблица 2.1
Переменные
используемые в процедуре Color
Переменная
|
Назначение
|
C1
|
Цвет символа
|
С2
|
Цвет экрана
|
2.2.3. Процедура Loc - позиция курсора на экране
Таблица 2.2
Переменные
используемые в процедуре Loc
Переменная
|
Назначение
|
X
|
Позиция курсора по X
|
С2
|
Позиция курсора по Y
|
|