Большой Воронежский Форум
Страница 26 из 43
« Первая < 1620212223242526 27282930313236 > Последняя »
»Радиолюбитель>PIC контроллеры. Программаторы и первый проект на PIC
Dayran 20:08 08.01.2011
Добрый день, начал изучать микроконтроллеры pic, но так как начинаю я с нуля, то вопросы появились сразу, надеюсь здесь мне помогут. Во первых бы хотел обратиться к petrd, по поводу этой программки:
Код:
unsigned short  j, old_j;
void Init() {
CMCON=7;                // все входы цифровые, компараторы отключены
PORTB = 0;              // установили PORTB в 0
TRISB = 0;              // настроили PORTB на выход
PORTA = 0xff;           // установили PORTA в 1
TRISA = 0xff;           // настроили PORTA на вход
Pwm_Init(5000);         // настроили ШИМ модуль, период ШИМ - 5 кГц
}//
void main() {
Init();
j   = 80;               // начальная инициализация j
old_j  = 0;             // начальная инициализация old_j
Pwm_Start();            // запуск ШИМ
while (1) {             // устроили бесконечный  цикл
if (Button(&PORTA, 0,1,0))   // нажимаем кнопку на RA0
j+=10 ;                    // увеличивается j (яркость больше)
if (Button(&PORTA, 1,1,0))   // нажимаем кнопку на RA1
j-=10 ;                    // уменьшается j (яркость меньше)
if (old_j != j) {        // если было изменение j
Pwm_Change_Duty(j);    // то изменяем параметры ШИМ
old_j = j;             // и сохраняем новое значение
}
Delay_ms(200);        // задержка 200 мсек
}
}//~
конкретно мне непонятно про кнопки, где именно указывается, что это именно RA0 и RA1, и как будет выглядеть то же самое, но например для RA5 или RB6. [Ответ]
Азат 09:17 11.01.2011
Dayran
1.(Button(&PORTA, 0,1,0)) // нажимаем кнопку на RA0
Встроенная функция Button (в переводе на русский кнопка)
PORTA это говорит что порт А,
далее после запятой номер 0.Все просто.

2.А этим ты настраиваешь свои порты что они должны делать т.е вход или выход.По комментариям все понятно.
PORTB = 0; // установили PORTB в 0
TRISB = 0; // настроили PORTB на выход
PORTA = 0xff; // установили PORTA в 1
TRISA = 0xff; // настроили PORTA на вход
Если нет то пост #663 по #665 там все разжеванно. [Ответ]
Азат 14:23 12.01.2011
petrd, и все остальные куда пропали.Или уже что новое изучаем. [Ответ]
romchik77 17:22 12.01.2011
Азат конечно... (шучу) спасибки ни как от праздников не отойдем [Ответ]
Азат 07:33 13.01.2011
[Ответ]
Азат 09:25 18.01.2011
В MikroC Pro есть библиотека RS485.Кто пробывал впечетления,схемы(какие микросхемы использовали для RS485 max или другие). [Ответ]
Butik 16:50 18.01.2011
Я лично не пробовал.. только вот пытаюсь разобраться с этим...
Вот набрел в инете на очень неплохую статейку по этой теме- может кому тоже поможет
http://mayak-bit.narod.ru/rs485.html [Ответ]
Азат 09:38 19.01.2011
Butik, Да я читал эту статью.Просто в MikroC Pro есть библиотека RS485.Вот я и хочу узнать стоит писать, что то самому,или хватит этого.Мне нужно обьединить пять устройств. [Ответ]
Butik 21:35 19.01.2011
Пять каких устройств если не секрет... И насколько они должны синхронно работать? [Ответ]
Азат 09:50 20.01.2011
Пока три розетки и два включателя аля умный дом, т.е по запросу и действию master будет опрашивать slave(если ручное воздействие то отпраляем master),по времени думаю может каждую минуту для уверенности. Потом с айпада буду управлять или соберу какой нить пульт на 433 mhz. [Ответ]
Butik 17:34 27.01.2011
Ну если это для себя домой- то стоит повозиться- интересная задача!!! Если это кому то на продажу или по заказу от фирмы- то с железом возиться смысла большого не вижу- сейчас полно недорогих компактных модульных промышленных контроллеров- там есть одно важное преимущество- железо уже все готово- только написать прогу и отладить [Ответ]
SerOver 09:36 03.02.2011
Помогите с изучением программирования на MicroСи для PIC.
Сам ничего не смог найти. Что нужно.
Во первых ,никогда , и ни какой язык програмирования не изучал.
Как мне представляется.
Нужно сначала изучить некоторые команды этого языка.
Где изучать этот команды и что они представляют. [Ответ]
petrd 11:53 03.02.2011

