Отчет Лаба3
.docСанкт-Петербургский государственный
электротехнический университет
Отчет по лабораторной работе № 2
Преподаватель
Студенты гр:
2011
На основе PIT (программируемого интервального таймера) сделан генератор случайных чисел. Цикл работы замкнутый, выход реализован нажатием клавиши “ESC”. Также в начале работы включает динамик системного блока, при выходе выключает его.
#include <iostream.h>
#include <conio.h>
int init (unsigned char b, unsigned char c)
{
outp (0x43, 0xb6); //порт 43 - управляющий. 10 11 011 0, канал 2 т.к. 10; //11 будут записаны оба байта КОНСТАНТЫ СЧЕТА, //011 - генератор меандра, 0 - двоичный счет
outp (0x42, b);
outp (0x42, c);
outp (0x61, inp (0x61)|3); //61ый - порт динамика. 3 – включение динамика
return b,c;
}
unsigned int ram (void) //процедура генератора случ. чисел
{
unsigned char A, B, C;
outp (0x43, 0x88);
B = inp (0x42);
C = inp (0x42);
A = (unsigned int)(C<<8)|B;
return A;
}
void main(void)
{
unsigned int x,i,j;
unsigned char b,c;
b=x&0xff;
c=x>>8;
init (b,c);
while (getch()!=27) //ожидание ESC для выхода
{
j = ram(); //получение числа из генератора
for (i=0; i<j; i++) //вывод * и их количества (j)
cout<<"*";
cout<<" - "<<j<<"\n";
}
outp (0x61, inp (0x61)&0xfc); //0xfc - выключение динамика.
}
Пример работы программы
Созданное число представлено символом *, цифра – значение числа из генератора.