Реферат по предмету "Информатика, программирование"


Завантажувач шрифтів

/>/>/>/>Міністерство освіти та науки України
КіровоградськийДержавний Технічний університет
Кафедра програмногозабезпечення
Курсова робота
з дисципліни“Програмування на мові ASM-86” на тему:
Завнатажувач шрифтів

Зміст
Вступ
1. Призначення та область застосуванняпрограми
2. Огляд існуючих систем, обгрунтуваннявибору, принципу розробки і методики побудови програм. Постановка задачі по реалізаціїтехнічного завдання
3. Опис і обгрунтування проектних рішень попроектуванню системи
4. Розрахунки та експериментальні матеріали,які підтверджують правильність конструкторських, програмних рішень. Реалізаціяпроекту
5. Інструкція користувача.
6. Основні висновки
Список літератури
Текст програми
Графічні матеріали

Вступ
На початку розвитку комп’ютерної техніки пристроївведення та виведення були досить невибагливі та забезпечували мінімумможливостей. До цих пристроїв належали перш за все монітор та клавіатура.Клавіатура використовувалась для введення інформації шляхом натискання деякихклавіш, які оброблялися відповідним програмним забезпечення, результат цієїобробки можна було побачити на моніторі. Спочатку цього було досить.
З розвитком інформаційних технологій та технічнимпрогресом, процесори почали ставати більш швидшими, монітори та відеоадаптерипочали збільшувати роздільну здатність, все більш програм почаливикористовувати графічний інтерфейс користувача. Комп’ютер став не простоелектронно-обчислювальною машиною, а багатогранним інструментом для вирішеннябагатьох проблем різного характеру, для розваг, для друкарських потреб. Бувстворений принтер.

1. Призначення таобласть використання пристрою, програми
Іноді треба текст надрукувати таким шрифтом, який непіддержує прикладна програма друку. Тоді потрібно створити програму, яка бдозволяла завантажити свій шрифт у принтер, а формат самих шрифтів був бипростим, щоб його можна було редагувати. Тому була створена ця програма. Вонамає невеликі системні вимоги і є простою у використанні.
2. Огляд існуючихпристроїв, систем, програмного забезпечення, обґрунтування вибору принципарозробки та методики побудови пристрою, систем, програмного забезпечення
Є дуже багато програм, які дозволяють друкувати текстчи файл, та більшість з них мають внутрішні шрифти, які не можна редагувати.Тож, коли виникає потреба надрукувати текст таким шрифтом, якого не маєпрограма, то приходиться шукати другу програму, яка б дозволила завантажитипотрібний шрифт.
3. Опис таобґрунтування проектних рішень по проектуванню пристрою системи
Будь-який МП-системі необхідні засоби обміну даними іззовнішніми периферійними пристроями. В залежності від умов конкретногозастосування та характеристик периферійного обладнання передача данихвиконується в паралельному або послідовному форматі. Спільність функційвведення-виведення стимулювала розробку ВІС периферійних адаптерів, що являютьсобою гнучкі програмовані прилади, зорієнтовані виключно на введення-виведення.Зараз такі адаптери стали неодмінними компонентами практично всіхмікропроцесорних сімейств.
Як приклад типового паралельного периферўйногоадаптера, або програмованого паралельного інтерфейсу, нижче розглядаєтьсямікросхема КР580ВВ55А.
Підключення периферійного обладнання виконується черезтри двонаправлених 8-бітних порти (або канали) A, B і C.Інтерфейс із системною шиною здійснюється за допомогою ліній:
D(0-7) — двонаправлена шина даних з трихстабільними каскадами.
A1, A0 — лінії адреси, котрі вибирають внутрішній регістр адаптера, комутований на шинуданих:
00 — порт A,
01 — порт B,
10 — порт C,
11 — регістр управляючого слова.
CS — активнийвхід вибірки кристала; високий рівень забороняє, а низький дозволяє зв'язокприладу із системною шиною даних.
RD — активнийвхід зчитування інформації із адресованого по лініям A0, A1регістру на шину даних.
WR — активнийвхід запису інформації з шини даних в адресований по A0 і A1внутрішній регістр адаптера.
RESET — активнийсигнал для приведення приладу у вихідний стан; при дії сигналу регіструправління обнуляється, а всі три порта налаштовуються в режим введення.
Відмітимо, що зчитування з регістру управління (RD=0,A1=1,A0=1)не допускається, а одночасний запис та зчитування (RD=0,WR=0)призводять до непередбачуваних наслідків.
Програмування адаптера полягає в завантаженніуправляючого слова в регістр управління. Наприклад, управляюче словоконфігурації порту A на введення в режимі 0, порта B навиведення в режимі 1, біта 3 порту C на введення та біта 7 порту C навиведення матиме код 11010101b.
Управляюче слово з нульовим старшим бітом D7=0використовується для встановлення і зкидання будь-якого біту порта C.Біти D(6-4) в цьому випадку не використовуються і містятьнулі, біти D(3-1) містять двійковий номер (адресу) модифікованогобіта порту С, а біт D0 задає встановлення (D0=1) абообнулення (D0=0) адресованого біту.
Адаптер має 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 (paper empty) — папiр вiдсутнiй (вiдпринтера);
SELECT — принтерактивний (вiд принтера);
/ERROR — збiй у роботi (вiд принтера);
Вибiр режиму роботи:
— якщо обираємо режим 0, то обмiнбуде можливий лише за умови програмної емуляцiї системнихсигналiв обмiну(тобто посилаємо данi на порт,виставляємо сигнал сигнал  /STROBE i чекаємо на сигнал  /ASC).Слiд зауважити, що тривалiсть сигналу /ASC вiдпринтера має тривалiсть 7.5 мкс, i тому при органiзацiїциклу опитування слiд полiчити кiлькiсть тактiв у циклi  iзагальну тривал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й статусу принтера.
Деякі команди принтера:
Таблиці символів
ESC t n       1b 74 n           ; Выбор таблицы символов(0,1,48,49)
                                 LQ-100:0-3,48-51(2-download font)
