|
Микроконтроллеры для начинающих, AVR, PIC, FUJITSU |
|
|
|
Mar 24 2005, 11:21
|

Частый гость
 
Группа: Свой
Сообщений: 138
Регистрация: 1-06-04
Из: Nighny Novgorod
Пользователь №: 27

|
AtmelПроизводитель: Atmel Corporation. Сайт: ENG РУСhttp://[banned]/ детально не изучал, но, вроде бы, достаточно полезного материала для начинающих. AVReAl - программатор AVR в последовательном режиме через LPT Осваиваем AVR микроконтроллерыСайт Михаил Николаева, большого любителя пива и коллекционера пивных этикеток MicrochipПроизводитель: Microchip Technology. Cайт: ENG РУСhttp://pic16f84.narod.ru/Что такое PIC ? Программатор, проекты для PIC16xxx, ссылки на документацию. FUJITSUПроизводитель: FUJITSU Сайт: ENGМикроконтроллеры Fujitsu 16-LX/FRFAQ по микроконтроллерам MB90FXXX, MB91FXXX. Внутрисхемный программатор микроконтроллеров семейства F2MC-16LX и FR. [url=http://www.fujitsu.com/global/services/microelectronics/product/micom/support/faq/]FAQ Fujitsu от производителя, ENG[url]
--------------------
|
|
|
|
|
 |
Ответов
(60 - 74)
|
May 12 2008, 16:48
|
Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 993

|
Цитата(Chado @ May 12 2008, 19:48)  ...Что с виндой непонятно! Windows XP SP2, кажется со всеми последними обновлениями. После настройки по инструкции (уже забыл, что надо настраивать) появлялись ошибки. После установки задержки до 40 (процессор 2.2ГГц), вроде бы, пропали ошибки. Раз 5-6 в режиме Прочитать-Стереть-Программировать и т.д. Возможно, проблема не столько с Windows, сколько с быстрым процессором? Может быть задержики и в 40 не хватает?
|
|
|
|
|
May 14 2008, 09:13
|
Группа: Новичок
Сообщений: 7
Регистрация: 7-05-08
Пользователь №: 37 351

|
|
|
|
|
|
May 14 2008, 10:11
|
Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 993

|
Цитата(Chado @ May 14 2008, 13:13)  ... В любом случае пога не в полном обЪёме загрузилась там где используются функции винды остается пустое место. Вызова функций АПИ просто нету. Что делать?Это гдето видимо в реестре вколочено. Хренаськи найдешь сотня мег реестр. или грохнуть всю винду и потом медленно и вернопоставить весь свой арсенал задач  Грохнуть все, это никогда не поздно. А Вы точно выполнили все рекомендации по настройке IC-PROG при первом запуске? Я забыл о настройках, попытался запустить и все было очень странно, пришлось прочитать файл pdf, который был на диске и тупо повторить все, что там касалось предварительной настройки. К сожалению, я уже псчти забыл Windows. Но, если мешает брэндмауэр, то, может быть, попробовать его отключить? Извините, если сказал глупость. Я уже запамятовал, но мне кажется, что я пробовал использовать EXTRA-PIC в Linux с программами KTechlab и Piklab. Если это мне не приснилось, то вполне удачно. Хотя больше я использовал самодельный простейший программатор.
|
|
|
|
|
May 15 2008, 11:50
|
Группа: Новичок
Сообщений: 7
Регистрация: 7-05-08
Пользователь №: 37 351

|
Но, если мешает брэндмауэр, то, может быть, попробовать его отключить? Отключиь брэндмауэр система не дает в сервис паках довески это ресекают сразу. Поступаю проще ВЫБРАСЫВАЮ IcProg к какойто маме. И шпандорим на проге Winpic800 она умеет распознавать чип. Шью пики 84, 628, 628А, 716, 874. Время на прошиву затрачивает чуть больше 10 сек. Одной рутинной работой меньше. так что тема бум говорить снята. Нехочет винда Icprog - и я не сильно то хотел.
|
|
|
|
|
May 16 2008, 07:38
|

Участник

Группа: Новичок
Сообщений: 19
Регистрация: 14-04-08
Из: Москва
Пользователь №: 36 755

