Курсовая работа: Завантажувач шрифтів
Адаптер має 3 режима роботи - 0,1,2. Розглянемо кожний з них.
В режимі 0 (базового введення-виведення) можуть працювати всі три порти, причому порт C разділюється на два незалежних 4-бітних порти. Всього,таким чином, виходить два 8-бітних і два 4-бітних порти паралельного введення або виведення, що забезпечує 16 можливих конфігурацій адаптера в режимі 0. Дані, що виводяться, фіксуються в регістрах-фіксаторах, що входять до складу всіх портів, а введені дані не запам'ятовуються, тобто в операціях зчитування вхідного порту на шину даних передається поточний стан вхідних ліній.
Режим 0 застосовується при програмно-управляємому введенні-виведенні з повільнодіючими периферійними пристроями.
Для організації введення-виведення необхідна підпрограма ініціалізації адаптера і три аналогічні підпрограми введення і виведення для кожного периферійного пристрою. Кожна з них виконує такі дії : введення стану пристрою, перевірку готовності, виведення або введення даних і формування супровджуючого стробу. Якщо пристрій не готовий до обміну, мікропроцесор входить в цикл очікування.
Режим 1 (стробоване введення-виведення) призначений для однонаправленої передачі даних, ініційованих перериваннями. Власне передача слів даних здійснюється через порти B і A, а шість ліній порту C використовуються для управління обміном. Даний режим надає користу-вачеві такі можливості: запрограмувати один або два паралельних порти з лініями квітування і переривання, кожний з яких може працювати на введення або виведення; при використанні тільки одного порту решту 13 ліній запрограмувати в режим 0; при встановленні двох портів в режим 1 інші 2 лінії використати для введення або виведення.
В режимі 2 (двонаправлена шина, що забезпечує введення і виведення даних) може працювати тільки група A. Порт A використовується для передачі власне 8-бітних даних, а п'ять ліній порту C виконують функції квітування і переривань. Загальна дисципліна квітування аналогічна режиму, але і окремі тригери дозволу переривань по виводу INTE1 (управляється встановленням та зкиданням біту PC6) та по вводу INTE2 (управляється через біт PC4). Дані, що вводяться та виводяться, фіксуються в регістрах-фіксаторах порту.
Принтер є одним iз периферiйних пристроїв, що приймають данi вiд комп'ютера у паралельному кодi, оскiльки це найбiльш швидкий спосiб обмiну. Iншими прикладами пристоїв, що використовують паралельний адаптер, є аналого-цифровi перетворювачi(АЦП), фотоcчитувачi.
Алгоритм обмiну iнформацiї в кожному конкретному випадку залежить вiд напрямку потокiв iнформацiї. Наприклад, АЦП є джерелом iнформацiї, i тому адаптер необхiдно налаштувати на введення iнформацiї. Для цього можна використати рiзнi режими роботи:0,1,2, проте найбiльш простим з них, очевидно, був би режим 0, а надлишково ускладненим - режим 2. Аналогiчна ситуацiя i з принтером, тiльки iнформацiя в цьому випадку передається у зворотньму напрямку - вiд комп'ютера до периферiйного пристрою.
Однак принтер, у свою чергу, виставляє власнi сигнали, iнформуючи комп'ютер про власний стан. Тож доходимо висновку, що для нормальної роботи принтера паралельний адаптер необхiдно налаштувати на виведення iнформацiї, видiливши при тому окремi виводи для введення сигналiв з принтера.
Сигналами обмiну з принтером є:
/STROBE - запит на передачу даних (вiд комп'ютера);
/ASC (acknolege) - пiдтвердження прийому (вiд принтера);
ВUSY - сигнал зайнятостi (вiд принтера);
PE (paperempty) - папiр вiдсутнiй (вiд принтера);
SELECT - принтер активний (вiд принтера);
/ERROR - збiй у роботi(вiд принтера);
Вибiр режиму роботи:
- якщо обираємо режим 0, то обмiн буде можливий лише за умови програмної емуляцiї системних сигналiв обмiну(тобто посилаємо данi на порт, виставляємо сигнал сигнал /STROBEi чекаємо на сигнал /ASC). Слiд зауважити, що тривалiсть сигналу /ASC вiд принтера має тривалiсть 7.5 мкс, i тому при органiзацiї циклу опитування слiд полiчити кiлькiсть тактiв у циклii загальну тривалiсть циклу опитування. Якщо вона буде бiльшою вiд тривалостi сигналу, то можливе пропущення сигналу i, як наслiдок, збiй обмiну.
- в режимi роботи 1 операцiї обмiну (handshaking) виконуються автоматично i є можливiсть органiзацiї обмiну даними по перериванню. Робота програми зводиться до програмування адаптера та встановлення у вихiдне (початкове) становище лiнiй, на якi заведено сигнали квiтирування (STROBE-ASC). Слiд додати, що у режимi 1 є двi лiнiї, що можуть бути запрограмованi як на введення, так i на виведення, що дозволяє органiзувати додатково введення iнших сигналiв (у даному випадку - сигналiв BUSY (принтер зайнятий) та РЕ (вiдсутнiсть паперу).
- в режимi 2 можливо органiзувати двонаправлений обмiн iнформацiєю з апаратною пiдтримкою квiтирування, проте при цьому втрачається можливiсть опитування додаткових лiнiй статусу принтера.
Деякі команди принтера:
Таблиці символів
ESCtn 1b 74 n ;Выбор таблицы символов(0,1,48,49)
LQ-100: 0-3,48-51(2-downloadfont)
ESCRn 1b 52 n ;Выбор медународного набора знаков
(0-13,64)
ESC 6 1b 36 ;Коды 80-9f как печатаемые
ESC 7 1b 37 ;Коды 80-9f как управляющие
ESC & 0 nn 1b 26 0 n1 n2 a1 d1 ;Загружает знаки, n1-код первого,