Большой Воронежский Форум
Страница 7 из 43
< 1234567 891011121317 > Последняя »
»Радиолюбитель>PIC контроллеры. Программаторы и первый проект на PIC
petrd 20:02 29.05.2009

Сообщение от EXPRESS:
А на ASMе подпрограмм на них не втречали? Хочется очень детально проработать каждый нюанс взаимодействия (или это можно почувствовать и без АSMa?), т.к. делаю для души, никуда не спешу, а основной интерес не зажечь дисплей, а "поковыряться" Значит есть смысл ещё качать даташиты на контроллеры, которые на плате дисплея и разбираться? Я понял, что данный дисплей состоит из двух банков (секций), которые нужно переключать и есть два варианта построения битности данных, с задействованием 4 бит, (линий данных) и всех 8. И ещё попутно вопросик: на него можно отдельно купить тач скрин по размеру или лучше применить что то готовое, как единое целое?

На ассемблере для графических ЖКИ что-то не встречал. На самом деле нюансов для работы с ЖКИ два: первый - интерфейс связи, а их обычно для монохромных два типа - 8080 (Intel) и 6800 (Motorola),т.е. те же самые что для HD44780 (KS0066). Второй - это как правильно вывести на экран. И мало того, что экран состоит из двух сторон (side), так он состоит еще из 8 страниц. И это надо еще вовремя переключать. А еще надо написать примитивы (кружочки, прямоугольники, линии). Все это на ассемблере? Как подумаю - тихий ужас. Рутина. А прочувствовать это и на Си легко. Так что это надо делать на языках высокого уровня да и переносить заготовки на другие МК легче. А если нужен тачскрин, то это как получится. На 128х64 я знаю отдельно продаются.
P.S. Про ЖКИ можно много говорить, есть еще TFT, OLED т.д., еще борьба со шрифтами. А еще есть вот это http://www.gamma.spb.ru/articles.php?i=71 и я это видел на "Экспоэлектронике-2009" в работе. Поле непаханное для освоения. [Ответ]
EXPRESS 20:30 29.05.2009
Спасибо большое за разъяснение! А тач скрин имеет свой контроллер или сделан по принципу кнопок тастатуры, которые нужно опрашивать внешними мощностями? [Ответ]
petrd 21:14 29.05.2009

Сообщение от EXPRESS:
А тач скрин имеет свой контроллер или сделан по принципу кнопок тастатуры, которые нужно опрашивать внешними мощностями?

С тачскринами не работал, но для маленьких ЖКИ он резистивный, контроллер ему не нужен, обычно его обслуживание выполняет основной контроллер устройства (для считывания положения используется внутренний АЦП МК). Опять же в MikroC есть примеры для работы с ним. [Ответ]
EXPRESS 00:07 30.05.2009
Порывшись в хламе, нашел дислей 1602 от какой то Омроновской консоли 1984 г.в. 25 лет ему однако...

контроллер 4316-1, нумерация дисплея наверное начинается скраю, где пропаяно.. Там же нашелся и Интел 8051, можно применить кстати его (неужели в те годы была флешь память у них на борту?)- или не стоит, программатор отдельный надо делать? А книги по 8051, 52 видел, причем 08г издания. [Ответ]
Leo 00:27 30.05.2009
EXPRESS, 8051 - целое большое семейство контроллеров. Выпускаются до сих пор разными производителями. [Ответ]
EXPRESS 20:22 01.06.2009

Сообщение от petrd:
KS0107, KS0108

Приобрел дисплейчик, на нем присутствуют оба перечисленных контроллера одновременно. [Ответ]
petrd 20:33 01.06.2009

Сообщение от EXPRESS:
Приобрел дисплейчик, на нем присутствуют оба перечисленных контроллера одновременно.

Ну тогда вперед за опытом. [Ответ]
Harry 21:57 01.06.2009

Сообщение от EXPRESS:
PIC18F2550

вот это номера... я писал еще под 16F84... [Ответ]
romchik77 23:23 04.06.2009
Ура! 28.05.09 получил свой PICKit2, благодарен "тритону"

Сообщение от petrd:
В PICKit2 мама на 6 гнезд, а на демке папа на 6 штырьков. Папу в маму и все. PICKit2 по USB в компьютер. И не надо МК туда сюда втыкать. Прошили прямо в плате, посмотрели как работает, если не так, то поправили программу и снова прошили, снова посмотрели. В серийном производстве DIP корпуса уже практически не используются. Программа зашивается в уже готовое устройство с впаянным МК, поэтому используется внутрисхемное программирование через разъем ICSP (именно это в PICKit2).

