Jump to content

Search the Community

Showing results for tags 'codevisionavr'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
    • Competition 2019
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
  • Товары и услуги
  • Разное
  • Переделки's ATX->ЛБП
  • Переделки's разные темы
  • Киловольты юмора's Юмор в youtube
  • Радиолюбительская доска объявлений exDIY's Надежность и группы продавцов

Blogs

There are no results to display.

There are no results to display.

Marker Groups

  • Пользователи форума

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Found 11 results

  1. Oldnaf

    Codevisionavr

    Здравствуйте, извините если что где коряво написано, мы люди начинающие и просим помощи. Первое, программатор у меня «PROTTOSS AVR910 USB Programmer» Второе, пользуем программой «CodeVisionAVR» точнее «CodeVisionAVR Evaluation V2.03.9» На компе стоит ХР. Все установили строго по инструкции, комп нашел программатор, установил дрова с диска, комп все сделал, в «устройства» появился мой программатор, на COM4. Установил программу «CodeVisionAVR Evaluation V2.03.9» запустил, программатор программа видит. Выкладываю все настройки которые нашел в программе (фото 1; 2; 3;) выставил фьюзы как было рекомендовано в статье, схему из которой собираю (правда в статье написано что фьюзы выставлялись в «ПониПрог» ). Далее все начинаю делать по учебнику: 1- Фото 1-1 загружаю HEX файл 2- Фото 2-1 нажимаю на «Флеш» для заливки в контроллер и………………. 3- Фото 3-1 выдает такой результат. Контроллер Atmega8 Что я только не пробывал и стереть и верифицировать, результат один и тотже- фото 3-1. Братцы, помогите пожалуйста, чтото я делаю не так, может где галочку не поставил или поставил зря, может что с фьюзами намудрил, хотя в статье именно так и написано. А может какую другую программу посоветуете для прошивки, которая работает с данным программатором. До этого какимто не понятным образом, умудрился прошить Attiny 2313 для пробы (Правда тоже были пляски с бубном, в виде перебора COM портов), поморгал светодиодами и забил. Вот сейчас понадобилось прошить контроллер и фига с маслом. С PICами както попроще, AVR пока не дается, а хотца научится, говорят они поинтереснее.
  2. привет! есть кто живой? всех с праздниками! пока ждал заказанных rtc, поигрался с разными часами в протеусе (1302, 1307, 8563). пользовался встроенными библиотеками кодвижона - все работает, все норм. разве что 8563 подключил с помощью либы "i2c" - рабоатает, но часы явно отстают. как я понял из-за того, что во встроенной i2c.h нет настройки частоты. вот решил попробовать эти часы запустить с библиотекой TWI.h из того же кодвижена, но вылазят ошибки, причем в местах, тупо скопированных из комментария либы по подключению. код добавил ниже, объясните, в чем ошибки? ОШИБКИ В КОММЕНТЫ ДОБАВИЛ /*--------------------------------------------------------------- pcf8563 test ---------------------------------------------------------------*/ #include <mega88pa.h> #include <pcf8563_twi.h> #define TWI_CLK_RATE 100000 #define MCU_FREQ_ 8000000 TWI_MASTER_INFO_t twi_master; // ЗДЕСЬ ВЫДАЕТ ОШИБКУ " '(' expected " !!! interrupt [TWI] void twi_master_isr(void) { twi_master_int_handler(&twi_master); // ОШИБКА " undefined symbol 'twi_master_int_handler' " } void main(void) { unsigned char day=1, month=1, hour=6, min=6, sec=6; int year=8; twi_init(&TWI0,TWI_SDASETUP_4CYC_gc,TWI_SDAHOLD_OFF_gc,false); // ОШИБКА " undefined symbol 'twi_init' " twi_master_init(&twi_master,&TWI0,TWI_BAUD_REG(MCU_FREQ_,TWI_CLK_RATE)); pcf8563_twi_init(&twi_master); #asm("sei") while(1) {} } чушь какая-то... особенно смущает, что про функции из "twi.h" (которая в этом проекте видится кодвижоном) компилятор пишет как про какие-то символы...
  3. Здравствуйте. Пишу сейчас программу под attiny13, пишу в codevisionavr eval, нужно подключить dht11. Нашел c+h файлы, но не пойму как правильно установить библиотеку. На каком-то сайте нашел, что все скидывается в inc папку. Скинул - пишет что функция объявлена но не определена. Короче *.h файл видит, а *.c - нет. Заранее, спасибо.
  4. Вопрос. Почему не выполняется на atmega328 команды? Тестировал в протеусе на частоте 8 мгц (в настройках проекта 20 мгц, но думаю на это не так сильно должно влиять). На микроконтроллере запущен аппаратный таймер - работает нормально. Через юарт (настроен только TXD) всё время шлёт: 011111111101111111110... Но сам код не хочет выполняться: while (1) { delay_ms(0.4); // выполнилось при первом цикле PORTD.6=1; // выполнилось при первом цикле delay_ms(0.4); // выполнилось при первом цикле putchar(PORTC.0+PORTC.1*2); // заморозилось и далее не выполняется, но аппаратный таймер работает, юарт флудит (011111111101111111110...) // функцию putchar нашёл в интернете PORTD.6=0; } PORTD.6 - настроен на выход PORTC.0 и PORTC.1 настроены на вход. Включены подтягивающие резисторы. P.S. Проект сделан в CodeVisionAVR с использованием генератора кода.
  5. Здравствуйте! Установил CodeVisionAVR, повторяю уроки авторов, а у меня ихние коды не работают. Пожалуйста, подскажите, что нужно сделать, чтоб заработало. С уважением. Повторил код, проверил в протеусе, а он не заработал. Подскажите как правильно написать код? CodeVisionAVR версии 3.10 . Возможно нужно какие галочки ставить при создании проекта в программе? #include <mega8.h> // Declare your global variables here void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port B initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Port C initialization // Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0); // State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); // Port D initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped TCCR0=(0<<CS02) | (0<<CS01) | (0<<CS00); TCNT0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0<<AS2; TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20); TCNT2=0x00; OCR2=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<TOIE0); // External Interrupt(s) initialization // INT0: Off // INT1: Off MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); // USART initialization // USART disabled UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); SFIOR=(0<<ACME); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); // SPI initialization // SPI disabled SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0); // TWI initialization // TWI disabled TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE); while (1) { // Place your code here } } В CodeVisionAVR такой вариант написания кода.
  6. Реализовать частотомер на базе МК atmega16. Частоту измерять с помощью таймера счетчика, отображение результатов на экране LCD. Управление с помощью кнопок клавиатуры.Реализовать это в программе codevisionAVR. Сам я туп как пробка в этом вопросе, но от этого задания зависит мой вылет из университета. Кто знает, помогите, пожалуйста!!
  7. Доброго времени суток! Я новичек и сейчас работаю над первым своим устройством на МК. Отлаживая в протеусе схему, столкнулся со странным поведением. В общих чертах: делаю код в CodeVisionAVR 3.12 Evaluation, пишу на С. Задача - разработать простенький электронный таймер, до 99 мин. Методом исключения выяснилось, что при разрешении прерываний командой sei программа начинает выполнятся сначала. Пошел по пути наименьшего сопротивления, просто разрешил прерывания в самом начале программы. В таком случае глобальная переменная time_sec, в которой хранится оставшееся время или недоступна, или сбрасывается в ноль при нажатии на любую кнопку. Нагугленые варианты решения проблемы не помогли, поэтому я вернулся к исходному варианту (код которого привел). Проект в протеусе и кодвижине прикрепил в архиве timer.rar, код также под спойлером. Я конечно понимаю, что возможно допустил какой-то банальный косяк, но найти не могу, нужен "свежий взгляд". Прошу вашей помощи! Примечание: я закомментировал кусок кода, так что выводиться только один разряд (минуты). Это связано с тем, что у меня протеус не успевает корректно отрисовывать зажигание разрядов семисегментника по-очереди. timer.rar
  8. Проблема такая: в Proteus нехочет симулироваться мой проект хотя написано вроде верно. Кто обладает свободным временем могут протестировать и доработать мои начинания, незабываем отписыватся тут . Описание Есть домик дачный, есть баниа, есть туалет, везде установлены датчики инфракрасные на движение (стоят200р шт) при попадании в зону датчика срабатывае электромагнитное реле и включается свет на определенное время 15мин-120мин , при возникновении движения второй раз время работы обнуляется. На этихже датчиках работает GSM сигнализация , когда заходиш первый раз на дачу нужно отключить сигнализацию или реле разомкнется и придет смс с тревогой. Мозг системы atmega16. для экономии средств тестирования датчики реле можно заменить на кнопки и диоды для наглядности ПРОЕКТ НАПИСАН В CodeVisionAVR Evaluation V2.05.0 схема собрана в протеусе К теме прилогаю свои разработки и файлы к ним: умная дача.rar Безымянный.rar
  9. Доброго времени суток. Разрабатываю систему сбора информации отопительной теплосети. Для начала решил отладить термодатчики, температуру нужно измерять в трубах, и на. Пределов измерения и точности DS18B20 вполне хватает плюс дешевизна и отсутствие надобности в калибровке сыграли свою роль. Первый датчик установлен на улице под козырьком. Сама микросхема напаяна на стеклотекстолит параллельно линиям питания припаян керамический конденсатор емкостью 8мкФ, все это хозяйство залито лаком. Второй датчик вместе с конденсатором залитый в эпоксидную смолу. Этот датчик опущен в металлический стакан вваренный в трубу. Стакан заполнен машинным маслом. Все выводы микросхемы DS18B20 заизолированы, и к трубе ни каким образом не прикасаются (см. рис.). Основным управляющим элементом в схеме служит ATmega8 программирую на CodeVisionAVR... На шину 1-Wire подключено два датчика DS18B20, общая длинна провода приблизительно 100м. Провод витая пара категории 5Е (экранированный). Опрос выполняется раз в минуту. Устройство работает круглосуточно начиная с октября прошлого года. Приблизительно через полтора месяца после начала эксплуатации начал сбоить датчик из трубы (передавал -9999) и через сутки вовсе перестал работать. Я подумал всякое бывает, может брак… закатал я новый датчик в эпоксидку опустил в трубу и на этом все закончилось. При прозвонке дохлого я выяснил, что вышел из строя вывод данных (давно это было не помню) у него было одинаковое сопротивление в прямом и обратном направлении. Приблизительно через полтора месяца история повторилась и именно с датчиком в трубе. Результаты прозвонки приведены в таблице. Я так же решил прозвонить первый датчик из трубы и оказалось, что он рабочий я решил перепроверить подключил к контроллеру. Четыре дня без выключения датчик проработал без единого сбоя. А теперь вопросы: 1) Чем обусловлены чудеса с воскрешением первого датчика из трубы? 2) Почему два раза под ряд вышел из строя датчик из трубы а не на улице ведь датчики работают на одной шине? 3) Может ли это происходить из-за относительно высокой температуры в трубе (50 – 80С)? 4) Может из за частого опроса датчиков? 5) Эпоксидная смола в подогретом состоянии ни каким образом не может стать проводником? 6) Возможен ли вариант выхода из строя датчика через статическое электричество? ежедневно по трубе протекают тонны воды. http://www.alldatasheet.com/datasheet-pdf/pdf/58557/DALLAS/DS18B20.html
  10. Доброго времени суток! Подскажите пожалуйста кто может по решению следующей задачи. Нужна программа на CodeVisionAVR (на крайний случай Ассемблер). Собственно само условие. Написать программное обеспечение к устройству (см. схему лаб. стенда МПУ-1), которое в исходном состоянии отображает на экране ЖКИ (HL3) в первой строке текст – «Введите 1 число», при этом вто-рая строка – пустая, и ожидает нажатия одной из клавиш «S4.1»…«S4.9», «S4.11». После нажатия одной из клавиш устройство в первой строке выводит текст – «Введите 2 число», а во второй отображает первое введенное число (номер нажатой клавиши) и знак «+», и ожидает следующего нажатия одной из клавиш «S4.1»…«S4.9», «S4.11». После ввода второго числа устройство в первой строке отображает текст – «Сумма:», а во второй отображает результат суммирования чисел в течении 3сек, после чего переходит в исходное состояние. http://vk.com/doc781...bcae0390fcd2788 - здесь сама схема МПУ-1 (страница 2). Она же прикреплена в архиве. Вариант и схема.rar Заранее спасибо
  11. Подскажите пожалуйста, где ошибка. Программа откомпилирована как она тут есть. В протеусе без помеченной строчки на выводах порта Б "бегают" сигналы . #include <tiny2313.h> void main(void){ PORTB=0x00; DDRB=0xFF; PORTD=0b0000000; DDRD=0b0001111;// с этой строчкой не работает. TCCR0B=0x01; TIMSK=0x02; while (1) { PORTB++; }; } если вместо DDRD=0b0001111 написать DDRD.x для каждого бита то выясняется что "виноват" бит PD2 если в протеусе "оторвать" эту ногу то все работает! может "виновато" иное предназначение ноги?
×
×
  • Create New...