помогите с pic16f877
Re: помогите с pic16f877
K@T спасибо получил.
- Реклама
- К@Т
- Говорящий с текстолитом
- Сообщения: 1573
- Зарегистрирован: Сб окт 09, 2010 12:33:48
- Откуда: Незалежная
Re: помогите с pic16f877
Пжалстаgiorgi писал(а):K@T спасибо получил.
У кошки 4 ноги и хвост-плюс,минус,вход,выход,а хвост-земля.....Надо переходить с китайской бурды на канифоль.......[url=http://infobar.hsdn.org/][img]http://static.hsdn.org/infobar/350x60.gif[/img][/url]
Re: помогите с pic16f877
Тема моя заглохла. Хорошо дайте пример на C++ опросить кнопки подключеные к порту B биты 0 1 2.
Я делаю так.
И это не работает!!! Поправьте пожалуйста код что бы это работало. Я уже соображу по аналогии. Все что до этого советовали не работает. Какая то мелочь зараза.
Кнопки подключены к 16f887 контакты 33, 34, 35 (RB0, RB1, RB2). Кнопки подтянуты резисторами на +5 воьт, при замыкании дают 0 на выводах процессора.
Я уже не спрашиваю про динамический опрос клавиатурной матрицы, это на потом оставлю. Есть еще куча другого в чем я легко могу разобраться. Но вот это меня убивает.
Получается только что на RB0 и RB2 присутствует 1 а на RB1 всегда 0, как такое может быть он же подтянут тоже на +5.
Я делаю так.
И это не работает!!! Поправьте пожалуйста код что бы это работало. Я уже соображу по аналогии. Все что до этого советовали не работает. Какая то мелочь зараза.
Кнопки подключены к 16f887 контакты 33, 34, 35 (RB0, RB1, RB2). Кнопки подтянуты резисторами на +5 воьт, при замыкании дают 0 на выводах процессора.
Я уже не спрашиваю про динамический опрос клавиатурной матрицы, это на потом оставлю. Есть еще куча другого в чем я легко могу разобраться. Но вот это меня убивает.
Получается только что на RB0 и RB2 присутствует 1 а на RB1 всегда 0, как такое может быть он же подтянут тоже на +5.
Код: Выделить всё
#include <pic.h> // Include header file for MCU
#include <lcd.h>
#define _XTAL_FREQ 20000000 // Define Frequency 20.0 MHz for function __delay_ms
__CONFIG(HS & WDTDIS & LVPDIS); // Config. High speed clock,Disable watchdog and Disable LVP
void Delay_ms(unsigned int tick)
{
while(tick--) // Loop counter delay time
{
__delay_ms(1); // Delay 1 ms
}
}
void main()
{
lcd_init();
TRISB = 0;
PORTB = 0b11111111;
ANS8 = 0;
while(1)
{
if(RB0==0)
{
lcd_puts(0x80,"Нажали кнопку 1 ");
Delay_ms(200);
}
if(RB1==0)
{
lcd_puts(0x80,"Нажали кнопку 2");
Delay_ms(200);
}
if(RB2==0)
{
lcd_puts(0x80,"Нажали кнопку 3");
Delay_ms(200);
}
}
}
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: помогите с pic16f877
TRISB=0xFF; // INPUT
ANSELH=0;
прекратите обзывать С компилятор как С++.
Это разные вещи.
ANSELH=0;
прекратите обзывать С компилятор как С++.
Это разные вещи.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: помогите с pic16f877
Я надеюсь Вы не на железе так над контроллером издеваетесь ?Код: Выделить всё
TRISB = 0; PORTB = 0b11111111;
Направления портов выберите правильное!
PS: Не помешало бы Вам ДатаШит покурить немного. Тем более, что он есть на Русском и всё разжовано до некуда...
- Реклама
Re: помогите с pic16f877
Конечно на железе а на чем же еще.Аlex писал(а):Я надеюсь Вы не на железе так над контроллером издеваетесь ?Код: Выделить всё
TRISB = 0; PORTB = 0b11111111;![]()
Направления портов выберите правильное!
PS: Не помешало бы Вам ДатаШит покурить немного. Тем более, что он есть на Русском и всё разжовано до некуда...
А где его на русском нарыть? Я был бы рад почитать. Конечно начинаю во что то врубаться медленно и это радует.
Re: помогите с pic16f877
А ясно, не называю больше.urry писал(а):TRISB=0xFF; // INPUT
ANSELH=0;
прекратите обзывать С компилятор как С++.
Это разные вещи.
Чегой то я вообще не понимаю, работаю с PORTB, но подключив ANSELH = 0 все заработало как надо. Вроде как ANSELH предназначен для PORTA что бы его в цифровой или аналоговый переключать, или я быстрее всего что то не то понимаю. Но работает теперь то что я уже 3-й день сделать не мог!!! Спасибо огромное.
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: помогите с pic16f877
ну нельзя же настолько себя не любить.
887 - это продолжение 877, описание которого на русском есть здесь http://www.microchip.ru/lit/?mid=1x0
Дальше - качаем описание 887 с сайта микрочипа и смотрим, какие регистры добавились и за что отвечают - их там всего десяток новых. И видим, что для перевода на аналог-цифра для порта А ANSEL а для порта В ANSELH
887 - это продолжение 877, описание которого на русском есть здесь http://www.microchip.ru/lit/?mid=1x0
Дальше - качаем описание 887 с сайта микрочипа и смотрим, какие регистры добавились и за что отвечают - их там всего десяток новых. И видим, что для перевода на аналог-цифра для порта А ANSEL а для порта В ANSELH
Re: помогите с pic16f877
Вот спасибо, классная информация.
Re: помогите с pic16f877
Привет всем
У меня ко всем такой вопрос.
Сегодня впервые включил pic16f628 .Написал элементарную прогу.
LDmicro0.1
MICRO=Microchip PIC16F628 18-PDIP or 18-SOIC
CYCLE=10000
CRYSTAL=20000000
BAUD=2400
IO LIST
X1 at 2
Y3 at 1
END
PROGRAM
RUNG
CONTACTS X1 0
COIL Y3 0 0 0
END
т.е.если на второй ножке подам единицу на первой тоже сядет единица.
Т.о.работает (светодиод загорается) ,а если сделаю наоборот,т.е. для входа использую первую ножку .а для выхода вторую не работает. Там имеет значение какой ножке присвоешь вход ,а какой выход?
Может литературу какую небудь подскажете.
А то в даташитах такая терминология ,что для меня пока темный лес.
У меня ко всем такой вопрос.
Сегодня впервые включил pic16f628 .Написал элементарную прогу.
LDmicro0.1
MICRO=Microchip PIC16F628 18-PDIP or 18-SOIC
CYCLE=10000
CRYSTAL=20000000
BAUD=2400
IO LIST
X1 at 2
Y3 at 1
END
PROGRAM
RUNG
CONTACTS X1 0
COIL Y3 0 0 0
END
т.е.если на второй ножке подам единицу на первой тоже сядет единица.
Т.о.работает (светодиод загорается) ,а если сделаю наоборот,т.е. для входа использую первую ножку .а для выхода вторую не работает. Там имеет значение какой ножке присвоешь вход ,а какой выход?
Может литературу какую небудь подскажете.
А то в даташитах такая терминология ,что для меня пока темный лес.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: помогите с pic16f877
Для Вас Русский язык - тёмный лес ?А то в даташитах такая терминология ,что для меня пока темный лес.
В даташитах про
написано более чем доходчиво...имеет значение какой ножке присвоешь вход ,а какой выход
Это называется - "Мне лень читать и вникать. Расскажите мне всё, разжуйте и в рот положите...".
- Dmitry Dubrovenko
- Поставщик валерьянки для Кота
- Сообщения: 2360
- Зарегистрирован: Вс янв 09, 2011 16:51:39
- Откуда: Санкт-Ленинград
- Контактная информация:
Re: помогите с pic16f877
Скоро уже про чайники и телевизоры писАть будем.giorgi писал(а):Сегодня впервые включил pic16f628
И куда только модераторы смотрят...
ICQ нет, и, в ближайшее время, не будет.
Re: помогите с pic16f877
спасибо за помащь.