petrd, давайте начнем с окончания детского садика и поступления в школу!
А именно пока без отладки кода. С простого - запрограммировать МК, как? допустим тот же 16F628A. Что нужно установить с прилогаемых дисков, ну и т. д. (все по английски блин)
З.Ы. я так думаю, нужно слепить макетку с панелькой для МК и вывести разъем (папа) под PICKit2. Так?
[Ответ]
Krivoy 14:01 05.06.2009
Аналогично. В этих же числах по почте пришел из Чип НН. Что теперь с ним делать? Предложение номер раз. Может кто расскажет, как лучше всего доработать макетку для расширения функциональности. Заоодно, неплохо бы кварц на 20 МГц повесить, RS 232 и LCD прикрутить. Было бы супер. Прдложение номер два - это проект для отладочной платы свой на С написать, чтобы можно было бы в качестве шаблона использовать. [Ответ]
petrd 23:10 05.06.2009

Сообщение от romchik77:
Ура! 28.05.09 получил свой PICKit2, благодарен "тритону"
petrdА именно пока без отладки кода. С простого - запрограммировать МК, как? допустим тот же 16F628A. Что нужно установить с прилогаемых дисков, ну и т. д. (все по английски блин)
З.Ы. я так думаю, нужно слепить макетку с панелькой для МК и вывести разъем (папа) под PICKit2. Так?

PICKit2 в общем случае может работать в трех режимах - через свою оболочку, через среду MPLAB IDE и из командной строки. Я думаю надо сначала установить свою оболочку. Оболочка находится на диске PICKit2 Starter Kit версия 2.50, на сайте www.microchip.com доступна более свежая версия 2.61. Для того чтобы все заработало на ПК должен быть установлен Framework, если его нет то есть смысл скачать оболочку с Framework-ом, но весит это дело около 30М (раньше по теме об этом уже говорил). Подключаем демку к PICKit2, а PICKit2 к ПК и запускаем оболочку.
После ее открытия вcе готово к работе, контроллер определен PIC16F887, нажимаем галку On и запускается программка демки. С этим думаю вы и сами разобрались, более подробно на www.pickit2.ru. Как прошивать? Для тренировки - когда все подключено и запущена оболочка, нажать кнопку Read - тем самым прочитали PIC, делаем File->Export и сохраняем куда хотим hex файл содержимого PIC. Все копия у нас есть. Нажимаем Erase - стерли PIC. Теперь демо-плата не моргает. Делаем File->Import, выбираем ранее сохраненный hex. Нажимаем Write и все PIC снова прошит и демка работает как раньше. Да макетки лучше делать с таким же разъемом как на демке.
Назначение выводов:
1 VPP - MCLR (PIC16F628A - выв 4)
2 VDD - вывод питания MK - выв 14
3 VSS - общий МК - 5
4 ICSPDAT - PGD - (PIC16F628A - выв выв 13)
5 ICSPCLK - PGC - (PIC16F628A - 12)
6 AUX при прошивке не используется.
Общая схема подключения ниже.
На втором диске есть MPLAB 8.10, последняя доступная на сайте это 8.30. Если будете ставить, то в конце установки будет вопрос - установить Нi-Tech PICC Lite? (компилятор Си), лучше отказаться, я позже если надо скажу где взять леченый PICC STD, версией PICC PRO настоятельно рекомендую не пользоваться. Пример на Си (MikroC) попробую завтра выложить.
Изображения
Нажмите на изображение для увеличения
Название: pickit.GIF
Просмотров: 360
Размер:	14.5 Кб
ID:	468934  
[Ответ]
petrd 08:14 06.06.2009

Сообщение от Krivoy:
Что теперь с ним делать? Предложение номер раз. Может кто расскажет, как лучше всего доработать макетку для расширения функциональности. Заоодно, неплохо бы кварц на 20 МГц повесить, RS 232 и LCD прикрутить. Было бы супер. Прдложение номер два - это проект для отладочной платы свой на С написать, чтобы можно было бы в качестве шаблона использовать.