Сообщение от SerOver:
Помогите с изучением программирования на MicroСи для PIC.
Сам ничего не смог найти. Что нужно.
Во первых ,никогда , и ни какой язык програмирования не изучал.
Как мне представляется.
Нужно сначала изучить некоторые команды этого языка.
Где изучать этот команды и что они представляют.

Пройдитесь по этому топику, об этом уже говорили:
1. Книга Шпака - для первого понимания.
2. Книга Керниган и Ритчи - библия на все случаи.
Больше не надо.
MikroC это не язык, а компилятор, в основе которого язык Си, про особенности смотрим в help-е компилятора. [Ответ]
Азат 13:25 07.02.2011
SerOver, Главное желание. [Ответ]
Teeen 10:32 09.02.2011
В термостате есть 2-е ошибочки (пост №80), первая - не выводится знак "-", из за этого:
if (temp2write & 0x8000) { // преобразование отрицательной температуры
text[0] = '-';
temp2write = ~temp2write + 1;
}
temp_whole = temp2write >> RES_SHIFT ; // извлечение целой части
// преобразование целой части температуры в символы
text[0] = temp_whole/100 + 48; // извлечение сотен

И второе, уставка в 25 градусов будет срабатвать и при t=-25C...
Признаюсь честно, в железе не тестировал, только в "протезе".
Спасибо petrd за эту тему! [Ответ]
Teeen 10:39 09.02.2011
Поправил код так:
// преобразование отрицательной температуры
if (temp2write & 0x8000) {
//text[0] = '-';
Lcd_Chr(1,6,'-');
temp2write = ~temp2write + 1;
}
else{Lcd_Chr(1,6,' ');}
Может топорно, но работает... [Ответ]
Axell_2 12:42 12.02.2011
Подскажите плиз, будут ли конфликты программ, если установлены MicroC и MicroPascal...???

Просто в С при использовании функций, связанных с LCD, у меня выкидывает ошибку

Сообщение от :
Undeclared identifier 'Lcd_Config'
Необъявленный идентификатор 'Lcd_Config'

Тоже самое и с очисткой, и с курсором и т.д.

Пример моего кода..PIC16F886
Код:
Lcd_Config (&PORTС,0,1,2,3,4,5,6);
Или я что неправильно делаю..?? [Ответ]
petrd 14:37 13.02.2011

Сообщение от Axell_2:
Подскажите плиз, будут ли конфликты программ, если установлены MicroC и MicroPascal...???

Просто в С при использовании функций, связанных с LCD, у меня выкидывает ошибку

Тоже самое и с очисткой, и с курсором и т.д.

Пример моего кода..PIC16F886

Код:
Lcd_Config (&PORTС,0,1,2,3,4,5,6);
Или я что неправильно делаю..??

1. Конфликтов не будет.
2. Какая версия компилятора? Похоже на то, что Вы код написанный для обычного MikroC пытаетесь откомпилировать в ПРО версии. [Ответ]
VRTP 18:17 13.02.2011
Благодаря petrd,я чухнул в сторону МПЛАБ С 18.Вникаю. [Ответ]
Axell_2 03:57 15.02.2011

Сообщение от petrd:
1. Конфликтов не будет.
2. Какая версия компилятора? Похоже на то, что Вы код написанный для обычного MikroC пытаетесь откомпилировать в ПРО версии.

Так и было..Разобрался сам..
Подскажите исчо..Как в Си считать входа не по одному(Button...), а по нескольку..Если можно, то на примере..На портА приходит два независимых кода(0-1 и 2-6) и нужно в завистмости от кодов вывести информацию на ЛСД(2х8)..Первая часть(0•1) верхняя строка, вторая(2-6) часть нижняя..
Здесь нуно делать циклический опрос входов, попробовал сделать на примере с кнопкой, но у меня почему при задании цикла в программе выводимое слово моргает, если давать цикл с задержкой, то моргание пропадает на время задержки...Как это можно реализовать..??? [Ответ]
petrd 11:15 15.02.2011

Сообщение от Axell_2:
На портА приходит два независимых кода(0-1 и 2-6)

