Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
PIC контроллеры. Программаторы и первый проект на PIC |
Программирование микроконтролеров,ремонт аудио/видео/бытовой техники,полезные устройства для дома,телефония, обсуждение статей журнала Радио |
|
Опции темы |
08.01.2011, 20:08 | #751 |
Форумец
Сообщений: 1
Регистрация: 07.01.2011
Возраст: 46
Не в сети |
Добрый день, начал изучать микроконтроллеры 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 мсек } }//~ |
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 там все разжеванно. |
18.01.2011, 16:50 | #757 |
Форумец
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 58
Не в сети |
Я лично не пробовал.. только вот пытаюсь разобраться с этим...
Вот набрел в инете на очень неплохую статейку по этой теме- может кому тоже поможет http://mayak-bit.narod.ru/rs485.html |
20.01.2011, 09:50 | #760 |
Форумец
Сообщений: 82
Регистрация: 13.09.2010
Не в сети |
Пока три розетки и два включателя аля умный дом, т.е по запросу и действию master будет опрашивать slave(если ручное воздействие то отпраляем master),по времени думаю может каждую минуту для уверенности. Потом с айпада буду управлять или соберу какой нить пульт на 433 mhz.
|
27.01.2011, 17:34 | #761 |
Форумец
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 58
Не в сети |
Ну если это для себя домой- то стоит повозиться- интересная задача!!! Если это кому то на продажу или по заказу от фирмы- то с железом возиться смысла большого не вижу- сейчас полно недорогих компактных модульных промышленных контроллеров- там есть одно важное преимущество- железо уже все готово- только написать прогу и отладить
|
03.02.2011, 09:36 | #762 |
Форумец
Сообщений: 17
Регистрация: 03.02.2011
Возраст: 62
Не в сети |
Помогите с изучением программирования на MicroСи для PIC.
Сам ничего не смог найти. Что нужно. Во первых ,никогда , и ни какой язык програмирования не изучал. Как мне представляется. Нужно сначала изучить некоторые команды этого языка. Где изучать этот команды и что они представляют. |
03.02.2011, 11:53 | #763 | |
Форумец
|
Цитата:
1. Книга Шпака - для первого понимания. 2. Книга Керниган и Ритчи - библия на все случаи. Больше не надо. MikroC это не язык, а компилятор, в основе которого язык Си, про особенности смотрим в help-е компилятора. |
|
09.02.2011, 10:32 | #765 |
Форумец
Сообщений: 88
Регистрация: 04.02.2011
Возраст: 45
Не в сети |
В термостате есть 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
Возраст: 45
Не в сети |
Поправил код так:
// преобразование отрицательной температуры 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
Не в сети |
Подскажите плиз, будут ли конфликты программ, если установлены MicroC и MicroPascal...???
Просто в С при использовании функций, связанных с LCD, у меня выкидывает ошибку Цитата:
Пример моего кода..PIC16F886 Код:
Lcd_Config (&PORTС,0,1,2,3,4,5,6); |
|
13.02.2011, 14:37 | #768 | |
Форумец
|
Цитата:
2. Какая версия компилятора? Похоже на то, что Вы код написанный для обычного MikroC пытаетесь откомпилировать в ПРО версии. |
|
15.02.2011, 03:57 | #770 | |
Форумец
Сообщений: 8
Регистрация: 12.02.2011
Возраст: 49
Не в сети |
Цитата:
Подскажите исчо..Как в Си считать входа не по одному(Button...), а по нескольку..Если можно, то на примере..На портА приходит два независимых кода(0-1 и 2-6) и нужно в завистмости от кодов вывести информацию на ЛСД(2х8)..Первая часть(0•1) верхняя строка, вторая(2-6) часть нижняя.. Здесь нуно делать циклический опрос входов, попробовал сделать на примере с кнопкой, но у меня почему при задании цикла в программе выводимое слово моргает, если давать цикл с задержкой, то моргание пропадает на время задержки...Как это можно реализовать..??? |
|
15.02.2011, 12:41 | #772 |
Форумец
Сообщений: 8
Регистрация: 12.02.2011
Возраст: 49
Не в сети |
на А1 и А0 приходит 11, 10, 01 или 00, на А2•А6 приходит другой код от другого устройства(0001, 0010 и т.д).Нуно сделать так, что бы по приходу кодов на ЛСД вывадилась информация на 1ю и 2ю строчку независимо друг от друга, например на а1•а0 пришел код -- вывел одно слово на 1ю строку, поишел другой- другое слово, так же и со входами а2•а6.Знаю, что надо исп-ть case, но как реализовать не пойму.
|
15.02.2011, 18:59 | #773 | |
Форумец
|
Цитата:
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
Не в сети |
|
17.02.2011, 17:54 | #776 |
Форумец
Сообщений: 4
Регистрация: 17.02.2011
Возраст: 52
Не в сети |
Здравствуйте Всем.
Petrd, хочу попросить помощи по устройству, эмулятор ДК2 на PIC 12F675, извините ссылку отправить не могу. как написать прошивку, может образец какой, или хотя бы с чего начать. Сам я не программист!!!!!!!!!! Оборудование есть и есть знакомый который немного понимает в этом. Заранее Благодарен!!!!!!!!!!!! |
18.02.2011, 08:10 | #777 | |
Форумец
|
Цитата:
2. А почему не можете ссылку дать? 3. Ради единственного экземпляра эмулятора без знаний сути вопроса даже начинать не стоит, дешевле купить готовый. 4. Если их надо много и для разных машин, то придется заплатить за разработку, и все равно универсального эмулятора на все случаи жизни врядли получите. |
|
18.02.2011, 20:51 | #779 |
Форумец
|
Это про инжекторный двигатель по нормам токсичности Евро-3.
Тут - http://www.chipsoft.ru/forums/viewto...49e50798f11496 особенно понравилось про полковника и прапорщиков. |
19.02.2011, 11:31 | #780 |
Форумец
Сообщений: 4
Регистрация: 17.02.2011
Возраст: 52
Не в сети |
Здравствуйте!!!!!!!!!!!!!
Попробую напечатать ссылку, т.к. вставленная не отправляется. prolin-auto.ru/catalog/645/detail/3484/ Собрать дешевле и интересней, если нет образца или мыслей, сколько будет стоить ваша прошивка?????????????? Заранее Спасибо!!!!!!!!! |