Важная информация
Показано с 1 по 5 из 5

Тема: Дискретно- паралельный порт

  1. #1 Дискретно- паралельный порт 
    Новичок
    Регистрация
    07.12.2011
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Помогите доделать программу, используется L032используется цифровой дискретный порт, в общем есть 16 датчиков(Д) и на них 16 лампочек(Л), у меня используется Д1, Д2, Д3,Д4, Л1,Л2,Л3,Л4 и дополнительно 2 лампочки Л15, Л16,
    Задание:
    Контролируется состояние 4 датчиков(1-4). Если сработал хотя бы 1 датчик, то загорается соответствующая лампочка. Если сработали более чем 2 датчика. то загораются Л15, Л16. Если ситуация не улучшится через 30 сек, то все лампочки начинают мигать.


    я тут программку написал, но что-то не так, если кто разбирался или мб встречался, помогите!

    dt- время опроса
    dtm - время через которое мигают лампочки
    dts- 20 секунд
    CLS
    DT = 8: KODL1 = 0: KODL2 = 0: DTS = 20: DTM = 1: TS = 0
    MASKA1 = 1: MASKA2 = 2: MASKA3 = 4: MASKA4 = 8:
    OUT &H300, 0
    OUT &H301, 0
    M1:
    KODD1 = INP(&H300)
    KODD2 = INP(&H301)
    TN = TIMER: N = 0
    KOD1 = KODD1 AND MASKA1
    KOD2 = KODD1 AND MASKA2
    KOD3 = KODD1 AND MASKA3
    KOD4 = KODD1 AND MASKA4
    IF KOD1 = 1 THEN D1 = 1 ELSE D1 = 0
    IF KOD2 = 2 THEN D2 = 1 ELSE D2 = 0
    IF KOD3 = 4 THEN D3 = 1 ELSE D3 = 0
    IF KOD4 = 8 THEN D4 = 1 ELSE D4 = 0
    N = D1 + D2 + D3 + D4
    IF N > 0 THEN
    IF N >= 2 THEN
    M2:
    IF TS = 0 THEN TS = TIMER
    IF TIMER - TS > DTS THEN
    TNM = TIMER
    KODU1 = KOD1 + KOD2 + KOD3 + KOD4: KODU2 = 64 * L15 + 128 * L16
    IF F1 = 0 THEN
    F1 = 1: KODL = KODU1: KODL2 = KODU2
    ELSE
    F1 = 0: KODL = 0: KODL = 0
    END IF
    M25:
    IF TIMER - TNM < DTM THEN GOTO M25
    ELSE
    L15 = 1: L16 = 1
    END IF
    KODL = 0: KODL2 = 0
    END IF
    KODL1 = KOD1 + KOD2 + KOD3 + KOD4
    KODL2 = 64 * L15 + 128 * L16
    ELSE
    KODL1 = 0
    KODL2 = 0
    TS = 0
    END IF

    OUT &H300, KODL1
    OUT &H301, KODL2
    M4:
    IF TIMER - TN > DT THEN GOTO M1
    IF N > 2 THEN GOTO M2 ELSE GOTO M4
    Ответить с цитированием  
     

  2. #2  
    Новичок
    Регистрация
    07.12.2011
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    ну или хотя бы проверьте орфографию. правильно ли я циклы написал, else и andif где нужно!
    Ответить с цитированием  
     

  3. #3  
    Гуру Аватар для Абадябер
    Регистрация
    09.12.2010
    Адрес
    Беларусь, Минск
    Сообщений
    1,219
    Сказал(а) спасибо
    302
    Поблагодарили 176 раз(а) в 144 сообщениях
    Записей в блоге
    5
    С этими портами (&H300-&H301) пока работать не приходилось. Но сама программа выполняется в QBasic, следовательно с "орфографией" проблем нет =). Другое дело, что могут быть проблемы с тем, что программа делает не совсем то, что нужно. Но утверждать, что программа построена ошибочно, пока не буду, ибо мне нужно ознакомиться с этими портами.
    Также непонятен момент. Есть датчики - хорошо. Однако лампочек то как раз в PC компьютерах не предусмотрено (ну, не считая индикаторов питания и обращения к хард-диску, а также диодов клавиатуры), поэтому мигать нечем. Что должна делать программа? Моделировать поведение "приборной панели" с датчиками, получая информацию из портов &H300 и &H301? В этом случае, если вам необходимо визуализировать процесс, придется каким либо образом выводить на экран состояние индикаторов, а также мигать ими через 30 сек. Сама программа ничего сложного из себя не представляет, но мне нужно больше технической информации.
    Дружба-магия-радость!
    Ответить с цитированием  
     

  4. #4  
    Новичок
    Регистрация
    07.12.2011
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    ну. вообще есть плата собранная. там есть датчики( кнопками) и лампочки отдельно, я поэтому и написал, если кто встречался, на кафедре просто сами собрали и нам задания по ним дают-)
    Ну и вопрос сам наверно отпадает, она как раз даёт указания этой плате и лампочки мигают, когда в определённом порядке нажимаешь датчики
    Мне главное орфография-)
    Ответить с цитированием  
     

  5. #5  
    Гуру Аватар для Абадябер
    Регистрация
    09.12.2010
    Адрес
    Беларусь, Минск
    Сообщений
    1,219
    Сказал(а) спасибо
    302
    Поблагодарили 176 раз(а) в 144 сообщениях
    Записей в блоге
    5
    Никогда не слышал, чтобы платы программировали на бейсике . Хотя, в тренировочных целях, чтобы записать алгоритм, вполне можно. Программа работает - все что могу сказать.
    Дружба-магия-радость!
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •