Лабораторная работа №23 / Работа 2
.doc
Министерство Образования РФ
Санкт- Петербургский государственный
электротехнический университет “ЛЭТИ”
ФКТИ
Кафедра ВТ
Отчет по лабораторной работе №2
“Управление клавиатурой ”
По дисциплине “Организация ЭВМ”
Выполнил:
студент группы 3371,
Артемьев Ю.Г
Проверил:
Степашкин Г.И.
Санкт – Петербург
2005
Текст программы( Управление клавиатурой ):
#include<stdio.h>
#include<conio.h>
#include<dos.h>
void Help()
{
printf( " *************************************************** ");
printf( "\n\tThis programm pokazbIBaet ASCI and SCAN cods of key" );
printf( "\n\tA Tak*e she can definite a set of push key's");
printf( "\n\t\t\t( Num, Caps and Scroll Locks)" );
}
void main(void)
{
char ch;
union REGS rg;
do
{
clrscr();
printf("\n\t*************************************");
printf("\n\n\t1.Help");
printf("\n\n\t2.SCAN and ASCI cods");
printf("\n\n\t3.The set of pushing keys");
printf("\n\n\t4.EXIT");
ch=getch();
switch (ch)
{
case '1':
clrscr();
Help();
case '2':
clrscr();
printf( "\n\tPress any Key\n\tPress Esc to Exit" );
for( ; ; )
{
rg.h.ah = 0;
int86(0x16,&rg,&rg);
printf( "\n\tSCAN = %02.2x \n\tASCI = %02.2x", rg.h.ah, rg.h.al );
if( rg.h.ah == 1)
break;
}
break;
case '3':
clrscr();
rg.h.ah = 2;
int86(0x16,&rg,&rg);
if( rg.h.al & 16 )
printf("\nScroll Lock is include ");
else
printf("\nScroll Lock isn't include ");
if( rg.h.al & 32 )
printf("\nNum Lock is include ");
else
printf("\nNum Lock isn't include ");
if( rg.h.al & 64)
printf("\nCaps Lock is include ");
else
printf("\nCaps Lock isn't include ");
getch();
break;
}
}
while (ch!='4');
}