Подвесить кварц не проблема, надо только кварц и два конденсатора 22-30 пФ, а площадки под них уже есть, а пока и внутренний генератор пойдет. Все выводы МК разведены, так что подвешивается все о чем Вы говорите на ура. Как доделать демку? Впаять PLS штырьки и к ним уже припаивать внешние элементы (LCD, MAX и т.д.). Только учтите, что PICKit2 для питания устройства может отдать не более 25 мА, если больше, то нужен внешний источник. Пример на Си для демки:
Код:
unsigned int temp_res;
void main() {
ANSEL  = 0x00;              // Configure AN0 pin as analog
TRISA  = 0xFF;              // PORTA is input
ANSELH = 0;                 // Configure other AN pins as digital I/O
TRISD  = 0;                 // PORTD is output
do {
temp_res = ADC_Read(0);      // Get 10-bit results of AD conversion
PORTD = temp_res>>2;         // Send most 8 bits to PORTD
} while(1);
}
Пример использования АЦП - на светодиодах PORTD отображается 8 старших бит АЦП. Крутим переменный резистор, показания меняются в двоичном коде. Весь проект для MikroC во вложении. Открываем проект в MikroC, компилируем. Открываем оболочку PICKit2, импортируем полученный hex, прошиваем и ставим галку в оболочке ON и все должно заработать. Кстати на диске есть 12 уроков для демки на ассемблере для MPLAB и два примера на Си (по одному для Hi-Tech и CCS).
Изображения
[Ответ]
EXPRESS 18:01 08.06.2009
Возник философский вопрос. 1. Контроллер используется как генератор нужной частоты (программный делитель с опорой в виде своего генератора) для тактирования внешних устройств, напривмер выход настроен на генерацию PWM. 2. Ещё в нем крутится сторонняя задача , использующая внешнее прерывание, котороя не имеет отношения к п.1. Так получится такой результат, что во время прерывания у меня возможно сорвется генерация. Или я не прав?

Можно ли сделать прогу из математических операций на пике? Сможет ли такая система строить графику на графическом жк дисплее, используя для вычисления координат математические функции? Придется писать математический аппарат для контроллера. Что в него встроено для таких задач и от чего можно оттолкнуться. [Ответ]
arispa 22:57 08.06.2009

Сообщение от EXPRESS:
Возник философский вопрос. 1. Контроллер используется как генератор нужной частоты (программный делитель с опорой в виде своего генератора) для тактирования внешних устройств, напривмер выход настроен на генерацию PWM. 2. Ещё в нем крутится сторонняя задача , использующая внешнее прерывание, котороя не имеет отношения к п.1. Так получится такой результат, что во время прерывания у меня возможно сорвется генерация. Или я не прав?

ну а кто мешает выставлять единички нолики по таймеру приоритет прерывания которого выше чем для внешнего прерывания

Сообщение от EXPRESS:
Можно ли сделать прогу из математических операций на пике? Сможет ли такая система строить графику на графическом жк дисплее, используя для вычисления координат математические функции? Придется писать математический аппарат для контроллера. Что в него встроено для таких задач и от чего можно оттолкнуться.

математику обычно делают на DSP, там операции сложения, умножнения делаются за 1 такт...
по поводу готовых вещей - на сайте производителя среды разработки можно найти библиотеки...на крайняк сами напишете косинусы синусы)
хотя щас уже почт все и всё на сях пишут ...там то точно есть стандартные функции...даже думать не надо будет.... только ассемблерный код не оптимальный делается...но это уже отдельный случай [Ответ]
petrd 07:30 09.06.2009

Сообщение от EXPRESS:
Можно ли сделать прогу из математических операций на пике? Сможет ли такая система строить графику на графическом жк дисплее, используя для вычисления координат математические функции? Придется писать математический аппарат для контроллера. Что в него встроено для таких задач и от чего можно оттолкнуться.

