|
|
  |
формирование импульса, время отличается от расчетного, при прогонке в AVR studio системное время отличается от реального |
|
|
|
Nov 16 2010, 03:28
|

Профессионал
    
Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371

|
Цитата формирую импульс длительностью 2 сек. с кварцем 16МГц Цитата смотрю осцилографом - около 250мс, ставлю кварц на 8 МГц - около 500 мс то есть, при включенном делители длительность импульса должна увеличиться в 8 раз. а чтобы она уменьшилась надо поднять частоту тактирования в 8 раз. утро. надо попить кофе  и все встанет на свои места
--------------------
OrCAD, Altium,IAR, AVR....
|
|
|
|
|
Nov 16 2010, 10:15
|

Участник

Группа: Участник
Сообщений: 55
Регистрация: 24-06-10
Из: Киев
Пользователь №: 58 123

|
Спасибо всем кто откликнулся. Вот эта сволочЪ!!! что самое интересное есть точно такая же, но формирует милисек, (загружает другое число и коэф.деления). Эти места отметил. Но она работает нормально. Осцилографом смотрю - длительность соответствует расчетным. А эта.............. наверно что-то не доучил. Посмотрите, пожалуйста: ----------------------------------------------------------------------------------------- в work загружаю кол.секунд для задержки, потом вызываю эту процедуру: delay_s: del_t_s1: ;------- установка таймера ------- ldi work3,$80 out TIMSK,work3 ldi work3,low(t_s) ----------- отличие вот здесь!!!!!!!!!! out TCNT1L,work3 ldi work3,high(t_s) ----------- вот здесь!!!!!!!!!! out TCNT1H,work3 ;------- запуск ---------- ldi work3,$05 ----------- и вот здесь!!!!!!!!!! out TCCR1B,work3 del_t_s2: sbrs flag,fl_tim ---- жду флаг таймера rjmp del_t_s2 cbr flag,fl_tim+1 dec work brne del_t_s1 ;------ остановка таймера ldi work3,0 out TCCR1B,work3 ret ------------------------------------------------------------ Есть мысли?????
Сообщение отредактировал andrey videoplus - Nov 16 2010, 10:18
|
|
|
|
|
Nov 16 2010, 13:11
|

Участник

Группа: Участник
Сообщений: 55
Регистрация: 24-06-10
Из: Киев
Пользователь №: 58 123

|
Цитата(ILYAUL @ Nov 16 2010, 13:37)  ЕСть, в счётные регистры 16- битных таймеров первым всегда загружается старший байт (high) И ТОЛЬКО ПОТОМ МЛАДШИЙ Да, "прошляпил", действительно есть такое в описании. Спасибо)))
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|