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


 

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

13322. Визначення коефіцієнта Пуасона методом Клемана і Дезорма 473 KB
  Лабораторна робота №8 Визначення коефіцієнта Пуасона методом Клемана і Дезорма. Мста роботи: аВивчення законів ідеального газу. бЕкспериментальне визначення показника адіабати. Прилади і матеріали: балон з двома кранами рідинний манометр ручний насос. Кор...
13323. Визначення теплоти розчинення солі 460 KB
  Лабораторна робота № 9. Визначення теплоти розчинення солі. Мета роботи: адослідним шляхом визначити теплоту розчинення солі; бустановити залежність теплоти розчинення солі від концентрації розчину. Прилади та матеріали: посудина Дюара термометр мензурка сі...
13324. ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ВНУТРІШНЬОГО ТЕРТЯ ТА СЕРЕДНЬОЇ ДОВЖИНИ ВІЛЬНОГО ПРОБІГУ МОЛЕКУЛ ПОВІТРЯ 400 KB
  Лабораторна робота № 10 ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ВНУТРІШНЬОГО ТЕРТЯ ТА СЕРЕДНЬОЇ ДОВЖИНИ ВІЛЬНОГО ПРОБІГУ МОЛЕКУЛ ПОВІТРЯ Мета роботи: а вивчення основних законів молекулярнокінетичної теорії газів; б експериментальне визначення основних параметрів молекулярн...
13325. ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ЛІНІЙНОГО РОЗШИРЕННЯ ТВЕРДИХ ТІЛ 696 KB
  Лабораторна робота №11 ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ЛІНІЙНОГО РОЗШИРЕННЯ ТВЕРДИХ ТІЛ Мета роботи: авивчення термічного розширення твердих тіл; бекспериментальне визначення коефіцієнта лінійного розширення різних матеріалів. Прилади та матеріали: прилад для в...
13326. Визначення вязкості рідини капілярним віскозиметром 365 KB
  Лабораторна робота № 12 Визначення вязкості рідини капілярним віскозиметром. Мета роботи: авивчення властивостей рідини; бекспериментальне визначення коефіцієнта вязкості рідини. Прилади та матеріали: віскозиметр секундомір спирт дистильована вод
13327. Визначення коефіцієнта поверхневого натягу методом Ребіндера 223 KB
  Лабораторна робота №7 Визначення коефіцієнта поверхневого натягу методом Ребіндера. Мета роботи: аВизначення властивостей рідини: бВивчення методів та експериментальне визначення коефіцієнта поверхневого натягу. Прилади та матеріали: аспіратор установка
13328. Комп’ютерний вибір оптимальних однорідних термоелектричних матеріалів для термоелектрики 29.5 KB
  Звіт до лабораторної роботи № 1 Комп’ютерний вибір оптимальних однорідних термоелектричних матеріалів для термоелектрики Мета роботи Використовуючи експериментальні дані кінетичних коефіцієнтів навчитись проводити раціональний вибір термоелектричного мат
13329. Моделювання матеріалу n – типу провідності на основі Bi - Sb в оптимальному магнітному полі для низькотемпературного охолодження 27 KB
  Звіт до лабораторної роботи № 2 Моделювання матеріалу n – типу провідності на основі Bi Sb в оптимальному магнітному полі для низькотемпературного охолодження Мета роботи Використовуючи експериментальні залежності коефіцієнтів Зеебека α електропровідності σ ...
13330. Проектування термоелектричного матеріалу для віток термоелемента на основі мікроскопічної теорії явищ перенесення 38 KB
  Звіт до лабораторної роботи № 3 Проектування термоелектричного матеріалу для віток термоелемента на основі мікроскопічної теорії явищ перенесення Мета роботи На основі макроскопічної теорії явищ перенесення навчитись моделювати напівпровідниковий матеріа