50501

Дослідження текстового та графічного режимів роботи EPSON-сумісних матричних принтерів

Лабораторная работа

Информатика, кибернетика и программирование

Висновок: у даній лабораторній роботі було розглянуто різні шрифти, які використовуються при друку, а також різні режими друку. Було створено програму, яка генерує коди, які розуміє принтер. На симуляторі принтера підтвердилася робочість програми і було роздруковано текст, зображення, а також візитку, яка містила 2 попередні пункти одночасно.

Украинкский

2014-01-25

67.5 KB

2 чел.

Міністерство освіти і науки України

Національний технічний університет України

“Київський політехнічний інститут”

ІПСА

Кафедра Системного проектування

Лабораторна робота №1

«Дослідження текстового та графічного режимів роботи EPSON-сумісних матричних принтерів»

Виконав:

студент групи ДА – 01

Воробік А.В.

Київ 2012

Мета: вивчення принципів роботи, можливостей та програмування EPSON-сумісних принтерів

Виконання завдання

1.1.

Командна послідовність

Шрифт

Символьна

Кодова

ESC SO

27 14

Широкий шрифт

DC4

20

Відміна широкого шрифту

ESC SI

27 15

Стислий шрифт

DС2

18

Відміна стислого шрифту

ESC E

27 69

Жирний шрифт

ESC F

27 70

Відміна жирного шрифту

ESC G

27 71

Подвійний друк

ESC H

27 72

Відміна подвійного друку

ESC M

27 77

Шрифт "еліта"

ESC P

27 80

Шрифт "піка"

ESC S 0

27 83 0

Друк в верхній половині рядку

ESC S 1

27 83 1

Друк в нижній половині рядку

ESC T

27 84

Відміна друку в верхній або нижній частині строки

ESC 1

27 45 1

Режим підкреслювання

ESC 0

27 45 0

Відміна режиму підкреслювання

Результати роботи тестової програми:

  1.   Друк тексту

ESC SO

Vorobik Andriy Vitaliyovich

 

ESC SI

Vorobik Andriy Vitaliyovich

ESC E

Vorobik Andriy Vitaliyovich

ESC G

Vorobik Andriy Vitaliyovich

ESC 1

Vorobik Andriy Vitaliyovich

  1.  Друк зображення

Друк зображення відбувається у режимі графіки одинарної площини ESC К

  1.  Друк візитки

┌─────────────────────────────────────────────────────────────┐

│                                                             │

│                                                             │

│                                  │

│                                  │

│                                  │

│                                  │

│Vorobik Andriy                    │

│                                  │

│                                  │

│                                  │

│DA-01                             │

│                                  │

│                                                             │

│                                                             │

│                                                             │

└─────────────────────────────────────────────────────────────┘

Лістинг програми

#include <iostream>

#include <fstream>

using namespace std;

unsigned char cbuf[160*160];

void text();

void image();

void vizitka()

{

   FILE *f; int i,j;

   f = fopen("visitka.txt", "wb");

   fprintf(f, "%c", 218);

   for(i=0;i<61;i++)

   {

       fprintf(f, "%c", 196);

   }

   fprintf(f, "%c", 191);

   for(j=0; j<2; j++)

   {

       fprintf(f, "\n%c", 179);

       for (i=0;i<=60;i++)

       {

           fprintf(f, " ");

       }

       fprintf(f, "%c", 179);

   }

   for(j=0; j<10; j++)

   {

       int dx=0;

       fprintf(f, "\n%c%c%c%c%c",179,27,'K',163,0);

       fwrite(cbuf+j*160,1,160,f);

       fprintf(f, "%c%c%c", 0,0,0);

       if (j==4) { fprintf( f, "Vorobik Andriy");dx=18;}

       if (j==8) { fprintf( f, "DA-01");dx=5; }

       for (i=0;i<=(33-dx);i++)

       fprintf(f, " ");

       fprintf(f, "%c", 179);

   }

   for(j=0; j<3; j++)

   {

       fprintf(f, "\n%c", 179);

       for (i=0;i<=60;i++)

       {

           fprintf(f, " ");

       }

       fprintf(f, "%c", 179);

   }

   fprintf(f, "\n\r%c", 192);

   for(i=0;i<61;i++)

   {

       fprintf(f, "%c", 196);

   }

   fprintf(f, "%c", 217);

   fclose(f);

}

int main()

{

   text();

   image();

   vizitka();

   return 0;

}

void text()

{

   FILE *stream;

   char *s = "Vorobik Andriy Vitaliyovich";

   stream = fopen("result.txt", "wb");

   fprintf (stream, "%c%c%s%c\n\r", 27, 14,s,20);

   fprintf (stream, "%c%c%s%c\n\r", 27, 15,s,18);

   fprintf (stream, "%c%c%s%c%c\n\r", 27, 69,s,27,70);

   fprintf (stream, "%c%c%s%c%c\n\r", 27, 71,s,27,72);

   fprintf (stream, "%c%c%c%s%c%c%c\n\r", 27, 45,1,s,27,45,0);

   fclose(stream);

}