Это как? Ничего не понятно. [Ответ]
Axell_2 12:41 15.02.2011

Сообщение от petrd:
Это как? Ничего не понятно.

на А1 и А0 приходит 11, 10, 01 или 00, на А2•А6 приходит другой код от другого устройства(0001, 0010 и т.д).Нуно сделать так, что бы по приходу кодов на ЛСД вывадилась информация на 1ю и 2ю строчку независимо друг от друга, например на а1•а0 пришел код -- вывел одно слово на 1ю строку, поишел другой- другое слово, так же и со входами а2•а6.Знаю, что надо исп-ть case, но как реализовать не пойму. [Ответ]
petrd 18:59 15.02.2011

Сообщение от Axell_2:
на А1 и А0 приходит 11, 10, 01 или 00, на А2•А6 приходит другой код от другого устройства(0001, 0010 и т.д).Нуно сделать так, что бы по приходу кодов на ЛСД вывадилась информация на 1ю и 2ю строчку независимо друг от друга, например на а1•а0 пришел код -- вывел одно слово на 1ю строку, поишел другой- другое слово, так же и со входами а2•а6.Знаю, что надо исп-ть case, но как реализовать не пойму.

1. Периодически, например, по таймеру читать порт в переменную.
2. На полученное значение переменной наложить первую маску - 0x03 (для A0-A1), далее switch...case в котором преобразовать и вывести на ЖКИ на 1 строку.
3. На полученное значение переменной наложить вторую маску - 0x7С (для A2-A6), далее switch...case в котором преобразовать и вывести на ЖКИ 2 строку. [Ответ]
Axell_2 20:22 15.02.2011
Вот и подошли к первому вопросу ..

Сообщение от petrd:
...1. Периодически, например, по таймеру читать порт в переменную...

Извиняюсь, но я уже спрашивал, как читать весь порт или часть, а не побитно..??С помощью какой команды..
[Ответ]
petrd 20:27 15.02.2011

Сообщение от Axell_2:
Извиняюсь, но я уже спрашивал, как читать весь порт или часть, а не побитно..??С помощью какой команды..

Код:
unsigned short tmp;
.....
tmp = PORTA;
[Ответ]
James_Kuk 17:54 17.02.2011
Здравствуйте Всем.
Petrd, хочу попросить помощи по устройству, эмулятор ДК2
на PIC 12F675, извините ссылку отправить не могу.

как написать прошивку, может образец какой, или
хотя бы с чего начать. Сам я не программист!!!!!!!!!!
Оборудование есть и есть знакомый который немного понимает в этом.
Заранее Благодарен!!!!!!!!!!!!
[Ответ]
petrd 08:10 18.02.2011

Сообщение от James_Kuk:
Здравствуйте Всем.
Petrd, хочу попросить помощи по устройству, эмулятор ДК2
на PIC 12F675, извините ссылку отправить не могу.
как написать прошивку, может образец какой, или
хотя бы с чего начать. Сам я не программист!!!!!!!!!!
Оборудование есть и есть знакомый который немного понимает в этом.
Заранее Благодарен!!!!!!!!!!!!

1. А оно того стоит?
2. А почему не можете ссылку дать?
3. Ради единственного экземпляра эмулятора без знаний сути вопроса даже начинать не стоит, дешевле купить готовый.
4. Если их надо много и для разных машин, то придется заплатить за разработку, и все равно универсального эмулятора на все случаи жизни врядли получите.
[Ответ]
VRTP 19:39 18.02.2011

Сообщение от James_Kuk:
эмулятор ДК2

Я не понял,про что это?Можно ссылку? [Ответ]
petrd 20:51 18.02.2011

Сообщение от VRTP:
Я не понял,про что это?Можно ссылку?

Это про инжекторный двигатель по нормам токсичности Евро-3.
Тут - http://www.chipsoft.ru/forums/viewto...49e50798f11496
особенно понравилось про полковника и прапорщиков. [Ответ]
James_Kuk 11:31 19.02.2011
Здравствуйте!!!!!!!!!!!!!
Попробую напечатать ссылку, т.к. вставленная не отправляется.
prolin-auto.ru/catalog/645/detail/3484/
Собрать дешевле и интересней, если нет образца или мыслей,
сколько будет стоить ваша прошивка??????????????
Заранее Спасибо!!!!!!!!! [Ответ]
Страница 26 из 43
« Первая < 1620212223242526 27282930313236 > Последняя »
Вверх