»Радиолюбитель>PIC контроллеры. Программаторы и первый проект на PIC
Krivoy 10:59 25.11.2009
IM1 , не подскажешь как специалист, а нет ли среди 51 дешевых с флешем на борту, чтобы внешнюю память не ставить, не люблю я их из-за этого страшно. Т.е. чтобы был смысл их использовать вместо пиков.
[Ответ]
IM1 09:00 26.11.2009
Krivoy, на вскидку дешевых и не вспомню, я сейчас лишен интернета и подробно отвечу попозже. У Филлипса есть неплохая серия, но она 3-х вольтовая. По большому счету из-за ЕПРОМа и габаритов пришлось работать с АВРами, с TINY в основном, очень нравятся Меги, но таких сложных задач у меня пока нет.
[Ответ]
romchik77 17:21 26.11.2009
Кто подскажет где можно найти даташит на ЖКИ WH1602A-YYH-CTK
[Ответ]
Bard Simpson 19:31 26.11.2009
Лови. lcd.pdf
Вск ЖКИ типа хх1602ххххх программируются одинаково. Это так сказать "Hitachiсовместимые". цоколевка то же одинаковая
Изображения
Обратите внимание-у них разная разводка: 1 ряд и 2 ряда. Так что можно считать цоколевка всетаки одинаковая у разных производителей, но два типа.
Ладно бог с ней с цоколевкой, все равно если что то строишб надо иметь описание на то что у тебя в наличии.
Вопрос вот такой ко все : кто нибудь запускал PIC12F675 с кварцами на 16 и выше МГц? Вчера не получилось у меня, а надо. Кучу кварцев и контроллеров попробовал. Может чего "не вкуриваю".
[Ответ]
petrd 18:53 28.11.2009
Сообщение от Bard Simpson:
кто нибудь запускал PIC12F675 с кварцами на 16 и выше МГц? Вчера не получилось у меня, а надо. Кучу кварцев и контроллеров попробовал. Может чего "не вкуриваю".
Да нет там ничего хитрого, кварц, два конденсатора 22-27 пф и в битах конфигурации установить тип HS и все должно работать.
[Ответ]
Bard Simpson 20:25 28.11.2009
В том то и беда что должно но не работает. 12 мег включается, а выше нет. Может камни такие попались? Так я разные брал.. Какая то засада. Код 100% рабочий, конфигурация проверена.
[Ответ]
petrd 21:07 28.11.2009
Сообщение от Bard Simpson:
В том то и беда что должно но не работает. 12 мег включается, а выше нет. Может камни такие попались? Так я разные брал.. Какая то засада. Код 100% рабочий, конфигурация проверена.
Сообщение от Bard Simpson:
А 12МГц запускается же.
Это смотря что за программа и что у Вас на выходах сидит. А просто светодиодом моргать не пробовали с таким кварцем?
[Ответ]
Bard Simpson 20:49 10.12.2009
Разобрался, блин. Не там искал. Просто когда берешь " заготовки" исходников надо все внимательно просматривать, они универсальные. Конкретно для PIC12F675: если используется внешний кварц, то команды записи константы для внутреннего генератора ОБЯЗАТЕЛЬНО надо исключить. В противном случае команда CALL 3FFFh возвращает на начало программы, т.е. крутится на месте.
Насчет кварца, то что сбило меня с толку: я своим лупиком почему то не вижу на ногах кварца на 16 ничего, а на 12 вижу синусоиду. Причем в Proteus на любом кварце ни чего не видно, хоть на 10, хоть на 16.
[Ответ]
petrd 06:59 11.12.2009
Сообщение от Bard Simpson:
Разобрался, блин. Не там искал. Просто когда берешь " заготовки" исходников надо все внимательно просматривать, они универсальные. Конкретно для PIC12F675: если используется внешний кварц, то команды записи константы для внутреннего генератора ОБЯЗАТЕЛЬНО надо исключить. В противном случае команда CALL 3FFFh возвращает на начало программы, т.е. крутится на месте.
Насчет кварца, то что сбило меня с толку: я своим лупиком почему то не вижу на ногах кварца на 16 ничего, а на 12 вижу синусоиду. Причем в Proteus на любом кварце ни чего не видно, хоть на 10, хоть на 16.
НЕ ОБЯЗАТЕЛЬНО. И без разницы внешний генератор или внутренний. Вот если бы у Вас не была затерта калибровочная константа в МК, то Вы бы и ничего этого не заметили. Если Вы в последнюю ячейку памяти программ запишете 0x3480, то уже ничего и не надо будет исключать. Видимо у Вас игрушечный программатор или Вы сами не обращаете внимание на его предупреждения о проблемах с калибровкой. А смотреть синусоиду на кварце обычным щупом осциллографа бесполезно, т.к. входная емкость щупа может сорвать генерацию.
[Ответ]
RN3QGA 21:14 12.12.2009
Доброго времени. Давненько не был. Время появилось, продолжу пока мигать диодами.
Petrd подскажите , не хочет мигать на p12F629 на GP5 диод:
Сообщение от :
program SvetPIC16F629;
var g,i: byte;
begin
TRISIO := 0;
GPIO := 0x27;
g := 1;
while true do
begin
if g = 8 then g := 1;
GPIO :=g; ;
Delay_ms(50);
g := g shl 1;
GPIO := 0;
end;
end.
Всем привет Я уже около года изучаю PIC но писал на асм и вот решыл перейти на С . Установил компилятор mikroC for PIC 8.2.0.0 попробывал написать простенькую програмку по опросу двух пинов портаА , все вроде работает но нетак ка надо
Вот собствено сие чудо
do {
if (Button(&PORTA, 0, 1, 1))
oldstate = 1;
if (oldstate && Button(&PORTA, 0, 1, 0)) {
++PORTB;
oldstate = 0;
}
} while(1);
}
И ещо может кто подскажет где взять самоучитель по етому компилятору
[Ответ]
petrd 07:35 24.12.2009
Сообщение от Denis124:
Всем привет Я уже около года изучаю PIC но писал на асм и вот решыл перейти на С . Установил компилятор mikroC for PIC 8.2.0.0 попробывал написать простенькую програмку по опросу двух пинов портаА , все вроде работает но нетак ка надо
И ещо может кто подскажет где взять самоучитель по етому компилятору
1. Какой используется PIC?
2. Не используйте конструкции типа ++PORTB (почитайте в этом топике про PORT, LAT и TRIS).
3. Если недавно на Си, то качайте MikroC PRO.
4. Самоучителей по этому компилятору нет, есть сайт mikroe и русские help, учебником может быть любой классический учебник по ANSI C + знание особенностей компилятора и архитектуры PIC.
[Ответ]
Denis124 11:05 24.12.2009
1. Какой используется PIC?
использую PIC16F877A
3. Если недавно на Си, то качайте MikroC PRO.
а , какую версию посоветуете ?
[Ответ]
Все ссылки от производителя, версия полнофункциональная до 2-х Кслов выходного кода, если больше, то наступает "demo limit". Про кряки не спрашивайте, ищите сами, они есть.
[Ответ]
Denis124 10:46 25.12.2009
Здраствуйте petrd . Немоглибы вы обяснить почему неработает пример из хелпа (запуск шым модуля )
Компилитса он без проблем но в протеусе тишына
unsigned short current_duty, old_duty, current_duty1, old_duty1;
void InitMain() {
ANSEL = 0; // Configure AN pins as digital I/O
ANSELH = 0;
PORTA = 255;
TRISA = 255; // configure PORTA pins as input
PORTB = 0; // set PORTB to 0
TRISB = 0; // designate PORTB pins as output
PORTC = 0; // set PORTC to 0
TRISC = 0; // designate PORTC pins as output
PWM1_Init(5000); // Initialize PWM1 module at 5KHz
PWM2_Init(5000); // Initialize PWM2 module at 5KHz
}
void main() {
InitMain();
current_duty = 16; // initial value for current_duty
current_duty1 = 16; // initial value for current_duty1
PWM1_Start(); // start PWM1
PWM2_Start(); // start PWM2
PWM1_Set_Duty(current_duty); // Set current duty for PWM1
PWM2_Set_Duty(current_duty1); // Set current duty for PWM2
while (1) { // endless loop
if (RA0_bit) { // button on RA0 pressed
Delay_ms(40);
current_duty++; // increment current_duty
PWM1_Set_Duty(current_duty);
}
if (RA1_bit) { // button on RA1 pressed
Delay_ms(40);
current_duty--; // decrement current_duty
PWM1_Set_Duty(current_duty);
}
if (RA2_bit) { // button on RA2 pressed
Delay_ms(40);
current_duty1++; // increment current_duty1
PWM2_Set_Duty(current_duty1);
}
if (RA3_bit) { // button on RA3 pressed
Delay_ms(40);
current_duty1--; // decrement current_duty1
PWM2_Set_Duty(current_duty1);
}
Delay_ms(5); // slow down change pace a little
}
}
На асм для такогоже пика все работает , а прога на С нехочет , в чом причина ?
Я думал примеры в хелпе рабочие или там ещо нада чото дописывать ?
Контролер 16F887 , компилятор microC PRO 3.2
И ещо если нетрудно подскажыте где microC PRO 3.2 выставлять биты конфигурацыи ?
[Ответ]
petrd 12:31 25.12.2009
Сообщение от Denis124:
Здраствуйте petrd . Немоглибы вы обяснить почему неработает пример из хелпа (запуск шым модуля )
Компилитса он без проблем но в протеусе тишына
На асм для такогоже пика все работает , а прога на С нехочет , в чом причина ?
Я думал примеры в хелпе рабочие или там ещо нада чото дописывать ?
Контролер 16F887 , компилятор microC PRO 3.2
И ещо если нетрудно подскажыте где microC PRO 3.2 выставлять биты конфигурацыи ?
Этот пример написан для внешнего кварца на 8 МГц.
А в Вашей модели для Протеуса внешний кварц стоит?
Биты конфигурации: Project -> Edit Project.[Ответ]