void image()

{

   unsigned short pixel[]={};

   int h,w,i,y,x;

   char buf=0;

   int pos=0;

   h=160; w=160;

   FILE *res;

   res = fopen("result2.txt", "wb");

   for(y=0; y<h; y=y+8)

   {

       fprintf(res,"%c%c%c%c",27,'K',w,0);

       for(x=0; x<w; x++)

       {

       buf=0;

       for(i=0; i<8; i++)

            {

               buf<<=1;

               if(pixel[x+(y+i)*w]<128)    buf++;

            }

           fputc(buf,res);

           cbuf[pos++]=buf;

       }

       fprintf(res,"\n\r");

    }

   fclose(res);

}

 

Висновок: у даній лабораторній роботі було розглянуто різні шрифти, які використовуються при друку, а також різні режими друку. Було створено програму, яка генерує коди, які розуміє принтер. На симуляторі принтера підтвердилася робочість програми і було роздруковано текст, зображення, а також візитку, яка містила 2 попередні пункти одночасно.


 

А также другие работы, которые могут Вас заинтересовать

24744. Сетевая технология 23.5 KB
  Принципиально эти решения можно разделить на три группы: передача разных типов трафика по отдельным физическим линиям создание двух независимых сетевых инфраструктур; передача различных типов трафика по одной линии; преобразование одного вида трафика в другой с последующей транспортировкой и коммутацией.
24745. Физическая структуризация сетей. Примеры 26.36 KB
  Примеры Для построения простейшей односегментной сети достаточно иметь сетевые адаптеры и кабель подходящего типа. Повторитель улучшает электрические характеристики сигналов и их синхронность и за счет этого появляется возможность увеличивать общую длину кабеля между самыми удаленными в сети станциями. Логический сегмент построенный с использованием концентраторов Появление устройств централизующих соединения между отдельными сетевыми устройствами потенциально позволяет улучшить управляемость сети и ее эксплуатационные характеристики...
24746. Логическая структуризация сети 26 KB
  Логическая структуризация сети Несмотря на появление новых дополнительных возможностей основной функцией концентраторов остается передача пакетов по общей разделяемой среде. Коллективное использование многими компьютерами общей кабельной системы в режиме разделения времени приводит к существенному снижению производительности сети при интенсивном трафике. Общая среда перестает справляться с потоком передаваемых кадров и в сети возникает очередь компьютеров ожидающих доступа. Это явление характерно для всех технологий использующих разделяемые...
24747. Функции маршрутизатора в сети 26.5 KB
  Функции маршрутизатора в сети Маршрутиза́тор сетевое устройство пересылающее пакеты данных между различными сегментами сети и принимающее решения на основании информации о топологии сети и определённых правил заданных администратором. Нередко маршрутизатор используется для обеспечения доступа из локальной сети в глобальную сеть Интернет осуществляя функции трансляции адресов и межсетевого экрана.
24748. Функции шлюза в сети 23.5 KB
  Функции шлюза в сети Сетевой шлюз аппаратный маршрутизатор или программное обеспечение для сопряжения компьютерных сетей использующих разные протоколы например локальной и глобальной. Сетевой шлюз может быть специальным аппаратным роутером или программным обеспечением установленным на обычный сервер или персональный компьютер.
24749. Многоуровневый подход к разработке средств сетевого взаимодействия 22.5 KB
  Многоуровневый подход к разработке средств сетевого взаимодействия В компьютерных сетях идеологической основой стандартизации является многоуровневый подход к разработке средств сетевого взаимодействия. Именно на основе этого подхода была разработана стандартная семиуровневая модель взаимодействия открытых систем ставшая своего рода универсальным языком сетевых специалистов.
24750. Модель взаимодействия открытых систем (модель OSI) 32 KB
  Модель взаимодействия открытых систем модель OSI Международная организации по стандартизации придумала и создала Модель OSI модель взаимодействия открытых систем. Модель OSI Тип данных Уровень Функции Данные 7.
24751. Функции физического уровня модели OSI 33.5 KB
  Функции физического уровня модели OSI Функции всех уровней модели OSI могут быть отнесены к одной из двух групп: либо к функциям зависящим от конкретной технической реализации сети либо к функциям ориентированным на работу с приложениями. Модель OSI представляет хотя и очень важную но только одну из многих моделей коммуникаций. Модель OSI Open System Interconnection описывает взаимосвязи открытых систем. Модель OSI Тип данных Уровень Функции Данные 7.
24752. Функции канального уровня модели OSI 33.5 KB
  Функции канального уровня модели OSI Функции протоколов канального уровня различаются в зависимости от того предназначен ли данный протокол для передачи информации в локальных или в глобальных сетях. Протоколы канального уровня используемых в локальных сетях ориентируются на использование разделяемых между компьютерами сети сред передачи данных. К таким типовым топологиям поддерживаемым протоколами канального уровня локальных сетей относятся общая шина кольцо и звезда. Примерами протоколов канального уровня для локальных сетей являются...