1. Конечно можно.
2. Именно так и делают. Математические алгоритмы адаптированные для вычислительных систем давно известны, их нужно только адаптировать под конкретный контроллер. Вот один из примеров рисования окружности для графического ЖКИ
Код:
void GLCD_Circle(unsigned int cx, unsigned int cy ,unsigned int radius)
{
int x, y, xchange, ychange, radiusError;
x = radius;
y = 0;
xchange = 1 - 2 * radius;
ychange = 1;
radiusError = 0;
while(x >= y)
{
GLCD_SetPixel(cx+x, cy+y, color);
GLCD_SetPixel(cx-x, cy+y, color);
GLCD_SetPixel(cx-x, cy-y, color);
GLCD_SetPixel(cx+x, cy-y, color);
GLCD_SetPixel(cx+y, cy+x, color);
GLCD_SetPixel(cx-y, cy+x, color);
GLCD_SetPixel(cx-y, cy-x, color);
GLCD_SetPixel(cx+y, cy-x, color);
y++;
radiusError += ychange;
ychange += 2;
if ( 2*radiusError + xchange > 0 )
{
x--;
radiusError += xchange;
xchange += 2;
}
}
}
Как видно никаких возведений в квадрат, самая ресурсоемкая операция - умножение, для таких операций в PIC имеются (не во всех) аппаратные умножители (8х8, 16х16). А там где требуется много вычислений при высокой скорости, как уже сказано выше, применяют МК с ядром DSP. И еще, так как язык Си практически дефакто для разработки сложных встраиваемых систем, то разработчики идут по пути подгонки архитектур и систем команд МК под работу на Си. [Ответ]
petrd 14:21 18.06.2009
Кому интересно что такое Операционная Система Реального Времени (ОСРВ), т.н. RTOS для PIC контроллеров, можно посмотреть, автор OSA Виктор Тимофеев (ник tester) выложил уроки по этой RTOS - http://wiki.pic24.ru/doku.php/osa/tutorial/intro. Обычно трудно пообщаться с разработчиком продукта и задать вопрсы, а тут все наоборот. Большая часть примеров под демку PICKit2. [Ответ]
petrd 09:23 24.06.2009
Первые удачные попытки портировать OSA на MikroC PRO 2.15 http://www.microchip.su/showthread.php?t=6288 [Ответ]
arispa 19:02 24.06.2009
а ОСРВ есть только для PICов? [Ответ]
petrd 07:05 25.06.2009

Сообщение от arispa:
а ОСРВ есть только для PICов?

Ну почему же. Да практически для всех архитектур, наверное, есть. Но так как мои предпочтения направлены на PIC, то про ОСРВ для других МК я знаю мало. Например, вот здесь http://wiki.pic24.ru/doku.php/osa/ar...pk2_osa_lights две ссылки на ОСРВ jacOS и Salvo, в описаниях этих OС указано, что ими поддерживается. [Ответ]
arispa 07:57 25.06.2009
толко вот непонятно...если ей(ОСРВ) пользоваться, то что делать если процедуры ресурсоемкие...и довольно частые?...например обработка дискретизированного сигнала [Ответ]
arispa 08:04 25.06.2009

Сообщение от petrd:
Например, вот здесь http://wiki.pic24.ru/doku.php/osa/ar...pk2_osa_lights две ссылки на ОСРВ jacOS и Salvo, в описаниях этих OС указано, что ими поддерживается.

я посмотрел и ужаснулся - пример про бегущие огни))))...в прерывании таких вещей не пишут....как правило
и потому назрел вопрос чтоли - процедура обработки прерывания равноправна с другими процедурами...или же она все таки выполняется сразу и вся(как вообщемо то должно быть)? [Ответ]
petrd 08:53 25.06.2009

Сообщение от arispa:
я посмотрел и ужаснулся - пример про бегущие огни))))...в прерывании таких вещей не пишут....как правило
и потому назрел вопрос чтоли - процедура обработки прерывания равноправна с другими процедурами...или же она все таки выполняется сразу и вся(как вообщемо то должно быть)?

Нет, прерывания работают также, на то они и прерывания. Вот здесь возможно ответ на Ваш вопрос http://wiki.pic24.ru/doku.php/osa/ar..._о_прерываниях. [Ответ]
arispa 20:35 25.06.2009
спасибо...очень познавательный сайт [Ответ]
RN3QGA 21:21 30.06.2009
Доброго времени суток всем.
Неплохое начало для интересной темы.
Хотел бы спросить, обсуждается только microC для пик?
Дело в том, что в свое время приходилось на Pascal творить (для ПК), во думаю освоить PIC.
Есть MicroPascal Pro для PIC, вот хотелось бы освоить. С хорошая весчь, но Pas роднее.
Кто поможет, буду благодарен.
Для тех кто раздумывает над программатором поддерживаю EXTRA-PIC , я собирал сам все прекрасно работает, пока без проблем.
P.S Может кому нужно будет мои печатки EXTRA-PIC в Layout4.0
Изображения
[Ответ]
sansaR 22:26 30.06.2009