ESC R n       1b 52 n            ; Выбормедународного набора знаков
                                 (0-13,64)
ESC 6         1b36             ; Коды 80-9f как печатаемые
ESC 7         1b37             ; Коды 80-9f как управляющие
ESC & 0 nn   1b 26 0 n1 n2 a1 d1  ; Загружает знаки, n1-код первого,
                             d2… d11 a2...  n2-код последнего, a-ширина знака,
                                 старшийбит=0-используется нижняя
                                 игла,1-верхняя.Сетка9х11
              1b 26 0 n1 n2 a b cДля загрузки (N)LQсетка 18х12.
              d00 d01 d02 d10 d11a-пробелслева от знака, с-справа,
              … dc0 dc1 dc2  b-ширина
ESC: 0 n 0  1b 3a 30 n 30      Копирует ПЗУ в ОЗУ, n=0-Roman,1-SS
ESC % n      1b 25 n            Выбор знаков: 0-ПЗУ, 1-ОЗУ
ESC I0/1     1b 49 0/1          Выкл/вкл печати кодов 0-1f,80-9f
Графіка
ESC. nn     1b 2e c v h m n1 n2Печатьрастровой графики:
              d1...             c=0 обычный режим, 1-со сжатием
                                 v(h)=10,203600/v(h) dpi верт(гор)
                                 m=1-24число верт. точек
                                 n=n2*256+n1число гор. точек
                                 сочетание v=10,h=20запрещено
4. Розрахунки таексперементальні матеріали, які підтверджують правильність конструкторських,програмних рішень. Реалізація проекту
Дана програма написана на мові програмування ASM-86. Цей вибір зумовлений тим, що на мовіасемблера також можна отримати цілковитий контроль над комп’ютером.
Fontloadспочатку відкриває принтер, а потім читає файл шрифта в память. Коли він незнаходить файл шрифта, він повідомляє про це та закінчує свою роботу.
В залежності від типу принтера загружає шрифт впринтер, якщо він піддержує, чи друкує рядок в графиці.
5. Інструкція користувача
Для запускупрограми потрібно запустити файл fontload.exe. Потім вказати принтер, у якийслід завантажити шрифт і шлях до файлу зі шрифтом.

Основні висновки
Коли творилася цяпрограма, був вивчений паралельний інтерфейс, його робота, та робота принтера.Програма для завантаження шрифтів у принтер є структурованою і легко читаємою.Кожен програміст може вдосконалити її, чи зробити більш зручною для себе. Вонане має великих системних запросів і дуже проста у використанні.

