Как реализовать в LPT взаимосвязь статус регистра и регистра данных. Чтобы при изменении сигнала в статус регистре на одном из регистров данных появлялся сигнал? Мне надо написать программу в C под DOS. Прогу я загружаю в контроллер и к регистру данных подключаю светодиод для индикации изменения сигнала.
Вот код программы на C:
#include <dos.h>
#include <conio.h>
#define PORT 0x278
void main()
{
int data;
clrscr();
while(!kbhit());
{
data=inportb(PORT+1);
if (((data & 0x08)/0x08)==1)
outportb(PORT, 0x01);
else
outportb(PORT, 0x00);
}
}
Эта программа работает только если не включая питания замкнуть землю и статус регистр, а потом подать напряжение, то светодиод загорится. Разомкнув землю с регистром светодиод продолжает гореть, хотя должен погаснуть. Снова выключив питание в разомкнутом состоянии (землю и статус регистр) и подать напряжение, то светодиод уже не загорается.
Регистры параллельного порта
- rus7am
- Первый раз сказал Мяу!
- Сообщения: 24
- Зарегистрирован: Сб июл 09, 2011 22:17:09
- Откуда: Саратов
Регистры параллельного порта
Чем больше ищешь, тем больше узнаешь...
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Регистры параллельного порта
... не стоит забывать про 0x27A... Для инициализации можно использовать ф-ции BIOSrus7am писал(а):Как реализовать в LPT взаимосвязь статус регистра и регистра данных.
ps. .. рекомендую почитать М.Гука "Аппаратные интерфейсы ПК"
-
bad2cat
- Потрогал лапой паяльник
- Сообщения: 367
- Зарегистрирован: Пт июн 12, 2015 09:21:56
- Откуда: Челяба-сити
Re: Регистры параллельного порта
рекомендую почитать про 8255 и Джордейна.
-
misyachniy
- Прорезались зубы
- Сообщения: 219
- Зарегистрирован: Вт июл 02, 2013 09:17:49
Re: Регистры параллельного порта
data - нужно объявить как char.
if (((data & 0x08)/0x08)==1) обычно пишут if ((data & 0x08)!=0)
if (((data & 0x08)/0x08)==1) обычно пишут if ((data & 0x08)!=0)
- rus7am
- Первый раз сказал Мяу!
- Сообщения: 24
- Зарегистрирован: Сб июл 09, 2011 22:17:09
- Откуда: Саратов
Re: Регистры параллельного порта
Спасибо Вам всем за помощь!Программа наконец заработала!
Чем больше ищешь, тем больше узнаешь...