Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » »Радиолюбитель
Программирование микроконтролеров,ремонт аудио/видео/бытовой техники,полезные устройства для дома,телефония, обсуждение статей журнала Радио

Ответ
 
Опции темы
Старый 08.01.2011, 20:08   #751   
Форумец
 
Сообщений: 1
Регистрация: 07.01.2011
Возраст: 46

Dayran вне форума Не в сети
Добрый день, начал изучать микроконтроллеры 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.
  Ответить с цитированием
Старый 11.01.2011, 09:17   #752   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
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 там все разжеванно.
  Ответить с цитированием
Старый 12.01.2011, 14:23   #753   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
petrd, и все остальные куда пропали.Или уже что новое изучаем.
  Ответить с цитированием
Старый 12.01.2011, 17:22   #754   
Registered User
 
Аватар для romchik77
 
Сообщений: 391
Регистрация: 16.11.2008

romchik77 вне форума Не в сети
Азат конечно... (шучу) спасибки ни как от праздников не отойдем
  Ответить с цитированием
Старый 13.01.2011, 07:33   #755   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
  Ответить с цитированием
Старый 18.01.2011, 09:25   #756   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
В MikroC Pro есть библиотека RS485.Кто пробывал впечетления,схемы(какие микросхемы использовали для RS485 max или другие).
  Ответить с цитированием
Старый 18.01.2011, 16:50   #757   
Форумец
 
Аватар для Butik
 
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 57

Butik вне форума Не в сети
Я лично не пробовал.. только вот пытаюсь разобраться с этим...
Вот набрел в инете на очень неплохую статейку по этой теме- может кому тоже поможет
http://mayak-bit.narod.ru/rs485.html
  Ответить с цитированием
Старый 19.01.2011, 09:38   #758   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
Butik, Да я читал эту статью.Просто в MikroC Pro есть библиотека RS485.Вот я и хочу узнать стоит писать, что то самому,или хватит этого.Мне нужно обьединить пять устройств.
  Ответить с цитированием
Старый 19.01.2011, 21:35   #759   
Форумец
 
Аватар для Butik
 
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 57

Butik вне форума Не в сети
Пять каких устройств если не секрет... И насколько они должны синхронно работать?
  Ответить с цитированием
Старый 20.01.2011, 09:50   #760   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
Пока три розетки и два включателя аля умный дом, т.е по запросу и действию master будет опрашивать slave(если ручное воздействие то отпраляем master),по времени думаю может каждую минуту для уверенности. Потом с айпада буду управлять или соберу какой нить пульт на 433 mhz.
  Ответить с цитированием
Старый 27.01.2011, 17:34   #761   
Форумец
 
Аватар для Butik
 
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 57

Butik вне форума Не в сети
Ну если это для себя домой- то стоит повозиться- интересная задача!!! Если это кому то на продажу или по заказу от фирмы- то с железом возиться смысла большого не вижу- сейчас полно недорогих компактных модульных промышленных контроллеров- там есть одно важное преимущество- железо уже все готово- только написать прогу и отладить
  Ответить с цитированием
Старый 03.02.2011, 09:36   #762   
Форумец
 
Сообщений: 17
Регистрация: 03.02.2011
Возраст: 62

SerOver вне форума Не в сети
Помогите с изучением программирования на MicroСи для PIC.
Сам ничего не смог найти. Что нужно.
Во первых ,никогда , и ни какой язык програмирования не изучал.
Как мне представляется.
Нужно сначала изучить некоторые команды этого языка.
Где изучать этот команды и что они представляют.
  Ответить с цитированием
Старый 03.02.2011, 11:53   #763   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от SerOver Посмотреть сообщение
Помогите с изучением программирования на MicroСи для PIC.
Сам ничего не смог найти. Что нужно.
Во первых ,никогда , и ни какой язык програмирования не изучал.
Как мне представляется.
Нужно сначала изучить некоторые команды этого языка.
Где изучать этот команды и что они представляют.
Пройдитесь по этому топику, об этом уже говорили:
1. Книга Шпака - для первого понимания.
2. Книга Керниган и Ритчи - библия на все случаи.
Больше не надо.
MikroC это не язык, а компилятор, в основе которого язык Си, про особенности смотрим в help-е компилятора.
  Ответить с цитированием
Старый 07.02.2011, 13:25   #764   
Форумец
 
Сообщений: 82
Регистрация: 13.09.2010

Азат вне форума Не в сети
SerOver, Главное желание.
  Ответить с цитированием
Старый 09.02.2011, 10:32   #765   
Форумец
 
Сообщений: 88
Регистрация: 04.02.2011
Возраст: 44

Teeen вне форума Не в сети
В термостате есть 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 за эту тему!
  Ответить с цитированием
Старый 09.02.2011, 10:39   #766   
Форумец
 
Сообщений: 88
Регистрация: 04.02.2011
Возраст: 44

Teeen вне форума Не в сети
Поправил код так:
// преобразование отрицательной температуры
if (temp2write & 0x8000) {
//text[0] = '-';
Lcd_Chr(1,6,'-');
temp2write = ~temp2write + 1;
}
else{Lcd_Chr(1,6,' ');}
Может топорно, но работает...
  Ответить с цитированием
Старый 12.02.2011, 12:42   #767   
Форумец
 
Сообщений: 8
Регистрация: 12.02.2011
Возраст: 49

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

