|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.08.2010, 14:52 | #11 |
Пользователь
Регистрация: 24.01.2010
Сообщений: 15
|
вчера попробовал зашить в контроллер получилось плохо , запуск нормальный но на кнопки реагирует адекватно, то 3 индикатора меняет то 4 , а все в нули переводит , в протеусе нормально ведет при фузах 4 МГц от внутреннего генератора, но зато за минуту отстают на 15 секунд, при 4 МГц от внешнего кварца не хочет запускаться что делать
|
17.08.2010, 22:39 | #12 | |
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
Цитата:
2 чем ты пользуешся для прошивки (программатор) 3 если есть время вот несколько ссылок на литературу http://progbook.net/ss/c-plus/page/6/ http://progbook.net/assembler/723-pr...v-windows.html http://progbook.net/ss/c-plus/1829-p...zovatelja.html покапайся там найди книгу Микроконтроллеры AVR Семейства Classic фирмы "Atmel" в этой книге описан весь интерфейс контроллера который ты применил
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
|
18.08.2010, 17:24 | #13 |
Пользователь
Регистрация: 24.01.2010
Сообщений: 15
|
все нашел косяк все нормально, теперь надо сделать чтобы точка мигала, и как то подогнать частоту чтобы не убегали и не отставали как это сделать
|
18.08.2010, 22:46 | #14 |
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
Простой пересчет для коррекции таймера. Как это делается
1) просчитываеш такты генератора необходимые для исполнения кода тоесть как только у тебя закончилась настройка портов (В общем инициализация контроллера) эти такты ты начинаеш подсчитывать от момента начала счета часов (в какомто месте происходит счет секунд... скажем регистра или ОЗУ я точно не разберался с твоим листенгом). как это делается: А) каждая команда в контроллере выполняется за один такт генератора (Ну кроме команд перехода, вызова прерываний и подпрограмм) 1 такт = 1/F Где F - частота генератора (кварца) в герцах полученая велечена в секундах Б)каждая команда перехода состовляет по разному от 2, 3 до помоему 5 тактов В) как только ты прикинул сколько тактов (секунд) необходимо ты пересчитываеш таймер 2) Пересчет таймера таков при инициализации ты вводиш туда коэффициент деления ldi Temp1,0b00000011 out Tccr1b,Temp1 ;тактовый сигнал /64 А также разрешаеш прерывание по совпадению. В регистр совпадения ты вводиш константу вот эту константу необходимо уменьшить на полученный результат.. Не забудь о разной весовой категории чисел... т.к t таймера F/64 гц а прекинул ты в секундах надеюсь 3...4 действия + - и разделить тебя не затруднят
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание динамической ссылки. | waterya | Работа с сетью в Delphi | 2 | 16.06.2010 12:57 |
Организация динамической таблицы | Kerguru | Microsoft Office Access | 2 | 02.12.2009 11:35 |
Сортировка динамической структуры | Lemo | Помощь студентам | 7 | 13.10.2009 18:58 |
Создание динамической формы в delphi | Скарам | Помощь студентам | 4 | 07.03.2009 12:00 |
Помогите с динамической паматью! | profi | Помощь студентам | 2 | 20.09.2008 15:50 |