Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
26.06.2007, 16:16
|
#1
|
Вид на жительство
Регистрация: 18.06.2006
Сообщений: 434
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Вопрос по PROTEUS (проблемы с таймером)
Подскажите у меня не работает таймер, один проект работает нормально, а второй нет, показывает загрузку проца 99%. Сама схема работает, а то что управляется таймером нет.
Может есть какие настройки, подскажите.
|
|
|
|
26.06.2007, 16:21
|
#2
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Re: Вопрос по PROTEUS (проблемы с таймером)
|
|
|
|
26.06.2007, 16:53
|
#3
|
Вид на жительство
Регистрация: 18.06.2006
Сообщений: 434
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
В архиве проект и HEX к нему.
после ввода с клавиатуры 1234# индикатор с порта RB4 у меня мигает с интенсивностью раз в мин., а должен
при T2CON=0b00000100;//предделитель TMR2
1*256=256
при 10МГц
2500000/256=9765 раз в сек
Вот код
Код:
|
if (TMR2IF==1)
{
if (led_prog_f==1)
{
seconds_led_prog++;
if(seconds_led_prog›=100)
{
if (RB4==0) RB4=1;
else RB4=0;
seconds_led_prog=0;
}
}
TMR2IF=0;
} |
получается в 10 раз медленее
Прикрепленный файл: 1015656.rar
|
|
|
|
26.06.2007, 17:11
|
#4
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
1. Нужно заменить резисторы по 100К на PULLUP.
2. Нужно заменить диоды на DIODE-DSIM.
3. Нельзя ли выделить код работы с таймером и поместить в отдельный проект, чтобы его можно было отладить? (сделать Test Case)? Сейчас ничего не могу сказать абсолютно.
P.S. У меня этот индикатор вообще не мигает.
|
|
|
|
26.06.2007, 17:20
|
#5
|
Вид на жительство
Регистрация: 18.06.2006
Сообщений: 434
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Спасибо за помощь.
А что с резисторами и диодами не то, а то я недавно с PROTEUS работаю?
И еще если я вместо RB4 ставлю RA5, он переходит в 1 а назат уже нет, зависает и выключается только когда таймер останавливаю.
Вот код конфигурации
Код:
|
__CONFIG(HS & PWRTDIS & WDTDIS & BORDIS & LVPDIS & PROTECT);
STATUS=0x00;
RCSTA=0b10010000;//настройка приемника uart
TXSTA=0b00100100;//настройка передатчика uart
SPBRG=10;// скорость uart 57600 baund
INTCON=0b11000000;//разрешения прирываний
OPTION=0b0100;//предделитель TMR0 = 32
T2CON=0b01111111;//предделитель TMR2 256
T0CS=0;//выбор внутреннего тактового сигнала для TMR0
RCIE=1;//прерывания от приемника uart
TMR2IE=1;//прерывания от TMR2
//CMCON=0b00000101;//выключаем компараторы
TRISA=0b00000000;//настройка порта A
TRISB=0b00001111;//настройка порта В
TRISC=0b10111111;//настройка порта C
TRISD=0b01110000;//настройка порта D
//TRISE=???;//настройка порта E |
|
|
|
|
26.06.2007, 17:46
|
#6
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Аналоговые резисторы и диоды задействуют аналоговую симуляцию, которая очень медленная. Если применять только цифровые примитивы (PULLUP и DIODE-DSIM) то будет выполняться только в цифровая симуляция. В данной схеме абсолютно нет необходимости в аналоговых компонентах.
Ещё раз - нельзя ли выделить ТОЛЬКО код работы с таймером и выходом в отдельную тестовую программу, исходные тексты которой прикрепить вместе с проектом? Тогда я смог бы отладить её и сказать где ошибка.
|
|
|
|
26.06.2007, 18:32
|
#7
|
Вид на жительство
Регистрация: 18.06.2006
Сообщений: 434
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Спасибо, все работает кроме порта А
В архиве исходник на Си и проект для таймера TMR2
Прикрепленный файл: 1080129.rar
|
|
|
|
26.06.2007, 18:43
|
#8
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
А почему компараторы выключены пятеркой, а не семеркой?
Да строка и закомментирована..
|
|
|
|
26.06.2007, 19:56
|
#9
|
Вид на жительство
Регистрация: 18.06.2006
Сообщений: 434
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Потому что в нет там 877A есть только 877 а в нем нет компораторов
|
|
|
|
27.06.2007, 10:57
|
#10
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Компараторы там есть.
http://www.microchip.ru/files/d-shee.../pic16f87x.pdf
В инициализации портаА вставьте строчку
ADCON1=0b00000110;//выключаем компараторы
и все пойдет
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:16.
|
|