???
Математика на уровне МГУ

Показано с 1 по 25 из 78

Тема: Скан-код POWER

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Офицер Форума Аватар для Zorge
    Регистрация
    06.03.2004
    Адрес
    Байконур
    Возраст
    43
    Сообщений
    2,893
    Images
    10

    Re: Скан-код POWER

    Цитата Сообщение от LeonT Посмотреть сообщение
    Ну, что касаемо меня, то просто привык к Асму. Не знать, что лежит в каком регистре, как-то неуютно. Да и в малышах с 1..2 К флэша, на языке высокого уровня ПМСМ не особо развернёшься.
    Не знаю, не знаю. По-моему современные компиляторы по части эффективности кода если не превзошли "гуру ассемблера", то уж простого чайника - точно.
    Скрытый текст:

    У меня тут железяка трудится, делает следующее:
    - Измеряет два канала переменного напряжения 220 вольт. Оценивает невыход напряжения за пределы допустимого, а также появление резких скачков напряжения.
    - Измеряет температуру воздуха в помещении.
    - Бдит состояние пожарных датчиков и контактных датчиков сигнализации на окнах и дверях.
    - Когда центральный компьютер дозванивается до ее модема, делится запрошенной информацией через UART (модем подключен через RS-232).
    - По команде с центрального компьютера может выключить или включить кондиционер (обычный такой, БК-2000) посредством его обесточивания или подачи питания через бистабильное реле.
    - Выводит вышеперечисленную информацию на ЖК-экран, а также показывает дату и время (которые получает с системных часов центрального компьютера).

    Причем половину кода занимает логика распознавания длинных команд типа 'get temperature' или 'set relay off', и выдачи на них ответов вида 'temperature is 26.5 centigrades' или незамысловатого 'ok'. Ну или злорадного 'bad command' или 'bad parameter 2'. Оно еще и backspace, стрелки и delete правильно обрабатывает (при исправлении команды).

    И все это помещается в 14 килобайт кода ATmega16. В основном все на Паскале.
    Ассемблер - только для измерения переменки trueRMS и отслеживания скачков напряжения.


    Цитата Сообщение от LeonT Посмотреть сообщение
    Вспоминаю, как в детстве, не зная Ассемблера, писал программки для Z-80 непосредственно в машинных кодах: ... 21 00 3Е ....
    На пятом курсе института в машинных кодах программировал x86 (был у нас на лабораторках по микропроцессорным системам такой стенд).
    Ох и веселое это занятие - машинные коды для CISC-процессора. Одной только команды mov десятка два разных вариантов, и все разной длинны. А во что в таких условиях превращается расчет адреса перехода...
    Крайний раз редактировалось Zorge; 07.11.2010 в 23:21.
    // 地辟于丑 - Земля рождена в час Быка

Ваши права

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