Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Дослідження будови та програмування клавіатури ІВМ РС AT

Тип роботи: 
Контрольна робота
К-сть сторінок: 
23
Мова: 
Українська
Оцінка: 

 змінює на протилежне значення клавіші Shift  для  алфавітних  клавіш,  залишаючи його незмінним для інших. Клавіша NumLock  перемикає функції  додаткової  цифрової  клавіатури між  цифрами  і  функціями управління курсором  інформацію про стан регістрів і клавіш-перемикачів. RОМ-ВІОS зберігає в   адресах пам'яті (417 і 418 hех)стан клавіш- перемикачів і їх стан  можна  використовувати чи змінювати програмно.  Коли натискається одна з цих клавіш, RОМ-ВІОS встановлює  у вказаних    байтах  певний  розряд в 1 або 0.

Кожен раз,  коли RОМ-ВІОS отримує скан-код для натиснення  звичайної  клавіші,  такої як літера Z, чи стрілка вліво,  він спочатку перевіряє стан комірок 0417, 0418,  а потім транслює  скан-код у  відповідний 2-байтний код.
Спеціальні комбінації клавіш.
Коли підпрограма RОМ-ВІОS транслює скан-коди, вона постійно перевіряє їх на деякі комбінації клавіш перемикання регістрів, наприклад, такі як Сtrl-Аlt-Del, Shift-PrtScr Ctrl-NumLock Ctrl-Brek. Ці чотири командних набори заставляють ROM-BIOS відразу ж виконувати певні задачі, а не записувати символи в  буфер.
Комбінація Ctrl-Alt-Del  викликає  перезавантаження управляючої програми,  її робота залежить від роботи службової підпрограми,  яка здійснює обробку переривання від клавіатури.  Якщо ця підпрограма не працює, то це може трапитись з двох причин: або був змінений  вектор переривань від клавіатури  (адреси 36 - 39),  або  ж  була  виконана команда заборони переривань (сli) без подальшої команди дозволу  переривань (sti). 
Комбінація Shift-PrtScr записує  вміст  екрану  на  стандартний пристрій друку. Ця операція виконується на рівні примітивів BIOS через  переривання 5.  Щоб змінити пристрої виводу з екрану (направити друк на пристрій, який звичайно цього не робить), ви повинні змінити вектор переривання для РrtScr так, щоб він вказував на нову підпрограму.  В DOS 2.00 і подальших версіях програма GRAPHICS.СОМ  обминає операцію PrtScr, перевіряючи  поточний  відеорежим.  Якщо цей режим графічний, програма бере на себе управління і пересилає вивід з  екрану на сумісний з ІВМ графічний прінтер (якщо  його під'єднано).  В протилежному випадку викликається звичайна операція друку з екрану і інформація пересилається з екрану на прінтер посимвольно.
Crtl-NumLock (РАUSЕ)  призупиняє роботу  програми доти, поки не буде натиснено іншу клавішу.
Комбінація   Сtrl-Вгеak  викликає  видачу  комп'ютером  сигналу 'bгеаk' з допомогою генерації переривання . Якщо  програма встановила новий драйвер переривання , то вона може перехопити його і опрацьовувати  (або ж ігнорувати) відповідно до вимог програми.  Якщо програма не змінить драйвер цього переривання,  то DОS буде використовувати свою підпрограму і припинить роботу програми.
Це єдині комбінації клавіш,  які. мають для RОМ-ВІОS спеціальний зміст. Якщо з клавіатури приходить неправильна  інформація, RОМ-ВІОS ігнорує її і переходить  до  обробки наступного коду, отриманого від клавіатури. Переривання DOS та ВІОS, що відносяться до роботи з клавіатурою, наведені в додатку 1.
Повторення дії клавіші і клавіші, які повторюються.
На клавіатурі РС дія клавіш може автоматично  повторюватися.  З допомогою програми контролера, що вбудований  у  клавіатуру   визначається,  як довго клавіша залишається натисненою, і якщо цей час більший заданого,  то  автоматично  з вказаною частотою  генерується скан-код   натиснення клавіші без проміжних кодів  її  відпускання.  Це дозволяє спростити в драйвері переривання №9 частину, яка  розпізнає  різницю між натисненням клавіші і автоповтором. Проте драйвер клавіатури в RОМ-ВІОS трактує  кожен  автоповтор  натиснення клавіші так, ніби  клавіша справді була натиснена і інтерпретує клавішу відповідно до цього.  Наприклад,  якщо   натискається клавіша А і утримується  достатньо довго для того, щоб клавіатура почала  генерувати послідовні сигнали  натисненої  клавіші,  то  ROM-ВІОS  створює серію послідовних символів А,  які будуть передані програмі, що  видала запит на ввід з клавіатури. В іншому випадку, якщо  натиснута і утримується клавіша  перемикання  регістра,  то  RОМ-ВІОS  розпізнає лише  перший сигнал від натиснення цієї клавіші. Однак вона буде ігнорувати всі наступні сигнали від  клавіші,  що  генеруються  апаратним механізмом автоматичного повторення, поки  не  отримає  сигнал про те, що клавішу відпущено. Отже, RОМ-ВІОS по-різному сприймає повторювані сигнали від клавіш,  залежно від необхідності, обробляючи чи ігноруючи їх.
З однаковим значенням RОМ-ВІОS транслює їх в одні  і  ті  ж  коди символів;  наприклад,  будь-яка зірочка - код 43. У випадку, якщо це має значення, RОМ-ВІОS може повідомляти нашій програмі і різницю між ними.  Символи залишають в старшому розряді  скан-код;  щоб  визначити,  яку  клавішу  було  натиснено,  програмі потрібно перевірити цей код.  Що стосується клавіш Shift, то кожна з них встановлює в байті стану регістра (адреса 417 hех) свій  розряд. Якщо потрібно, щоб програма розрізняла клавіші Shift необхідно  розглянути значення відповідного розряду.
Прямий ввід кодів АSСII.
Слід згадати і про те,  що клавіатура РС сумісно з RОМ-ВІОS надає  можливість прямого вводу майже всіх символів коду АSСII (крім 0).  Це виконується з допомогою вводу десяткового коду символу АSСІІ з додаткової цифрової клавіатури (вона знаходиться справа) - при  натиснутій клавіші  Аlt.  Цей  метод дозволяє вводити будь-які коди АSСП від 1 до 255.  Єдиний код,  який  неможливо ввести напряму, це   код 0. Це пов'язано  з  тим, що цей код зарезервований в якості сигналу,  який вказує на символ, що не входить до набору кодів АSСП, такий як  управління курсором і функціональні клавіші.
Формат даних клавіатури.
Після того, як код натиснутої клавіші відтрансльований, він записується в
Фото Капча