Нужна помощь по подключению LCD и клавиатуры к PIC16F877
Re: Нужна помощь по подключению LCD и клавиатуры к PIC16F877
Разобрался. Просмотрел всю программу в симуляторе мплаб пошагово. Оказалось что не происходила даже инициализация. Вся путаница в старших и младших полубайтах.
- Вложения
-
- код_3.docx
- (17.2 КБ) 572 скачивания
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: Нужна помощь по подключению LCD и клавиатуры к PIC16F877
Да, да, да.
С уважением, администрация сайта.
Re: Нужна помощь по подключению LCD и клавиатуры к PIC16F877
Дело в том, что при 4х битном интерфейсе число 28, например, необходимо передать не как 2 (старший полубайт) и 8 (младший), а как 0010 0000 - так передаем двойку и 1000 000 - так восьмерку. Если записываем просто 2, то в десятичной системе это выглядит как 10, следовательно система сама дописывает впереди еще шесть нулей. Получаем 0000 0010, и прога инициализации воспринимает только старший полубайт - то есть 0000 и никакой инициализации не происходит. Тоже самое и с восьмеркой.
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: Нужна помощь по подключению LCD и клавиатуры к PIC16F877
Не обязательно делать сдвиг на 4 бита влево, можно просто переделать процедуру, которая выставляет уровни на ногах, таким образом чтобы она выставляла нужные ноги в зависимости не от старшего, а от младшего полубайта.
С уважением, администрация сайта.