|
Вот красивый проект для начинающих от новичка - LCD графический MT12864 - 128x64 точки. исходники для CVAVR и симуляция в PROTEUS - Прекрасно компилируется и симулируется. Можно симулировать в PROTEUS без компиляции - все файлы в архиве есть.
|
|
|
|
|
May 25 2008, 16:18
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
что такое BCD и для чего оно нужноBCD - Binary Coded Decimal -- это десятичное кодированное двоичным Binay Coded Decimal- это кодирование которое упрощает хранение,доступ к ним и конвертацию данных для вывода к примеру на ЖКИ. В результате конвертации мы в байте (8-bit) будем иметь два нибла (4-bit) каждый из которых будет содержать число в размере от 0 до 16.Таким образом это позволяет нам хранить в каждом нибле десятичное число от 0 до 9 и два в одном байте, тоесть в оном байте два десятичных числа. Пример конвертации десятичного числа переменной mybyte если её значение находится в пределах от 0 до 99: Код char mybyte = 78; Объявим переменную для значения старшего нибла. Код char upper_nibble = 0; //Подсчитаем колличество десятков в переменной mybyte. while (mybyte >= 10) { upper_nibble++; mybyte -= 10; } После таких преобразований в переменной mybyte осталось число 8, а upper_nibble равно 7. Чтобы получить сконвертированный байт объединим старший и младший ниблы: Код char result = (upper_nibble << 4) | mybyte; Такой алгоритм исспользуется для конвертации в программе функции CHAR2BCD2. Код char CHAR2BCD2(char input) { char high = 0; while (input >= 10) // Подсчитаем десятки { high++; input -= 10; }
return (high << 4) | input; // Добавляем единицы и возвращаем результат } Если входное значение находится в пределах от 0 до 255 то исспользуют следующую функцию Код unsigned int CHAR2BCD3(char input) { int high = 0; while (input >= 100) // Подсчитаем сотни { high++; input -= 100; }
high <<= 4; while (input >= 10) // Подсчитаем десятки { high++; input -= 10; }
return (high << 4) | input; // Добавляем единицы и возвращаем результат } Ещё один маленький пример ковертации байта в эквивалентное значение ASCII с исспользованием BCD. К примеру мы имеем байт Number размерностью от 0 до 99 который нужно сконвертировать BCD в два эквивалентных кодировке ASCII значениям. Код char Tens = 0; // десятки char Ones = 0; // единицы char Number = 93; // значение для конвертации Переведём десятичное значение в BCD исспользуя вышеописсаную функцию: Код Tens = CHAR2BCD2(Number); Теперь переменная Tens в старшем нибле содержит десятки а в младшем - единицы. Дальше всё очень просто, только необходимо помнить что ASCII ‘0’ - это 48, ‘9’ - это 48+9=57,‘3’ - это 48+3=51, и наоборот 57 это десятичное значение ASCII ‘9’,51 это десятичное значение ASCII ‘3’.Таким образом конвертация десятичного значения в его эквивалентное ASCII значение - это простое суммирование десятичного значения и 48. Поскольку функция CHAR2BCD2 загрузила десятки и единицы переменной Number в Tens то мы должны сначала извлечь переменные Tens и Ones и добавляя 48 получить эквивалентные ASCII значения для Number. Код Ones = Tens; Ones = (Ones & 0x0F) + '0'; Десятые мы получаем сдвигом на 4 и добавим 48. Код Tens = (Tens >> 4) + '0'; Теперь можно посимвольно выводить значения на ЖКИ, передавать в компютер и т.п.Пользуйтесь, это удобно. В общем может где-то есть и другая инфа на русском, я её не нашол, разобрался сам и решил другим помочь. Всё вышеперечиссленное тестировалось в компиляторе ИАР вер.5.10А. Если будут найдены ошибки прощу исправить
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
|
May 26 2008, 17:20
|
Участник

Группа: Новичок
Сообщений: 47
Регистрация: 26-05-08
Пользователь №: 37 825