Використаналітература
1.        The Microsoft(R) Guide forAssembly Language and C Programmers
2.        ПРОГРАММНО-АППАРАТНАЯОРГАНИЗАЦИЯ КОМПЬЮТЕРА IBM PC. Prentice-Hall Publishing Comp.,1984
3.        Фролов А.В., Фролов Г.В.,Операционная система MS-DOS. – М.: “ДИАЛОГ-МИФИ”, 1991. – (Библиотекасистемного программиста)
“Руководство по программированию” П. Нортон,Р. Уилтон 1994

Додатки
 
Лістинг програми
 
.model tiny
        .stack 200h
        .data
Msg1  db 'Выберите пинтер $'
Msg2  db 'Все нормально $'
Msg3  db 'Ошибка откр файла $'
Msg4  db 'выберите шрифтовый файл $'
Msg5  db 'ошибка закр. файла $'
Msg6  db 'Шрифт установлен $'
escposl db 0
Fname db 255,?,255 dup(0)
Handle dw 0
Stroka db 30 DUP(?)
        .code
ProgramStart PROC NEAR
       
        mov ax,@data
        mov ds,ax
        call clear
          Call Vibor
        call clear
        Call Init
        mov dx,offset Msg4
          Call outputer
          mov dx,offset fname
        Call inputer
        mov bl,byte ptr [fname+1]
        xor bh,bh
        mov di,offset fname+2
        mov [bx+di],byte ptr 0
        call clear
          Call fopen
          call clear
          Call esca
          Call fclose
Quit:
       
          mov dx,offset Msg6
          Call outputer
         
          mov ah,07h
          int 21h
        mov ah,4ch
        int 21h
ProgramStart endp
outputer proc
        mov ah,09h
        int 21h
        ret
outputer endp
   inputer proc
    mov ah,0ah
    int 21h
    ret
   inputer endp
Vibor   PROC NEAR
          lea dx,Msg1
          Call outputer
          mov ah,01h
          int 21h
          ret
Vibor   endp
Init    PROC NEAR
        mov ah,01h
        mov dx,1h
        int 17h
          ret
Init    endp
fopen PROC NEAR
          mov ah,3dh
          mov al,0h
          mov dx,offset fname+2
          int 21h
          jnc itd
          mov ah,09h
          lea dx,Msg3
          int 21h
          jmp Quit
itd:    mov [handle],ax
          ret
fopen endp
escape  PROC NEAR
fclose proc
        mov ah,3eh
        mov bx,[handle]
        int 21h
        jnc its_ok2
        mov dx,offset Msg5
        call outputer
its_ok2:
        ret
fclose endp
esca proc
   
met1: mov ah,3fh
        mov bx,[handle]
        mov cx,1
        mov dx,offset escposl
        int 21h
        call eof
        cmp al,0
        jz met2
        mov ah,00
        mov al,[escposl]
          mov dx,1
          int 17h
          mov cx,5h
          loop met1  
          met2: ret
esca endp
eof proc
        mov ah,44h
        mov al,06h
        mov bx,[handle]
        int 21h
        ret
eof endp
CLEAR   PROC
        MOV     AX,0600h
        MOV     BH,07h
        MOV     CX,0000
        MOV     DX,184Fh
        INT     10h
        mov ah,02
        mov bh,0
        mov dh,1
        mov dl,1
        int 10h
       
        RET
CLEAR   ENDP
end


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Спортивные и подвижные игры
Реферат Конституционно правовой статус федерального собрания
Реферат Принципы управления и их использование в современном менеджменте на примере ОАО Лукоил
Реферат Number The Stars Essay Research Paper The
Реферат Анализ хозяйственной и финансовой деятельности предприятия на примере ООО "НПРС-1"
Реферат Стиль лирики Тютчева и совершенство художественных образов
Реферат Стихотворение А. С. Пушкина «На холмах Грузии лежит ночная мгла»: поэтика и грамматика
Реферат Descriptive Essay 2
Реферат Child Abuse Provention Essay Research Paper Child
Реферат Разработка модели эффективного управления женской занятостью в муниципальном образовании "Нижнекамский муниципальный район"
Реферат Многоплодные роды
Реферат Разработка технологии получения отливок «корпус» из сплава МЛ5 в условиях массового производства
Реферат Анализ организации труда и нормирование его затрат на машинно автоматических операциях
Реферат Психологические особенности мотивации власти
Реферат Тлумачний словник по програмуванню