Показать сообщение отдельно
Старый 14.02.2007, 06:55   #55
_SDY_
Пользователь
 
Регистрация: 17.03.2006
Возраст: 47
Город: Владивосток
Регион: 25
Машина: Карина
Сообщений: 60
_SDY_ will become famous soon enough
По умолчанию

Готова новая прога. Заранее ее сделал под ATTiny12 (можно и для ATTiny11, если получится зашить :-)

В ней есть константы:
1. .equ PulseQuantityInitVal=2
2. .equ BeforePulseDelayInitVal=0
3. .equ PulseLongInitVal=2
4. .equ PulseSpaceInitVal=4

1. Кол-во импульсов (в штуках)
2. Задержка до выдачи импульсов (в 1/4 секунд)
3. Длительность импульсов (в 1/4 секунд)
4. Длительность паузы между импульсами (в 1/4 секунд)

Все длительности в 0.25 секунды (примерно). Т.е. если 1 = 0.25 сек, 2 - 0.5 сек, 3 = 0.75 сек, 4 = 1 сек, итд до 255 = 63,75 сек. Это все в теории...

На практике есть маленькая проблема по моим расчетам обработчик прерывания OVF0VECT должен срабатывать примерно через 0.22 сек: 1200000 / 1024 = 1172 / 256 = 4.6 => 1 / 4.6 = .22 sec, в реальности (на Attiny26) и на эмуляторе работает медленнее в 2 раза, т.е. 0.44 сек.
Короче - хз, это вообще мой второй проект на МК :-). Первый здесь: http://www.pccar.ru/showthread.php?t=1721 Месяц назад я вообще ни разу не программировал эту хрень :-). Там все просто, если есть опыт программления на каком-нибудь другом ассемблере, то двух часов на изучение хватит, чтобы в основном разобраться. Но, вот как так получается с таймером - до сих пор не пойму.

Здесь исходник и прошивка:
Вложения
Тип файла: zip 2imp.zip (1.2 Кб, 759 просмотров)
_SDY_ вне форума   Ответить с цитированием