Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
28.11.2010, 11:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Прошу помощи в освоении AVR под CV
Сообщение от Dorgx7
|
ut1wpr, большое спасибо ваш код действительно намного легче читается да и по объему меньше.
Теперь вторая часть программы динамический вывод на 7сегментные индикаторы, как это правильно делается?
|
Программу вам писать никто не будет. Мы это уже проходили. Много здесь курсовых и контрольных таким образом склепалось. Если вы ДЕЙСТВИТЕЛЬНО хотите это знать, не сочтите за труд, скопировать выделенный фрагмент вашего вопроса в строку поиска Гугла. Вы будете приятно поражены.
Вопрос "правильно - неправильно" выяснится во время работы. Правильно - это когда работает.
Вот когода у вас что-то серьезно не будет усваиваться (только не перепутаны провода!), тогда можете обратится с вопросовм. На данном этапе вопроса нет. Есть полное незнание. Так низзя
Последний раз редактировалось ut1wpr; 28.11.2010 в 11:12.
|
|
|
|
28.11.2010, 15:07
|
|
Частый гость
Регистрация: 04.02.2007
Сообщений: 43
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Прошу помощи в освоении AVR под CV
ut1wpr, конечно дико извиняюсь если что то не так, но контролеры я изучаю чисто для себя.
|
|
|
|
28.11.2010, 15:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Прошу помощи в освоении AVR под CV
Сообщение от Dorgx7
|
ut1wpr, конечно дико извиняюсь если что то не так, но контролеры я изучаю чисто для себя.
|
Ну зачем ДИКО извиняться
Если для себя - тогда тем более. Время для сдачи не поджимает. Ссылок на предмет огромное количество. Посмотрите, как все организуют, как схемы составляют. Там даже с анимацией есть. Рекомендую для начала обратить внимание на систему Proteus. Для подобных задач лучше и не придумаешь.
Составляете схему, пишете программку, пошагово гуляете туда-сюда и набираетесь ума-разума Захватывает!
|
|
|
|
28.11.2010, 15:18
|
|
Вид на жительство
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
|
Re: Прошу помощи в освоении AVR под CV
Извините, что влез, но что означает 30h в строке
time[0] = (hour / 10) + 30h;
Часто встречается и +48h
|
|
|
|
28.11.2010, 15:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Прошу помощи в освоении AVR под CV
Сообщение от mironov
|
Извините, что влез, но что означает 30h в строке
|
Это ASCII код символа 0. Или 48 без h - то же самое.
|
|
|
|
28.11.2010, 16:01
|
|
Вид на жительство
Регистрация: 21.08.2007
Сообщений: 318
Сказал спасибо: 12
Сказали Спасибо 67 раз(а) в 61 сообщении(ях)
|
Re: Прошу помощи в освоении AVR под CV
Сообщение от mironov
|
Извините, что влез, но что означает 30h в строке
|
Все печатные символы(и некоторые непечатные тоже) имеют свои коды (расположение) в таблице ASCII (American Standart Codes for Information Interchange). Тут к значению (числовому) добавляется 30h чтобы получить печатный символ "0" в таблице ASCII. Соответственно если значение 5 прибавить к 30h - получим печатную "5".
Сообщение от mironov
|
Часто встречается и +48h
|
Возможно 37h ? Это дополнение чтобы перевести значение в хекс. Там еще и буквы используются. Если к значению 10 прибавить 37h - получим 41h что соответствует печатной букве "A"
|
|
|
|
28.11.2010, 17:48
|
|
Вид на жительство
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
|
Re: Прошу помощи в освоении AVR под CV
Все, въехал. Спасибо!
|
|
|
|
29.11.2010, 21:26
|
|
Частый гость
Регистрация: 04.02.2007
Сообщений: 43
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Прошу помощи в освоении AVR под CV
Вот появилось время и я переправил
код прерывания:
interrupt [TIM0_COMP] void timer0_ovf_isr(void)
{
TCNT0=0x00;
if( ++ms == 1000){ ms = 0;
if( ++sec == 60 ){ sec = 0;
if( ++min == 60 ){ min = 0;
if( ++hour == 24 ) {hour = 0;
}}}}
if (nagatie›0){nagatie--;};////для кнопок
}
и настройки таймера :
TCCR0=0x03;
TCNT0=0x00;
OCR0=249;
TIMSK=0x03;
но таймер отстает примерно на 1 сек за 5 асов
индикация
while (1)
{
if ( (ms›=0 && ms‹=250)||(ms›=500 && ms‹=750) ){sh=1;}else{sh=0;};
for (i = 0; i ‹ 6; i++){
PORTB=0b11000000;
PORTB SET_B(i);
switch (i){
case 0:if (sh==1 && poz==0 ){PORTA=255;}else{PORTA=recode[(hour / 10)];};;break;
case 1:if (sh==1 && poz==0 ){PORTA=255;}else{PORTA=recode[(hour % 10)];};break;
case 2:if (sh==1 && poz==1 ){PORTA=255;}else{PORTA=recode[(min / 10)];};break;
case 3:if (sh==1 && poz==1 ){PORTA=255;}else{PORTA=recode[(min % 10)];};break;
case 4:PORTA=recode[(sec / 10)];break;
case 5:PORTA=recode[(sec % 10)];break;
};
if((poz==2 && sh==1)&&(i==1 || i==3 || i==5)){PORTA=PORTA-4;};
delay_ms(1); // грешу назадержку , или зря ?
PORTA=255;
}
///////////////////////////////////////////////////
};
но таймер отстает примерно на 1 сек за 5 асов грешу на задержку "delay_ms(1)", или зря ?
в Proteus прерывание каждую мс
|
|
|
|
29.11.2010, 21:43
|
|
Гражданин KAZUS.RU
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
|
Re: Прошу помощи в освоении AVR под CV
Сообщение от Dorgx7
|
но таймер отстает примерно на 1 сек за 5 асов
|
У вас неверный режим таймера (для часов)
TCNT0=0x00 в теле прерывания не должно быть.
Если так не устраивает, то не overflow прерывание ловить, а compare в соотв. таймере.
__________________
.
В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.
|
|
|
|
29.11.2010, 22:27
|
|
Частый гость
Регистрация: 04.02.2007
Сообщений: 43
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Прошу помощи в освоении AVR под CV
alexgap,если я убираю TCNT0=0x00 из тела прерывания проект полностью весит,
подскажите как правильно настроить таймер или хотя бы где почитать про это на русском.
Последний раз редактировалось Dorgx7; 30.11.2010 в 20:00.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:16.
|
|