Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » PIC16F877A и WH0802A
PIC16F877A и WH0802A
NimdaMan Дата: Чт, 19.08.2010, 23:31  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 2
Репутация: 0   ±
Замечания:   ±
На сайте с 19.08.2010

Статус: Offline

Индикатор рабочий. Понять не могу в чем проблема в проге. Помогите плиз.

@ Device pic16F877A, HS_OSC, BOD_OFF, PWRT_ON, WDT_OFF, PROTECT_OFF
define osc 8
define LCD_DREG PORTD
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTD
DEFINE LСD_RSBIT 7
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 6
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 1000
DEFINE LCD_DATAUS 50

led1 var porta.1
pause 1000
LcDOUT $fe,1

nachalo:
high led1
LcDOUT $fe, 2,"test"
pause 250
low led1
pause 250
goto nachalo

Светиться только верхняя строчка.

Если ставить DEFINE LCD_DBIT 4 то после инициализации вообще ничего не выводит.

И еще нужно ли подтянуть шину данных на плюс? Простите, я новичек совсем.

Сообщение отредактировал NimdaMan - Пт, 20.08.2010, 00:01
ЯНДЕКС Дата: 19.08.2010
Matrix252005 Дата: Пт, 20.08.2010, 10:14  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 675
Репутация: 20   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Приятного времени суток. NimdaMan, так и должно быть. "LСDOUT $fe, 2,"test" " - выводит в строке надпись "test". Для того, чтоб он вывел на второй строке, Вам нужно вставить строку: LСDOUT $fe, $C0,"test 2"

Команда Операция
$FE, 1 Очистить дисплей
$FE, 2 Вернутся домой (идти на первую строку и первое знакоместо)
$FE, $C0 Переместить курсор на начало второй строки

Комент: "Если ставить DEFINE LCD_DBIT 4 то после инициализации вообще ничего не выводит" - И не будет, по тому что, тогда, Вам нужно будет изменить подключение к индикатору с PORTD.0 на PORTD.4. Т.Е. PORTD.4 = D4 индикатора и т.д.

Мой Вам совет, скачайте книгу: автор - В.Н. Хилинский "Учимся программировать микроконтроллеры pic"


THE TRUTH IS OUT THERE.

С уважением, Николай.
NimdaMan Дата: Пт, 20.08.2010, 14:02  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 2
Репутация: 0   ±
Замечания:   ±
На сайте с 19.08.2010

Статус: Offline

Matrix252005, Собственно, из этой книги и реализую пример.
LСDOUT $fe, 2,"test" Должен писать в первом знакоместе.

Подключение проверил и перепроверил.

Добавлено (20.08.2010, 14.02.16)
---------------------------------------------
Тупо перекинул на порт С - заработало.

Сообщение отредактировал NimdaMan - Пт, 20.08.2010, 10:42
Форум Picbasic.ru » Программирование МК » PicBasicPro » PIC16F877A и WH0802A
Страница 1 из 11
Поиск: