_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Программатор ПЗУ

Программатор ПЗУ

Страница: 6/9

Корпус блока трансформатора выполнен из диэлектрического материала. Шасси выполнено из дюралюминия. Клемма заземления шасси должна быть выведена на корпус. К этой клемме должно быть подключено заземление.

 Шнур питания и вилка должны соответствовать ТУ на них, и не иметь изломов и нарушений в изоляции.

Сетевой тумблер типа ПТ2-2 (напряжение 600 вольт, ток до 2 ампер) отвечает требованиям электробезопасности.

Должны быть использованы сетевые предохранители в стандартных держателях.

 Напряжения и температуры в остальных блоках лабораторного макета не представляют опасности и не требуют особых мер предосторожности.

Так как программатор взаимодействует при работе с ПЭВМ, а ПЭВМ является электроустановкой, то к ней предъявляются требования соблюдения всех параметров электробезопасности согласно ТУ на ПЭВМ. Вредными факторами для человека являются:

мягкое рентгеновское излучение экрана;

мерцание экрана с частотой кадровой развертки;

электростатическое поле вокруг экрана;

ультрафиолетовое излучение экрана.

СПИСОК ЛИТЕРАТУРЫ

 

1.Скотт Мюллер «Модернизация и ремонт персональных компьютеров», Москва, изд. «Восточная Книжная Компания», 1996г., ISBN 0-7897-0321-1

2.Гук «Аппаратные средства IBM PC», Санкт-Петербург, изд. «Питер Пресс», 1996г., ISBN 5-88782-036-5

3.Фаронов В.В. «Турбо Паскаль 7.0. Начальный курс. Учебное пособие», Москва, изд. «Нолидж», 1997г., ISBN 5-89251-012-3

4.М.В. Сергиевский, А.В. Шалашов «Турбо Паскаль 7.0: Язык, среда программирования», Москва, изд. «Машиностроение», 1994г., ISBN 5-217-02468-2

5.Абель П. «Язык Ассемблер для IBM PC и программирования», Москва, изд. «Высшая школа», 1992г., ISBN 5-101-123447-1

6.Гейтс Б. «Дорога в будующее», Москва, изд. «Русская редакция», 1996г., ISBN 5-7502-0019-1

7.Информация с сервера www.referats.aha.ru, изд. INTERNET

8.CD-библиотека «Все для инженера», изд. InfoLink, 1997г.

 

ПРИЛОЖЕНИЕ 1

 

ПРОГРАММНЫЙ ИНТЕРФЕЙС

 

 

 Uses DOS;

 

 Type TNT = Array[0..65534]Of Byte;

      Filearray  = Array[1..5000]Of String[12];

 

 Const

     U0 = Char(200);

     U1 = Char(201);

     U2 = Char(202);

     U3 = Char(199);

     U4 = Char(198);

     U5 = Char(203);

     U6 = Char(193);

     U7 = Char(192);

     Up = Char(194)+Char(195);

     Uf = Char(196)+Char(185);

     Us = Char(197)+Char(186);

     Speed = 3;

     Hex : Array[0..15]Of Char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');

 

 Var

     Buffer  : ^TNT;

     Filx    : ^filearray;

     Dirx    : ^filearray;

     Fake    : ^TNT;

     ScanCode: Byte;

     Key     : Char;

     Screen  : Array[0..50*90] of byte;

     Segscr  : Word;

     Ofsscr  : Word;

     px,py   : Byte;

     Clr     : Byte;

     MenuP   : Byte;

     F       : File;

     RomSize : Longint;

     Curd    : String;

     RomName : String;

     lxul,lyul,lxdr,lydr : byte;

 

Procedure WaitRt; assembler;

Asm

    mov dx,$3da

   @wa1:

    in al,dx

    test al,8

    je @wa1

   @wa2:

    in al,dx

    test al,8

    jne @wa2

End;

 

Procedure Color(c1,c2 : byte);

Begin

    clr:=c1+16*c2;

End;

 

Procedure Loc(x,y: byte);

Begin

    px:=x;

    py:=y;

End;

 

Procedure WChar(c : char);

