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 попередні пункти одночасно.


 

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

51112. Изучение переходных характеристик типовых динамических звеньев 64.46 KB
  Цель: Изучение переходных характеристик типовых динамических звеньев. Задача: Ознакомиться с программой снятия переходных характеристик. Произвести снятие переходных характеристик для различных значений параметров.
51113. Разработка калькулятора с использованием формы и компонентов Button, Label и TextBox 64.94 KB
  Разработать калькулятор с использованием формы и компонентов Button, Label и TextBox. Сделать проверку вводимых значений, реализовать 4 действия: сложение, умножение, деление, вычитание. Код программы...
51114. Изучение переходных частотных типовых динамических звеньев 63.73 KB
  Сравнить полученные графики с табличными и сделать выводы. Теоретические сведения Частотными характеристиками называются формулы и графики характеризующие реакции звена или системы на синусоидальное входное воздействие в установившемся режиме вынужденные синусоидальные колебания звена. В данном случае имеет место опережение по фазе так как график лежит в первой четверти. Форсирующее звено 2го порядка 1 3000 V К=15 Т1=7 Т2=5 150000 V
51116. Метрологическая надежность средств измерений 427.81 KB
  Метрологической надежностью называют способность СИ сохранять установленное значение метрологических характеристик в течение заданного времени при определенных режимах и условиях эксплуатации.
51117. Исследование частотных характеристик типовых динамических звеньев 24.84 KB
  Цель работы: исследование амплитудных и фазовых частотных характеристик типовых динамических звеньев. Задачи: Ознакомиться с программой для исследования амплитудной частотной АЧХ и фазовой частотной ФЧХ характеристик типовых динамических звеньев. Произвести снятие частотных характеристик для различных значений параметров.
51119. Реєстрація сигналів в MatLAB 613.88 KB
  Прочитати за допомогою функції load в робочу область сигнал ЕКГ, отриманий з допомогою комп’ютерного електрокардіографа та збережений у mat-файлі. Вивести графік, позначити вісі. (файл архіву ECG_rec.rar на сайті, обрати сигнал згідно номеру за списком; ЕКГ дискретизована з частотою 400 Гц, значення напруги в мілівольтах отримується діленням величин відліків на 500). Визначити (програмно) тривалість записаного сигналу.