Большой Воронежский Форум
Страница 14 из 43
« Первая < 4891011121314 15161718192024 > Последняя »
»Радиолюбитель>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совместимые". цоколевка то же одинаковая
Изображения
[Ответ]
sansaR 01:09 27.11.2009
Bard Simpson, а вот про цоколевку не надо.......полярность 1 и 2 вывода различна в зависимости от буквы после 1602 [Ответ]
Sedr 01:16 27.11.2009
romchik77
Проверить маркировку можно по буквам ... Пара даташитов из этой серии.
Изображения
[Ответ]
Bard Simpson 18:20 27.11.2009

Сообщение от sansaR:
Bard Simpson, а вот про цоколевку не надо.......полярность 1 и 2 вывода различна в зависимости от буквы после 1602

Значит мне такие на попадались, но буду иметь ввиду.
Хотя если верить выложенным в предыдушем посте даташитам ........ [Ответ]
sansaR 20:31 27.11.2009

Сообщение от Bard Simpson:
Значит мне такие на попадались, но буду иметь ввиду.
Хотя если верить выложенным в предыдушем посте даташитам ........


к примеру
Изображения
[Ответ]
Bard Simpson 08:44 28.11.2009
Обратите внимание-у них разная разводка: 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 08:51 29.11.2009
5 вольт. Вот за напругу я и не подумал. Может попробовать понизить? [Ответ]
petrd 07:05 30.11.2009

Сообщение от Bard Simpson:
5 вольт. Вот за напругу я и не подумал. Может попробовать понизить?

Нет, понижать не надо, из DS видно, что на 20 МГц может работать только при 5 в.
Думаю, что проблема в программе. [Ответ]
Bard Simpson 10:35 30.11.2009
А 12МГц запускается же. [Ответ]
petrd 06:56 01.12.2009

Сообщение от 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.

[Ответ]
Bard Simpson 21:41 12.12.2009
Программатор действительно "игрушечный" - JDM.
Рetrd спасибо за подсказку, попробую поменять константу. [Ответ]
petrd 21:49 12.12.2009
RN3QGA
А если вместо
Код:
if g = 8 then g := 1;
написать
Код:
if g = 0x40 then g := 1;
???
Такие вещи замечательно проверяются в симуляторе. [Ответ]
RN3QGA 16:55 13.12.2009
А, че то я тормознул. Спасибо. [Ответ]
Denis124 23:32 23.12.2009
Всем привет Я уже около года изучаю PIC но писал на асм и вот решыл перейти на С . Установил компилятор mikroC for PIC 8.2.0.0 попробывал написать простенькую програмку по опросу двух пинов портаА , все вроде работает но нетак ка надо
Вот собствено сие чудо


void main(){
char oldstate = 0;
TRISB = 0; // PORTB ВЫХОД
PORTB = 0; // ОБНУЛИЛИ PORTВ
ADCON1 = 6; // ВСЕ ВХОДЫ ЦЫФРОВЫЕ
TRISA = 255; // PORTA ВХОД

do {
if (Button(&PORTA, 0, 1, 1))
oldstate = 1;
if (oldstate && Button(&PORTA, 0, 1, 0)) {
++PORTB;
oldstate = 0;
}
if (Button(&PORTA, 1, 1, 1))
oldstate = 1;
if (oldstate && Button(&PORTA, 1, 1, 0)) {
--PORTB;
oldstate = 0;
}
} while(1);
}

проблема в том што при нажатии на кнопку допустим RA0 инкремент происходит постоянно , а нада штобы один раз как тут

void main(){
char oldstate = 0;
TRISB = 0; // PORTB ВЫХОД
PORTB = 0; // ОБНУЛИЛИ PORTВ
ADCON1 = 6; // ВСЕ ВХОДЫ ЦЫФРОВЫЕ
TRISA = 255; // PORTA ВХОД

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.
а , какую версию посоветуете ? [Ответ]
petrd 11:15 24.12.2009

Сообщение от Denis124:
какую версию посоветуете ?

последнюю 3.20 http://www.mikroe.com/en/compilers/mikroc/pro/pic/ и если будет нужно, то патч к ней переводящий до 3.21 http://www.mikroe.com/forum/viewtopi...33d75bb70aac76 [Ответ]
Denis124 11:24 24.12.2009
http://www.mikroe.com/en/compilers/mikroc/pro/pic/
а,ето полноценная версия или тоже ести ограничения ? [Ответ]
petrd 11:38 24.12.2009

Сообщение от Denis124:
http://www.mikroe.com/en/compilers/mikroc/pro/pic/
а,ето полноценная версия или тоже ести ограничения ?

Все ссылки от производителя, версия полнофункциональная до 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. [Ответ]
Страница 14 из 43
« Первая < 4891011121314 15161718192024 > Последняя »
Вверх