Begin

    screen[py*160+px+px]:=byte(c);

    screen[py*160+px+px+1]:=clr;

    inc(px);

     If px=80 Then

       Begin px:=0; inc(py);

        If py>25 Then py:=25;

       End;

End;

 

Procedure Shade(x : byte);

Var

    m : byte;

Begin

    For m:=1 To x Do

      Begin

        Screen[py*160+px+px+1]:=screen[py*160+px+px+1] And $7;

        inc(px);

         If px=80 Then

          Begin px:=0; inc(py);

           If py>25 Then py:=25;

          End;

      End;

End;

 

Procedure Wrt(s : string);

Var

    x: word;

Begin

    For x:=1 To length(s) Do WChar(s[x]);

End;

 

Procedure WrtLn(s : string);

Var

    x: word;

Begin

    For x:=1 To length(s) Do WChar(s[x]);

     px:=0;

     inc(py);

      If py>25 Then py:=25;

End;

 

Procedure Map;

Begin

    Move(screen,mem[$b800:0],80*50);

End;

 

Procedure Cls;

Begin

    FillChar(screen,80*50,0);

End;

 

Procedure ReadKey; assembler;

Asm

    xor ax,ax

    int 16h

End;

 

Function ScanKey : char;

Var

    x : byte;

Begin

    x:=255;

Asm

    mov ah,01

    int 16h

    jz @nokey

    mov x,al

    mov ScanCode,ah

  @nokey:

End;

    If x<>255 Then ReadKey;

     ScanKey:=char(x);

End;

 

Procedure SkipTime;

Var

    h,m,s,c : word;

    lh,lm,ls,lc : longint;

    abstime1,abstime2: longint;

Begin

    GetTime(h,m,s,c);

    lh:=h; lm:=m; ls:=s; lc:=c;

    abstime1:=lc+(ls*100)+(lm*60*100)+(lh*60*60*100);

Repeat

    GetTime(h,m,s,c);

    lh:=h; lm:=m; ls:=s; lc:=c;

    abstime2:=lc+(ls*100)+(lm*60*100)+(lh*60*60*100);

Until (abstime2<>abstime1);

End;

 

 

Procedure MoveMan;

Var

    addr : word;

    a    : byte;

    x    : word;

Begin

    addr:=0;

     For x:=0 To 80*25-1 Do

      Begin

       a:=screen[addr];

        If (a>207)And(a<217) Then

         inc(a);

          If a=217 Then a:=208;

           If a=205 Then a:=204 Else If a=204 Then a:=205;

            screen[addr]:=a;

            inc(addr,2);

      End;

End;

 

Procedure MakeMans;

Var x: word;

Begin

    For x:=0 To 80*25-1 Do

     Begin

      screen[x+x]  :=177;

      screen[x+x+1]:=16+7;

     End;

End;

 

Procedure LoadFont;

Var

    f: file;

Begin

    Assign(f,curd+'axefont.fnt');

    Reset(f,1);

    Blockread(f,screen,50*80);

    Close(f);

Asm

    push bp

    mov ax,segscr

    mov es,ax

    mov bp,ofsscr

    mov bx,1000h

    xor dx,dx

    mov cx,256

    mov ax,1100h

    int 10h

    pop bp

    mov ah,1

    mov cx,1000h

    int 10h

End;

    Cls;

End;

 

Procedure WaitKey;

Begin

    WaitRt;

    Map;

Repeat

    Key:=ScanKey;

     If Key=char(255) Then

      Begin

       Map;

       MoveMan;

       SkipTime;

      End;

Until Key<>char(255);

End;

 

Procedure Window(xul,yul,xdr,ydr : byte; name : string);

Var

    x,y : word;

Begin

    Loc(xul,yul);

    Wrt(up);

     For x:=xul+2 To xdr Do Wrt('-');

      For y:=yul+1 To ydr-1 Do

       Begin

        Loc(xul,y); Wrt(u0);

         For x:=xul+1 To xdr-1 Do Wrt(' ');

          Wrt(u1);

          Shade(2);

       End;

      Loc(xul,y);

      Wrt(u4);

       For x:=xul+1 To xdr-1 Do Wrt(u7);

        Wrt(u5);

        Loc(xul+2,ydr);

        Shade(xdr-xul+1);