Отладка программ для AVR через виртуальный COM порт Proteus

Всем привет. Заранее боясь прослыть некромантом, представляю краткую заметку о способе отладки программ для микроконтроллеров avr, использующих связь с компьютером или другим мк через uart. Предназначен для тех, кто о нем не знает, на революционность не претендую.


Читать дальше
  • +3
  • 06 июня 2015, 02:42
  • XOR

Термометр с тревогой и логированием в баню

Arduino Pro Mini
Для контроля температуры, влажности и датчиков дыма решил собрать схемку с использованием платки Arduino Pro Mini.
Плата, в принципе, подойдет любая, главное чтобы на ней стоял микроконтроллер ATMEGA328P и были доступны все выводы.
Датчики температуры цифровые (1-Wire), датчик влажности аналоговый.
Запись лога в формате CSV ведется на SD карту (используется библиотека FatFs (C) ChaN).
Дисплей используется символьный — 20x4.


Читать дальше
  • +4
  • 29 декабря 2014, 11:47
  • vad7
  • 2

Лабораторные работы на МК PIC или версия "БЫСТРОГО СТАРТА"

PIC
Когда то, давным давно… В далекой галактике....


Читать дальше
  • +8
  • 29 сентября 2014, 15:01
  • ppram5
  • 1

Схемотехника: Типовые схемы включения Биполярных транзисторов (ОЭ, ОБ, ОК)

Я новичок в схемотехнике, сейчас вдумчиво изучаю цикл статей «Основы на пальцах». И мне также хочется разобраться с особенностями разных каскадов включения биполярных транзисторов (ОЭ, ОБ, ОК). Поэтому, для прояснения, решил промоделировать их в Proteus: «Bipolar transistor cascades modelling (Proteus 7.7).zip»


Читать дальше

Создаем компонент (footprint) в Proteus/ARES на примере транзистора КТ-315

Допустим мы хотим развести плату с компонентом, которого нет в библиотеках ARES. Создать его можно за пару минут.


Читать дальше
  • +1
  • 04 декабря 2012, 15:15
  • ks_

Сигма-дельта АЦП

Сигма-дельта АЦП
структурная схема
Сигма-дельта АЦП состоит из двух частей: модулятор и цифровой ФНЧ.
Модулятор преобразует входное напряжение Uвх в последовательность импульсов, а ФНЧ формирует выходной код.


Читать дальше

Pinboard II (AVR) Demo (видео)


Смотреть в HD. Исходники для симуляции в Протеус: mysvn.ru/schoolbell/pbiidemo/
ТОЛЬКО РЕВИЗИЯ 11 (!) Т.к. там для 4 МГц я сделал сборку.

Читать дальше
  • +1
  • 29 февраля 2012, 03:38
  • uni

Proteus VSM. Пошаговая отладка

Photobucket

Введение

Proteus VSM это пакет сквозного проектирования электрических схем, в котором можно построить принципиальную — электрическую схему, просимулировать ее работу (ProSpice), если она содержит микроконтроллер — тут-же написать программу для него, отладить программу (козырь Протеуса), после всех этапов отладки схемы/программы (при помощи модуля ISIS), можно переходить (не отходя от кассы) к созданию печатной платы, при помощи модуля ARES.

Кстати Proteus, в греческой мифологии, царь обладающий даром предсказания и перевоплощения.


Читать дальше

Протеус vs. Реальность

Протеус, хоть и умеет вполне прилично симулировать работу цифровых (а в хорошую погоду — даже аналоговых) схем, не лишен огромного числа багов.

Вот простой пример:

Тини2313 имеет 3 пина порта A: A0, A1 — под XTAL и A2 — под ресетом.
Все биты регистров PINA, PORTA и DDRA, начиная с 3го бита — зарезервированы. Всегда читаются как 0, а писать в них нельзя. Это в реальности. А в Протеусе можно.

.include "tn2313def.inc"

sbi DDRB,4  ; Зеленая лампочка - "реальность"
sbi DDRB,2  ; Красная лампочка - "протеус"

sbi PORTA, 3 ;Пробуем поднять несуществующий пин
sbis PORTA,3 ; Если он поднялся, то мы во сне
rjmp Its_real
 sbi PORTB,2 ; А если мы во сне, то зажигаем красную лампочку
rjmp end
Its_real:
 sbi PORTB,4 ; Иначе - зеленую
End:
rjmp end


Это, кстати, самый простой способ понять, что мы под колпаком эмулятора.

Дальше — веселее. Если запустить ШИМ в режиме Fast PWM на высокой частоте (XTAL = 8MHz, предделитель отключен) и загнать в OCR число 255, то на выходе мы получим «пульс трупа». Но не на уровне 5V, как ожидалось, а на уровне земли.
А еще протеус позволяет невозбранно переключать пины, занятые UART.

Как-то при отладке свеженький протеус 7.7 наткнулся на особо хитрый выверт и не просто завис, но схлопнулся не сказав ни слова. К сожалению код, убивающий отладчик, был потерян. А можно было-бы сделать годную антиотладочную систему, убивающую эмулятор при обнаружении.

Кто знает другие баги протеуса?

Глюк протеуса?

Сегодня, перед тем как собрать буфер на операционном усилителе, решил промоделировать его в Протеусе. Лучше бы я этого не далал. Теперь я сомневаюсь в том, что знаю как работает операционник. Решил проверить на простом компараторе.

Читать дальше