Регистры параллельного порта

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 24
Зарегистрирован: Сб июл 09, 2011 22:17:09
Откуда: Саратов

Сообщение rus7am »

Как реализовать в 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);






}
}
Эта программа работает только если не включая питания замкнуть землю и статус регистр, а потом подать напряжение, то светодиод загорится. Разомкнув землю с регистром светодиод продолжает гореть, хотя должен погаснуть. Снова выключив питание в разомкнутом состоянии (землю и статус регистр) и подать напряжение, то светодиод уже не загорается.
Чем больше ищешь, тем больше узнаешь...
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

rus7am писал(а):Как реализовать в LPT взаимосвязь статус регистра и регистра данных.
... не стоит забывать про 0x27A... Для инициализации можно использовать ф-ции BIOS

ps. .. рекомендую почитать М.Гука "Аппаратные интерфейсы ПК"
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 374
Зарегистрирован: Пт июн 12, 2015 09:21:56
Откуда: Челяба-сити

Сообщение bad2cat »

рекомендую почитать про 8255 и Джордейна.
Я тоже, в некотором роде, радиоинженер...
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт июл 02, 2013 09:17:49

Сообщение misyachniy »

data - нужно объявить как char.
if (((data & 0x08)/0x08)==1) обычно пишут if ((data & 0x08)!=0)
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 24
Зарегистрирован: Сб июл 09, 2011 22:17:09
Откуда: Саратов

Сообщение rus7am »

Спасибо Вам всем за помощь!Программа наконец заработала!
Чем больше ищешь, тем больше узнаешь...
Реклама
Ответить

Вернуться в «Периферия»