Сообщение от RN3QGA:
Доброго времени суток всем.
Неплохое начало для интересной темы.
Хотел бы спросить, обсуждается только microC для пик?
Дело в том, что в свое время приходилось на Pascal творить (для ПК), во думаю освоить PIC.
Есть MicroPascal Pro для PIC, вот хотелось бы освоить. С хорошая весчь, но Pas роднее.
Кто поможет, буду благодарен.
Для тех кто раздумывает над программатором поддерживаю EXTRA-PIC , я собирал сам все прекрасно работает, пока без проблем.
P.S Может кому нужно будет мои печатки EXTRA-PIC в Layout4.0


мне паскаль тож ближе ))))) но пики пока только для "hello world!" [Ответ]
petrd 22:54 30.06.2009

Сообщение от RN3QGA:
Хотел бы спросить, обсуждается только microC для пик?
Дело в том, что в свое время приходилось на Pascal творить (для ПК), во думаю освоить PIC.
Есть MicroPascal Pro для PIC, вот хотелось бы освоить. С хорошая весчь, но Pas роднее.
Кто поможет, буду благодарен.

С MikroPascal нет проблем, чем смогу помогу, IDE у Cи и Pascal одинаковые, разве что синтаксис разный, но похожий. Кто знает Pascal, у того и на Си проблем не будет и наоборот. А старт с продуктами от MikroE самый быстрый (мое мнение). Я сам начинал с Delphi еще 3.0.
P.S. Правильно Mikro. [Ответ]
RN3QGA 17:55 01.07.2009
Спасибо petrd, что понимаете меня. Для меня сейчас не важно будет ли это Hello word или что то еще. В данный момент в наличии имею Pic16F84A, Pic12F629 вот с этого и хочу начать.
Сам я больше "железятник", радиолюбитель во всех смыслах со школьной скамьи, полный самоучка. Pascal и Delphi 7.0 осваивал сам для радиолюбительских нужд, на PIc собрано много устройств (частотомеры, измерители емкости и индуктивности, часы, термометры и т.д и т.п) но все это естественно по чьим то схемам и программам. Мне не нужно крутого начала, просто хочется самому научиться программы писать и обязательно сотворить в железе.
Это все я к тому, что бы вы знали кому придется помогать, будут и бестолковые вопросы.

Ну а теперь к телу как говорят.
Не сочтите за лентяя, но хотел бы спросить:
1. Русскоязычный даташит на Pic16F84A и 12F629 есть ли вообще?
2. Хелп на Рус. Micropascal. ?
Где можно взять ссылку или литературу.
Заранее спасибо.
С уважением RN3QGA.

P.S Да, кому нужна схема Extra-PIC, то хороший вариант в журнале Радио №8 за 2007 год стр. 24
У меня именно это вариант собран, только печатки сам разработал (выше # 204) . [Ответ]
petrd 08:18 02.07.2009

Сообщение от RN3QGA:
1. Русскоязычный даташит на Pic16F84A и 12F629 есть ли вообще?

1. Здесь http://www.microchip.ru/lit/?mid=1x0 есть русский DS на PIC12F629(675) и обобщенные переводы по переферии PIC16 (хватит за глаза).
Вот книга Яценкова http://vrtp.ru/index.php?act=lib&COD...e&article=2388, в ней весь PIC16F84A расписан.

Сообщение от RN3QGA:
2. Хелп на Рус. Micropascal. ?

Для mikroP русского хелпа не видел. Для сравнения можете скачать хелп на mikroC, так как много одинакового, то он многое поможет понять путем сравнения http://piclist.ru/pub/mikroC_pic_help_rus.rar. Кстати у Вас MikroPascal или MikroPascal PRO?
Удачи и 73! [Ответ]
RN3QGA 15:17 02.07.2009
Спасибо огромное Petrd, будем изучать.
У меня MicroPascal PRO.
Почитаем, вопросы зададим, по пустякам беспокоить не будем.
73! [Ответ]
Dead PIC 12:57 05.07.2009
Класная тема зачитался,понемногу вникаю по перограмированию,програматор есть начинаю делать отладочную плату. [Ответ]
Страница 7 из 43
< 1234567 891011121317 > Последняя »
Вверх