Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчет Лаба3

.doc
Скачиваний:
5
Добавлен:
05.09.2014
Размер:
44.03 Кб
Скачать

Санкт-Петербургский государственный

электротехнический университет

Отчет по лабораторной работе № 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 - выключение динамика.

}

Пример работы программы

Созданное число представлено символом *, цифра – значение числа из генератора.

Соседние файлы в предмете Организация ЭВМ