форумы для свободного общения

Технический форум => Форум для изучающих микроконтроллеры => Тема начата: barrel от Декабрь 04, 2007, 15:29:03

Название: Набор "Мастеркит NM4023"
Отправлено: barrel от Декабрь 04, 2007, 15:29:03
Ситуация следующая: есть устройство таймер от 1 до 99 секунд (http://www.chip-dip.ru/product0/425824762.aspx), собрано на 90S1200. В него зашита программа, отсчитывающая от 1 до 99 секунд, в зависимости от выбранного интервала. Мне же необходимо чтобы устройство работало в интервале в 100 раз меньше, то есть, до 1.39 секунд. Показания счётчика значения не имеют, мне достаточно знать что шаг установки равен 0.01 секунды.
Я далёк от программирования, но с паяльником дружу. К сожалению совсем нет времени погружаться в специфику программирования микроконтроллеров. Буду очень благодарен, если ктото подскажет что в программе необходимо поменять.
Код программы лежит здесь (http://www.dessy.ru/masterkit/Soft/nm4021.3.zip)
Название: Помогите чайнику
Отправлено: YurkaM от Декабрь 04, 2007, 19:16:34
Цитировать
отсчитывающая от 1 до 99 секунд...  ... Мне же необходимо ... в 100 раз меньше, то есть, до 1.39 секунд.
Может до 0.99 сек?? Если всё-таки до 1.39 с дискретностью 0.01, то нужен как минимум ещё один разряд индикатора.
Цитировать
Показания счётчика значения не имеют, мне достаточно знать что шаг установки равен 0.01 секунды.
А как задавать интервал без индикатора?
Цитировать
если ктото подскажет что в программе необходимо поменять.
Пожалуй, будет легче с нуля написать. Тем более, что в исходниках по ссылке явно не хватает каких-то кусков и есть ошибки (может, просто опечатки, но компилироваться он не будет). И вообще исходники написаны для 90S2313, на 90S1200 работать не будет точно.
Посмотри наверняка какой у тебя МК и на какую частоту кварц. Тогда нарисую прошивку. (Если время будет...)
 
Название: Помогите чайнику
Отправлено: barrel от Декабрь 04, 2007, 22:34:34
Цитата: YurkaM
Пожалуй, будет легче с нуля написать. Тем более, что в исходниках по ссылке явно не хватает каких-то кусков и есть ошибки (может, просто опечатки, но компилироваться он не будет). И вообще исходники написаны для 90S2313, на 90S1200 работать не будет точно.
Посмотри наверняка какой у тебя МК и на какую частоту кварц. Тогда нарисую прошивку. (Если время будет...)
Всё правильно, сейчас наклейку оторвал - 90S2313.
Сама прошивка должна быть рабочей, она взята с сайта производителя этого набора, я её в AVR Studio запускал, вроде работает. Кварц 4МГц.
Максимальный интервал в 100 раз меньше чем 99 секунд, то есть 99 шестидесятых  секунды. Если время у нас на земле отсчитывается в шестидесятиричной системе, то есть в часе 60 минут, в минуте 60 секунд, то максимальный интервал таймера 1 секунда и 39 шестидесятых (не сотых), или 99 шестидесятых. Тогда дискретность установки значений таймера составит 1шестидесятая  секунды. Показания счетчика пусть останутся какими есть, в шестидесятых секунды, они не принципиальны. (кажись правильно изложил  )
Юрка, жаль не в Москве, а то бы пиво поставил
Название: Помогите чайнику
Отправлено: YurkaM от Декабрь 05, 2007, 03:29:49
Цитировать
... я её в AVR Studio запускал, вроде работает
Странно. А "работает" - это значит что делает? - просто цикл крутиться? Я там даже не вижу, где кусок, отвечающий за вкл/выкл транзистора, т.е вывод сигнала на PD6. Дальше в начале есть инициализация таймера Т1, но он ни где  не используется... ну и т.д....
На счет единиц времени честно говоря ты меня запутал... или я туплю чего-то. ИМХО, всё что меньше секунды, меряется в десятичной системе, т.е. милли-микро-нано-пико.. Я почему-то не знаю единицу, равную 1/60 сек  - наверное в школе плохо учился. Короче, по-любому я так понял, что дискретность должна быть 0.01 сек (т.е. 10 мсек).
Щас у меня 4:30 утра.. Чего-то спать захотелось.. Завтра, если не отвлекут, чего-нить рожу..

Аська: 435509904
Название: Помогите чайнику
Отправлено: YurkaM от Декабрь 06, 2007, 21:40:53
Ну вот лови шедевр..
[attachment=207:Timer99.zip]
Только сигнал не сделал. Он нужен вообще? Просто я не знаю, чего там за пищалка - на неё достаточно напругу подать или надо переменку?
Диапазон 0.01сек...0.99сек. Дискретность 0.01сек.
Последняя используемая выдержка запоминается в EEPROM и потом при следующем включении сразу выставляется.