|
Добрый день, решил заняться программированием МК, купил программатор ChipProg-40. Программатор полностью устраивает, все прошивает на отлично, но вот контроллер работать отказывается. Работаю с atmega8535. Вопрос - он действительно работает без внешнего кварца, или может как то нужно активировать внутренний? При установке в схему контроллер заметно греется, что наводит меня на мысль о том что проблема вовсе не в программаторе или самом контроллере а в программе, ибо походу контроллер работает а вот программу выполнять отказывается. Программу компилировал в Programmers Notepad 2, в makefile соответственно вписал atmega8535. Если кому не сложно, сделайте элементарный пример для этого контроллера(например что бы на PA0 горел светодиод).
|
|
|
|
|
May 27 2008, 15:51
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
2 Anub - зря вы потратились. СТК200/300 - вот это вЭщ! По теме - Меги имеют встроенный РЦ-генератор - вроде с заводи идут с тактированием 1МГц(Читайте ДШ раздел ФУЗЫ). Если при установке в схему камень греется - это не програмам а скорей всего(99%) монтажка - проверяйте схему. Пример с миганием: Код int main (void) { DDRA=0x01;// устанавливаем 0-й пин порта А на вывод while (1)//типа бесконечный цикл { PORTA =0x01;//установка "1" на 0-ю лапу //тут надо вставить задержку - юзаю стандартную, там либу подрубать нужно- delay.h вроде - а вы сами определитесь что и где вам нужно _delay_ms(200); PORTA =0x00;// установка "0" на все лапы _delay_ms(200);// аналогично , а то мигать не будет }
return 1;//пусть будет - варнингов меньше.. }
|
|
|
|
|
May 27 2008, 16:30
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Obama @ May 16 2008, 09:38)  Вот красивый проект для начинающих от новичка Пороект вполне банальный,действительно уровень новичка. А с учетом прикладывания к нему рук, и особенно ссылок, воинствующего ламера 123 я бы вообще более, чем скептически рекомендовал ко всему написанному относиться. Moderator: Приложение слегка почистил от наглой саморекламы присоседившегося 123.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jun 18 2008, 10:33
|
Участник

Группа: Новичок
Сообщений: 47
Регистрация: 3-11-05
Пользователь №: 10 436

|
добрый день! подскажите, пожалуйста, как железно(без прошивки) проверить МК AVR на работоспособность? программатор выдает communication error(
|
|
|
|
|
Jun 18 2008, 13:20
|
Участник

Группа: Новичок
Сообщений: 47
Регистрация: 3-11-05
Пользователь №: 10 436

|
такой вопрос: если в CVAVR при прошивке стоит галочка Program Fuse Bits, но ниодного фьюза в списке не выбрано, то это он их всех сделал '1'? т.е CKSEL[3..0] = 1111 => работа от внешнего клока?? (mega16) ситуация такая: один раз прошивается норм, потом МК не отвечает программатору... подскажите, куда смотреть пожалуста
Сообщение отредактировал ysb - Jun 18 2008, 13:24
|
|
|
|
|
Jun 20 2008, 04:33
|
Знающий
   
Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32

|
Цитата(ysb @ Jun 18 2008, 17:20)  такой вопрос: если в CVAVR при прошивке стоит галочка Program Fuse Bits, но ниодного фьюза в списке не выбрано, то это он их всех сделал '1'? т.е CKSEL[3..0] = 1111 => работа от внешнего клока?? (mega16) ситуация такая: один раз прошивается норм, потом МК не отвечает программатору... подскажите, куда смотреть пожалуста галка означает фьюз, запрограммированный в 0, а её отсутствие - 1. Таким образом, чтобы зашить режим работы от кварца, нужно снять все галки CKSELn.
--------------------
Главная линия этого опуса ясна мне насквозь!
|
|
|
|
|
Jun 24 2008, 17:51
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 21-02-08
Пользователь №: 35 272

|
Цитата(nameless @ Apr 6 2005, 16:06)  Не советую AVR для начинающих. Уж куда приятнее PIC. В преподавательской практике использовал оба - PIC схватывают на лету !!! Есть подозрение - что из-за системы команд. Всё гораздо проще. Для PIC есть много литературы на руссоком языке. Для AVR в основном только документация с минимумом примеров.
|
|
|
|
|
Jun 24 2008, 18:16
|
Местный
  
Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913

|
Я осваивать начал и,собственно,пока там и остался, с Мультикоров..и вот думаю,что мне просто не повезло...кто сталкивался-поймёт..конечно RISC+DSP сходу - это не совсем верно,но ситуация обязывала. Впринципе, неплохо,но глюки есть и они добивают,в основном, они в среде разработки(ПО слетает и если к этому не привыкнуть,то забросишь сразу же)..возможно предвзятость это,потому как отечественный...полезно знать,что наши пытаются.Если верить анонсам,то на них стоит обратить внимание,в мощности они прибавляют.
--------------------
Сжимаются ужи насмешкой лжи
|
|
|
|
|
Jun 28 2008, 23:09
|
Группа: Новичок
Сообщений: 3
Регистрация: 28-06-08
Пользователь №: 38 616

|
Тут много полезного программы, литература. http://www.forum.ocp.su/
Сообщение отредактировал Hitako - Jun 28 2008, 23:12
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|