Просто в С при использовании функций, связанных с LCD, у меня выкидывает ошибку
Цитата:
Undeclared identifier 'Lcd_Config'
Необъявленный идентификатор 'Lcd_Config'
Тоже самое и с очисткой, и с курсором и т.д.

Пример моего кода..PIC16F886
Код:
Lcd_Config (&PORTС,0,1,2,3,4,5,6);
Или я что неправильно делаю..??
  Ответить с цитированием
Старый 13.02.2011, 14:37   #768   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

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

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

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

Пример моего кода..PIC16F886
Код:
Lcd_Config (&PORTС,0,1,2,3,4,5,6);
Или я что неправильно делаю..??
1. Конфликтов не будет.
2. Какая версия компилятора? Похоже на то, что Вы код написанный для обычного MikroC пытаетесь откомпилировать в ПРО версии.
  Ответить с цитированием
Старый 13.02.2011, 18:17   #769   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Благодаря petrd,я чухнул в сторону МПЛАБ С 18.Вникаю.
  Ответить с цитированием
Старый 15.02.2011, 03:57   #770   
Форумец
 
Сообщений: 8
Регистрация: 12.02.2011
Возраст: 49

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

petrd вне форума Не в сети
Цитата:
Сообщение от Axell_2 Посмотреть сообщение
На портА приходит два независимых кода(0-1 и 2-6)
Это как? Ничего не понятно.
  Ответить с цитированием
Старый 15.02.2011, 12:41   #772   
Форумец
 
Сообщений: 8
Регистрация: 12.02.2011
Возраст: 49

Axell_2 вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Это как? Ничего не понятно.
на А1 и А0 приходит 11, 10, 01 или 00, на А2•А6 приходит другой код от другого устройства(0001, 0010 и т.д).Нуно сделать так, что бы по приходу кодов на ЛСД вывадилась информация на 1ю и 2ю строчку независимо друг от друга, например на а1•а0 пришел код -- вывел одно слово на 1ю строку, поишел другой- другое слово, так же и со входами а2•а6.Знаю, что надо исп-ть case, но как реализовать не пойму.
  Ответить с цитированием
Старый 15.02.2011, 18:59   #773   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от 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 строку.
  Ответить с цитированием
Старый 15.02.2011, 20:22   #774   
Форумец
 
Сообщений: 8
Регистрация: 12.02.2011
Возраст: 49

Axell_2 вне форума Не в сети
Вот и подошли к первому вопросу ..
Цитата:
Сообщение от petrd Посмотреть сообщение
...1. Периодически, например, по таймеру читать порт в переменную...
Извиняюсь, но я уже спрашивал, как читать весь порт или часть, а не побитно..??С помощью какой команды..
  Ответить с цитированием
Старый 15.02.2011, 20:27   #775   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от Axell_2 Посмотреть сообщение
Извиняюсь, но я уже спрашивал, как читать весь порт или часть, а не побитно..??С помощью какой команды..
Код:
unsigned short tmp;
.....
tmp = PORTA;
  Ответить с цитированием
Старый 17.02.2011, 17:54   #776   
Форумец
 
Сообщений: 4
Регистрация: 17.02.2011
Возраст: 51

James_Kuk вне форума Не в сети
Здравствуйте Всем.
Petrd, хочу попросить помощи по устройству, эмулятор ДК2
на PIC 12F675, извините ссылку отправить не могу.

как написать прошивку, может образец какой, или
хотя бы с чего начать. Сам я не программист!!!!!!!!!!
Оборудование есть и есть знакомый который немного понимает в этом.
Заранее Благодарен!!!!!!!!!!!!
  Ответить с цитированием
Старый 18.02.2011, 08:10   #777   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от James_Kuk Посмотреть сообщение
Здравствуйте Всем.
Petrd, хочу попросить помощи по устройству, эмулятор ДК2
на PIC 12F675, извините ссылку отправить не могу.
как написать прошивку, может образец какой, или
хотя бы с чего начать. Сам я не программист!!!!!!!!!!
Оборудование есть и есть знакомый который немного понимает в этом.
Заранее Благодарен!!!!!!!!!!!!
1. А оно того стоит?
2. А почему не можете ссылку дать?
3. Ради единственного экземпляра эмулятора без знаний сути вопроса даже начинать не стоит, дешевле купить готовый.
4. Если их надо много и для разных машин, то придется заплатить за разработку, и все равно универсального эмулятора на все случаи жизни врядли получите.
  Ответить с цитированием
Старый 18.02.2011, 19:39   #778   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Цитата:
Сообщение от James_Kuk Посмотреть сообщение
эмулятор ДК2
Я не понял,про что это?Можно ссылку?
  Ответить с цитированием
Старый 18.02.2011, 20:51   #779   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от VRTP Посмотреть сообщение
Я не понял,про что это?Можно ссылку?
Это про инжекторный двигатель по нормам токсичности Евро-3.
Тут - http://www.chipsoft.ru/forums/viewto...49e50798f11496
особенно понравилось про полковника и прапорщиков.
  Ответить с цитированием
Старый 19.02.2011, 11:31   #780   
Форумец
 
Сообщений: 4
Регистрация: 17.02.2011
Возраст: 51

James_Kuk вне форума Не в сети
Здравствуйте!!!!!!!!!!!!!
Попробую напечатать ссылку, т.к. вставленная не отправляется.
prolin-auto.ru/catalog/645/detail/3484/
Собрать дешевле и интересней, если нет образца или мыслей,
сколько будет стоить ваша прошивка??????????????
Заранее Спасибо!!!!!!!!!
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind