ARV

Members
  • Публикации

    511
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    2

Последний раз ARV выиграл 9 июня

Публикации ARV были самыми популярными!

Репутация

138 Хороший

2 подписчика

О ARV

  • Звание
    Завсегдатай

Информация

  • Пол
    Мужчина
  • Город
    Новочеркасск

Электроника

  • Стаж в электронике
    Более 20 лет
  • Сфера радиоэлектроники
    Микроконтроллеры, цифровая электроника

Посетители профиля

1 185 просмотров профиля
  1. Proteus - Вопросы И Ответы

    Протеус - это симулятор цифроаналоговых схем, включая микроконтроллеры, в чем его основная фишка. Не поручусь головой, но мне кажется, больше нет симуляторов, которые могут так легко и просто симулировать связку микроконтроллера с пользовательской программой, цифровой и аналоговой обвязки. Что касается аналогового моделирования, то возможности протеуса полностью определяются (как я понимаю) лицензированной библиотекой PROSPICE - де-факто единственной библиотекой моделирования (альтиум, OrCAD и другие "серьёзные" системы сквозного проектирования используют именно её). НЕ скажу за всякие мультисимы и т.п., но сдаётся мне, что и они моделируют при помощи этой библиотеки. Это я всё к тому, что с аналоговым моделированием у протеуса все очень даже не плохо.
  2. Вопросы От Начинающих По Мк

    http://arv.radioliga.com/content/view/106/49/ - специально для вас писал
  3. Не будет работать. Нажмите на любую кнопку больше 7 раз - что будет?
  4. Всё-таки я всё больше и больше убеждаюсь, что учить надо не операторам Си и регистрам микроконтроллера, а умению разбивать задачу на подзадачи и формальному описанию алгоритма. Без этого никуда. Вот я бы "бегущий огонь по кнопке" делал бы совсем иначе. 1. Сделал бы функцию rotete_left(uint8_t *state); которая двигает огонек на порту влево 2. Сделал бы функцию rotate_right(uint8_t *state); которая двигает огонек на порту вправо 3. Определил бы переменную состояния огонька, адрес которой затем передавал бы в вышеописанные функции 4. Сделал бы функцию get_button(void); которая возвращала бы номер нажатой кнопки И в итоге получилось бы такое: uint8_t state = 1; while(1){ switch(get_button()){ case 0 : // не нажато break; case 1: // влево rotete_left(&state); break; case 2: // вправо rotete_right(&state); break; } } Гораздо понятнее, чем сразу "сырой" код писать, не так ли? Я умышленно не раскрыл функции, т.к. это уже второстепенное дело. Да и макросами можно заменить их при желании...
  5. ATtiny2313 + UART + симуляция в Proteus

    Микроконтроллер использует логику "прямую", т.е. лог.1 - это высокий уровень, а лог. 0 - это низкий. RS232 - это физический интерфейс, в котором лог. 1 соответствует -9...12 вольт (точное значение по стандарту не помню, но фишка в том, что оно ОТРИЦАТЕЛЬНОЕ), а лог. 0 соответствует +9...12 вольт... Поэтому MAX232 вам портит общение с терминалом, т.к. терминал так же работает в "прямой" логике. Чтобы не было проблем, вам надо имитировать "линию связи по RS232", т.е. терминал соединить с MAX232, выходы этого MAX-а подать на другой MAX232, а уж со второго - на МК. Гораздо проще, как вам уже советовали, не симулировать MAX232 вообще, подключая терминал напрямую к МК.
  6. Ваша щедрость не знает границ Если бы моя, несущая золотые яйца, курочка вдруг бы высидела вторую такую же, я бы её никогда не продал! Они бы мне в 2 раза больше золотых яек нанесли бы!
  7. Язык Си Для Микроконтроллеров

    К сожалению, я не специализируюсь на PIC-ах и в данном вопросе помочь не могу.
  8. А вопрос "зачем продавать"? Можно ведь больше намайнить, чем выручить от продажи...
  9. Интересно, как можно продавать "философский камень", позволяющий превращать в золото любую железку? То есть как можно упускать возможность самому намайнить этим оборудованием больше, чем оно стоит?
  10. Язык Си Для Микроконтроллеров

    Правило видимости элементов программы по умолчанию: каждый описанный элемент видим (доступен) только в пределах того блока кода, где он описан, всюду ниже по коду от места описания. Для вашей переменной блоком кода является файл, т.к. переменная глобальная. То есть ваша переменная видима (читай - доступна) внутри всех нижеследующих по исходнику функций. Если вы опишите "эту же переменную" внутри функции - это будет уже совсем другая переменная, не "наружняя".
  11. Вопросы От Начинающих По Мк

    Не правильно создан проект в студии, вот и ошибки. Файлы типа mega8515.h вообще не должны фигурировать в тексте исходника, все необходимые подключения делаются автоматически (при корректно созданном проекте) единственным подключением avr\io.h
  12. как сделать два импульса через два

    Оказалось, я был не прав: есть еще среди нас спецы, которых можно развести на слабО
  13. как сделать два импульса через два

    Допустим, генераторы последовательностей импульсов на транзисторах я встречал в литературе примерно 70-х годов прошлого столетия. Тогда это было актуально. Маловероятно, что кому-то пришло в голову сканировать и выкладывать в сеть эти древние книги... Так что реальный путь решения я вам указал, а фантастические, которые вы хотите, - увы... не подскажу. И главное: когда я писал слово "рисовать", я имел ввиду, конечно, не процесс нанесения изображений на бумагу, а процесс придумывания схемы, т.е. разработки. Даже в симуляторе "нарисовать" можно только после "разработки".
  14. как сделать два импульса через два

    На транзисторах точно никто не станет рисовать - шибко муторно. На цифровых микросхемах еще можно тряхнуть стариной... Проще всего на микроконтроллере
  15. Греется Асинхронный Двигатель На Хол. Ходу!

    Отвечу цитатой из википедии: Нагрев проводника осуществляется выделяемой на нем мощностью, формула которой I2R. Так как квадрат "мнимого" вектора тока (т.е. реактивного тока) является величиной скалярной, т.е. уже не мнимой (не реактивной), то получается, что реактивный ток вызывает нагрев проводника.