Работа с клавиатурой
Описание портов, соответствующих контроллеру клавиатуры. Порядок работы обработчика аппаратного прерывания клавиатуры. Изучение программы, программу, выполняющей переключение светодиодов. Составление программы для вывода перевернутых цифр с клавиатуры.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 13.08.2011 |
Размер файла | 24,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
28
Размещено на http://www.allbest.ru/
КОНТРОЛЬНАЯ РАБОТА
ПО ДИСЦИПЛИНЕ
«Вычислительные системы, сети и телекоммуникации»
Содержание
- ЗАДАНИЕ 1 Работа с клавиатурой. 3
- ЗАДАНИЕ 2 Вывести перевернутые цифры с клавиатуры 8
- СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 28
- ЗАДАНИЕ 1 Работа с клавиатурой
Клавиатура
Контроллеру клавиатуры соответствуют порты с номерами от 60h до 6Fh, хотя для всех стандартных операций достаточно портов 60h и 61h.
64h для чтения: регистр состояния клавиатуры, возвращает следующий байт:
бит 7: ошибка четности при передаче данных с клавиатуры
бит 6: тайм-аут при приеме
бит 5: тайм-аут при передаче
бит 4: клавиатура закрыта ключом
бит 3: данные, записанные в регистр ввода, -- команда
бит 2: самотестирование закончено
бит 1: в буфере ввода есть данные (для контроллера клавиатуры)
бит 0: в буфере вывода есть данные (для компьютера)
При записи в этот порт он играет роль дополнительного регистра управления клавиатурой, но его команды сильно различаются для разных плат и разных BIOS, и мы не будем его подробно рассматривать.
61h для чтения и записи -- регистр управления клавиатурой. Если в старший бит этого порта записать значение 1, клавиатура будет заблокирована, если 0 -- разблокирована. Другие биты этого порта менять нельзя, так как они управляют другими устройствами (в частности динамиком). Чтобы изменить состояние клавиатуры, надо считать байт из порта, изменить бит 7 и снова записать в порт 61h этот байт.
60h для чтения -- порт данных клавиатуры. При чтении из него можно получить скан-код последней нажатой клавиши (см. приложение 1) -- именно так лучше всего реализовывать резидентные программы, перехватывающие прерывание IRQ1, так как по этому коду можно определять момент нажатия и отпускания любой клавиши, включая такие клавиши, как Shift/Ctrl/Alt или даже Pause (скан-код отпускания клавиши равен скан-коду нажатия плюс 80h):
int09h_handler:
in al,60h ; прочитать скан-код клавиши,
cmp al,hot_key ; если это наша "горячая"
; клавиша,
jne not_our_key ; перейти к нашему
; обработчику
[...] ; наши действия здесь
not_our_key:
jmp old_int09h ; вызов старого обработчика
Мы пока не можем завершить обработчик просто командой IRET, потому что, во-первых, обработчик аппаратного прерывания клавиатуры должен установить бит 7 порта 61h, а затем вернуть его в исходное состояние, например так:
in al,61h
push ax
or al,80h
out 61h,al
pop ax
out 61h,al
А во-вторых, он должен сообщить контроллеру прерываний, что обработка аппаратного прерывания закончилась командами
mov al,20h
out 20h,al
60h для записи -- регистр управления клавиатурой. Байт, записанный в этот порт (если бит 1 в порту 64h равен 0), интерпретируется как команда. Некоторые команды состоят из более чем одного байта -- тогда следует дождаться обнуления зтого бита еще раз перед тем, как посылать следующий байт. Перечислим наиболее стандартные команды.
Команда EDh 0?h -- изменить состояние светодиодов клавиатуры. Второй байт этой команды определяет новое состояние:
бит 0 -- состояние Scroll Lock (1 -- включена, 0 -- выключена)
бит 1 -- состояние Num Lock
бит 2 -- состояние Caps Lock
При этом состояние переключателей, которое хранит BIOS в байтах состояния клавиатуры, не изменяется, и при первой возможности обработчик прерывания клавиатуры BIOS восстановит состояние светодиодов.
Команда EEh -- эхо-запрос. Клавиатура отвечает скан-кодом EEh.
Команда F3h ??h -- Установить параметры режима автоповтора:
бит 7 второго байта команды -- 0
биты 6 - 5 устанавливают паузу перед началом автоповтора:
00 = 250ms, 01 = 500ms, 10 = 750ms, 11 = 1000ms
биты 4 - 0 устанавливают скорость автоповтора (символов в секунду):
00000 = 30,0 01111 = 8,0
00010 = 24,0 10010 = 6,0
00100 = 20,0 10100 = 5,0
00111 = 16,0 10111 = 4,0
01000 = 15,0 11010 = 3,0
01010 = 12,0 11111 = 2,0
01100 = 10,0
Все промежуточные значения также имеют смысл и соответствуют промежуточным скоростям, например 00001 = 26,7.
Команда F4h -- включить клавиатуру.
Команда F5h -- выключить клавиатуру.
Команда F6h -- установить параметры по умолчанию.
Команда FEh -- послать последний скан-код еще раз.
Команда FFh -- выполнить самотестирование.
Клавиатура отвечает на все команды, кроме EEh и FEh, скан-кодом FAh (подтверждение), который поглощается стандартным обработчиком BIOS, так что, если мы не замещаем полностью стандартный обработчик, о его обработке можно не беспокоиться.
В качестве примера работы с клавиатурой напрямую рассмотрим простую программу, выполняющую переключение светодиодов.
; mig.asm
; циклически переключает светодиоды клавиатуры
.model tiny
.code
org 100h ; СОМ-программа
start proc near
mov ah,2 ; функция 02 прерывания 1Ah
int 1Ah ; получить текущее время
mov ch,dh ; сохранить текущую секунду в СН
mov cl,0100b ; CL = состояние светодиодов клавиатуры
main_loop:
call change_LEDs ; установить светодиоды в соответствии с CL
shl cl,1 ; следующий светодиод,
test cl,1000b ; если единица вышла в бит 3,
jz continue
mov cl,0001b ; вернуть ее в бит 0,
continue:
mov ah,1 ; проверить, не была ли нажата клавиша,
int 16h
jnz exit_loop ; если да - выйти из программы
push cx
mov ah,2 ; функция 02 прерывания 1Ah
int 1Ah ; получить текущее время
pop сх
cmp ch,dh ; сравнить текущую секунду в DH с СН,
mov ch,dh ; скопировать ее в любом случае,
je continue ; если это была та же самая секунда - не
; переключать светодиоды,
jmp short main_loop ; иначе - переключить светодиоды
exit_loop:
mov ah,0 ; выход из цикла - была нажата клавиша,
int 16h ; считать ее
ret ; и завершить программу
start endp
; процедура change_LEDs
; устанавливает состояние светодиодов клавиатуры в соответствии с числом в CL
change_LEDs proc near
call wait_KBin ; ожидание возможности посылки команды
mov al,0EDh
out 60h,al ; команда клавиатуры EDh
call wait_KBin ; ожидание возможности посылки команды
mov al,cl
out 60h,al ; новое состояние светодиодов
ret
change_LEDs endp
; процедура wait_KBin
; ожидание возможности ввода команды для клавиатуры
wait_KBin proc near
in al,64h ; прочитать слово состояния
test al,0010b ; бит 1 равен 1?
jnz wait_KBin ; если нет - ждать,
ret ; если да - выйти
wait_KBin endp
end start
ЗАДАНИЕ 2 Вывести перевернутые цифры с клавиатуры
клавиатура контроллер порт программа
.model small
.code
org 100h
.186
invOd macro
;Рисуем перевёрнутую единицу
mov CX, 100 ;Столбец, X
mov DX, 200 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 201 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 202 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 203 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 201 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 201 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 201 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 204 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 205 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 206 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 207 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 199 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 207 ;Строка, Y
int 10h
mov CX, 99 ;Столбец, X
mov DX, 207 ;Строка, Y
int 10h
endm
invDv macro
;Рисуем перевёрнутую двойку
mov CX, 100 ;Столбец, X
mov DX, 215 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 215 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 215 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 215 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 215 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 216 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 217 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 218 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 219 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 220 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 221 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 221 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 221 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 221 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 221 ;Строка, Y
int 10h
endm
invTr macro
;Рисуем перевёрнутую тройку
mov CX, 100 ;Столбец, X
mov DX, 229 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 229 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 229 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 229 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 230 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 231 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 232 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 233 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 234 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 235 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 235 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 235 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 235 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 235 ;Строка, Y
int 10h
endm
invChet macro
;Рисуем перевёрнутую четвёрку
mov CX, 100 ;Столбец, X
mov DX, 243 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 244 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 245 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 246 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 247 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 248 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 249 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 246 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 246 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 246 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 246 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 246 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 245 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 244 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 243 ;Строка, Y
int 10h
endm
invPi macro
;Рисуем перевёрнутую пятёрку
mov CX, 100 ;Столбец, X
mov DX, 257 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 257 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 257 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 257 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 257 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 258 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 259 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 259 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 259 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 259 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 260 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 261 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 262 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 263 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 263 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 263 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 263 ;Строка, Y
int 10h
endm
invShes macro
;Рисуем перевёрнутую шестёрку
mov CX, 100 ;Столбец, X
mov DX, 273 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 272 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 272 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 272 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 273 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 274 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 275 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 276 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 277 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 278 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 278 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 278 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 277 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 276 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 275 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 275 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 275 ;Строка, Y
int 10h
endm
invSem macro
;Рисуем перевёрнутую семёрку
mov CX, 100 ;Столбец, X
mov DX, 286 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 286 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 286 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 286 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 286 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 287 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 288 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 289 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 290 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 291 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 292 ;Строка, Y
int 10h
endm
Vos macro
;Рисуем восьмёрку
mov CX, 100 ;Столбец, X
mov DX, 300 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 300 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 300 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 300 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 300 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 301 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 301 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 302 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 303 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 304 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 305 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 306 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 306 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 306 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 306 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 306 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 305 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 304 ;Строка, Y
int 10h
mov CX, 103;Столбец, X
mov DX, 302 ;Строка, Y
int 10h
endm
invDev macro
;Рисуем перевёрнутую девятку
mov CX, 101 ;Столбец, X
mov DX, 314 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 314 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 314 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 315 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 316 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 317 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX, 317 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 317 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 315 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 316 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 317 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 318 ;Строка, Y
int 10h
mov CX, 100 ;Столбец, X
mov DX, 319 ;Строка, Y
int 10h
mov CX, 101 ;Столбец, X
mov DX, 320 ;Строка, Y
int 10h
mov CX, 102 ;Столбец, X
mov DX,320 ;Строка, Y
int 10h
mov CX, 103 ;Столбец, X
mov DX, 320 ;Строка, Y
int 10h
mov CX, 104 ;Столбец, X
mov DX, 320 ;Строка, Y
int 10h
endm
start:
mov AX,11h
int 10h ; видеорежим 640x480
MOV AH,0CH ;ф-ия установки точки
MOV AL,3 ;выбираем цвет
input:
mov ah, 01h
mov al, 0
int 21h
cmp al, 31h
je One
jmp sd
One:
MOV AH,0CH ;ф-ия установки точки
MOV AL,3
invOd
jmp input
sd:
cmp al, 32h
je Dv
jmp Stt
Dv:
MOV AH,0CH ;ф-ия установки точки
MOV AL,3
invDv
jmp input
Stt:
cmp al, 33h
je Tr
jmp sch
Tr:
MOV AH,0CH ;ф-ия установки точки
MOV AL,3
invTr
jmp input
sch:
cmp al, 34h
je Che
jmp spp
Che:
MOV AH,0CH ;ф-ия установки точки
MOV AL,3
invChet
jmp input
spp:
cmp al, 35h
je Pi
jmp ssc
Pi:
MOV AH,0CH ;ф-ия установки точки
MOV AL,3
invPi
jmp input
ssc:
cmp al, 36h
je Sh
jmp ssem
Sh:
MOV AH,0CH ;ф-ия установки точки
MOV AL,3
invShes
jmp input
ssem:
cmp al, 37h
je Sm
jmp sv
Sm:
MOV AH,0CH ;ф-ия установки точки
MOV AL,3
invSem
jmp input
sv:
cmp al, 38h
je Voss
jmp sdd
Voss:
MOV AH,0CH ;ф-ия установки точки
MOV AL,3
Vos
jmp input
sdd:
cmp al, 39h
je Dev
jmp input
Dev:
MOV AH,0CH ;ф-ия установки точки
MOV AL,3
invDev
jmp input
MOV ah,0 ; ожидание нажатия клавиши и конец программы
INT 16h
ret
end start
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
Абель П. Язык Ассемблера для IBM PC и его программирование - М.: Высшая школа,1992. - 252с.
С.В. Зубков Ассемблер для DOS, Windows и Unix - М.: ДМК Пресс, 1999. - 630 с.
И. Юров Assembler - СПб.: Питер, 2001. - 624 с.
Бэрри Н. Компьютерные сети. Пер. с англ. - М.: БИНОМ. - 1995. - 400с.
Джамса К., Лалани С., Уикли С. Программирование в WWW для профессионалов. - Минск. - Попурри. - 1997. - 631 с.
Кент П. World Wide Web: Пер. с англ.. - М.: Компьютер. - 1996. - 311 с.
Кулаков Ю.А. Компьютерные сети. - Киев. - 1998. - 384 с.
Компьютерные сети. Принципы, технологии, протоколы/В.Г. Олифер, Н.А. Олифер. - СПб: Питер, 2001. - 672с.
Максимов Н.В., Партыка Т.Л., Попов И.И. Технические средства информатизации: Учебник. - М.: ФОРУМ: ИНФРА-М, 2005. - 576с.: ил. - (Профессиональное образование)
Милославская Н.Г., Толстой А.И. Интрасети: доступ в Internet. Защита: Учеб. пособие для вузов. - М.: ЮНИТИ - ДАНА, 200, 527с.
Колесников Internet: для пользователя. - К.: Издательская группа BHV, 2000.-304с.
Новомлинский Л. Интернет - торговля. Часть 1/ Сети и системы связи. 1998 - №8.
Новомлинский Л. Интернет - торговля. Часть 2/ Сети и системы связи. 1998 - №9.
Пятибратов А.П. Вычислительные машины, сети и телекоммуникации/ Пятибратов А.П., Гудыно Л.П. - М.: Финансы и статистика. - 1998. - 400 с.
Сеть Internet. Применение в науке и бизнесе/ Горностаев Ю.М. и др. - М.: Россия - 1994. - 136 с.
Сеть Internet./ Горностаев Ю.М. и др. - М.: Россия. - 1993. - 88 с.
Сорокин Л. Аукционы в Интернате - будущее электронной коммерции//Мир электронной коммерции. - 2000. - №1.
Информатика: Учебник. - 3-е перераб. изд. / Под ред. проф. Н.В. Макаровой. - М.: Финансы и статистика, 2000. - 768 с.: ил.
Размещено на Allbest.ru
Подобные документы
Эволюция компьютерной клавиатуры: рождение, телетайп, первые клавиатуры, емкостная клавиатура. Виды клавиатур: АТРасширенная, жесткоконтактная, АТХ-клавиатуры, мультимедийные и Win-клавиатуры. Эргономика клавиатур. Защита от пользователя.
реферат [22,1 K], добавлен 09.11.2007Функции ввода с клавиатуры и вывода на экран, алгоритм вывода чисел. Генерация звуковых сигналов в ПЭВМ. Принципы работы видеосистемы: адресация и режимы работы адаптера CGA, режим работы дисплея. Таблица векторов прерываний в работе клавиатуры.
отчет по практике [700,4 K], добавлен 23.11.2010Понятие класса на языке Java. Ввод с клавиатуры данных в массив, состоящий из десяти объектов типа WORKER. Вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры. Оценка работы программы, ее код.
курсовая работа [1,2 M], добавлен 20.04.2014Назначение и история разработки клавиатуры, ее технические характеристики и классификация. Особенности расположения клавиш, их группировка и сочетание. Основные режимы работы изучаемого периферического устройства, порядок его настройки и подключения.
курсовая работа [1,9 M], добавлен 22.05.2013Разработка и практическая апробация действия драйвер-фильтра клавиатуры для операционной системы Windows, переопределяющего значение любых клавиш и отключающего клавиши клавиатуры. Составление программы для установки и управления данным драйвером.
курсовая работа [226,8 K], добавлен 18.06.2009Разработка ввода с клавиатуры и вывода на экран монитора данных с помощью стандартных функций printf и scanf. Ввод количества материальных точек. Работа с линейным списком. Хранение содержимого списка в блоке ячеек памяти с последовательными адресами.
курсовая работа [176,8 K], добавлен 18.01.2016Функциональные возможности, предоставляемые Windows API. Услуги, дополнительные службы, графический и пользовательский интерфейсы устройства, библиотеки управления. Программа перевода текста в другую раскладку клавиатуры. Тестирование программы "TrueKey".
контрольная работа [459,0 K], добавлен 13.06.2012Описание языка программирования Java: общие характеристики, главные свойства, краткий обзор. Надежность и безопасность, производительность и базовая система программы. Разработка программы поиска по словарю, алгоритм её работы. Общий вид кода программы.
курсовая работа [20,3 K], добавлен 28.10.2012Описание алгоритма работы и разработка структурной схемы МКС. Схема вывода аналогового управляющего сигнала, подключения ЖК-дисплея, клавиатуры и аварийного датчика. Разработка блок-схемы алгоритма главной программы работы МКС. Функция инициализации.
курсовая работа [5,7 M], добавлен 26.06.2016Разработка программного обеспечения для упрощения буквенно-цифрового ввода при невозможности использовать функционал стандартной буквенной клавиатуры. Классификация и установка драйверов. Выбор языка и среды программирования. Пользовательский интерфейс.
курсовая работа [183,0 K], добавлен 12.03.2013