Проблема С ЖКИ QC 1602a
|
|
ivan_fd |
Дата: Пт, 17.10.2014, 00:02 | Сообщение # 16 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Зашейте для пробы прикрепленный файл.
|
|
|
|
dimmer |
Дата: Пт, 17.10.2014, 00:05 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
29
Замечания:
±
На сайте с 22.11.2013
Статус:
Offline
|
Все получилось) Что я делал не так?
|
|
|
|
ivan_fd |
Дата: Пт, 17.10.2014, 00:08 | Сообщение # 18 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Вам уже советовали подцепить ногу R/W на землю. Поскольку она в вашей макетке сидит на PORTA.3, то нужно было просто подать на ту ногу 0.
|
|
|
|
dimmer |
Дата: Пт, 17.10.2014, 00:15 | Сообщение # 19 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
29
Замечания:
±
На сайте с 22.11.2013
Статус:
Offline
|
Код Device 16F877A
Declare Reminders Off @ CONFIG_REQ = 0 ; Override Compiler's configuration settings Asm- __Config 0x1832 ;FOSC_HS & WDTE_OFF & PWRTE_ON & BOREN_OFF & LVP_OFF & CPD_ON & WRT_HALF & DEBUG_OFF & CP_ON Endasm- Declare Reminders On
Xtal = 10 ADCON1 = %10000111
DelayMS 20
Declare LCD_Type alpha Declare LCD_DTPin PORTD.0 Declare LCD_ENPin PORTA.5 Declare LCD_RSPin PORTA.2 Declare LCD_RWPin PORTA.3 Declare LCD_Lines 2 Declare LCD_Interface 8 Declare LCD_DataUs 50 Declare LCD_CommandUs 2000
PORTA.3 = 0
Cls DelayMS 500 Print At 1,1, "test" DelayMS 500 End
Я все уже перепробовал в разных комбинациях - приведенный вариант не работает.
Чего не хватает?
|
|
|
|
ivan_fd |
Дата: Пт, 17.10.2014, 00:16 | Сообщение # 20 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Код Device = 16F877A
Declare Reminders Off @ CONFIG_REQ = 0 ; Override Compiler's configuration settings Asm- __Config 0x3F32 ;FOSC_HS & WDTE_OFF & PWRTE_ON & BOREN_OFF & LVP_OFF & CPD_OFF & WRT_OFF & DEBUG_OFF & CP_OFF Endasm- Declare Reminders On
;**** End of Fuse Configurator Settings **** ;-------------------------------------------------------------------------------
Xtal = 10
;ADCON1 = %10000111
DelayMS 20 Declare All_Digital = 1
Declare LCD_Type Alpha Declare LCD_DTPin PORTD.0 Declare LCD_ENPin PORTA.5 Declare LCD_RSPin PORTA.2 Declare LCD_Lines 2 Declare LCD_Interface 8 Declare LCD_DataUs 50 Declare LCD_CommandUs 2000
TRISA = 0 PORTA.3 = 0 Cls DelayMS 500 Print At 1,1, "test" DelayMS 500 End
|
|
|
|
dimmer |
Дата: Пт, 17.10.2014, 00:24 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
29
Замечания:
±
На сайте с 22.11.2013
Статус:
Offline
|
TRISA = 0 вот чего не хватало)
Спасибо Вам огромное!!!!!!Добавлено (17.10.2014, 00:24) --------------------------------------------- В сокращенном варианте тоже пашет
Всем еще раз огромное спасибо! Код Device 16F877A
Xtal = 10 ADCON1 = %10000111 DelayMS 20
Declare LCD_Type alpha Declare LCD_DTPin PORTD.0 Declare LCD_ENPin PORTA.5 Declare LCD_RSPin PORTA.2 Declare LCD_Lines 2 Declare LCD_Interface 8 Declare LCD_DataUs 50 Declare LCD_CommandUs 2000 TRISA = 0 PORTA.3 = 0
Cls DelayMS 500 Print At 1,1, "test" DelayMS 500 End
|
|
|
|
ivan_fd |
Дата: Пт, 17.10.2014, 00:28 | Сообщение # 22 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Цитата dimmer ( ) В сокращенном варианте тоже пашет
Конфигурацию контроллера прописывать обязательно !!!!!
|
|
|
|
terrarus |
Дата: Пт, 17.10.2014, 11:40 | Сообщение # 23 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
Если Вы пишете программу в Протоне то прописывать конфигурацию контроллерам не обязательно, достаточно указать тип контроллера. Например: Device = 18F452 ' Остальное компилятор Протона сконфигурирует сам по умолчанию. Xtal = 20 И обязательно указать какие разряды каких портов будут выходами или входами, а входа еще определить как цифровые или аналоговые Например: ADCON1 =%10000000 'Сделать все разряды портов А и Е аналоговыми и включить правое выравнивание результата АЦП TRISA = %11111111 TRISB = %01110111 TRISC = %10000000 ' RC6- TX; RC7- RX; TRISD = %00000000 TRISE = %00000111 PORTD = %00000000
Как я понял, у Вас заморочка была именно в том что вы не определили что нужные разряды порта А должны быть настроен как выходы.
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал
terrarus - Пт, 17.10.2014, 11:43
|
|
|
|
dimmer |
Дата: Пт, 17.10.2014, 21:15 | Сообщение # 24 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
29
Замечания:
±
На сайте с 22.11.2013
Статус:
Offline
|
Не совсем по теме. Подскажите пожалуйста, где можно прочитать теорию с примерами про прерывания и таймерами. Спасибо! Добавлено (17.10.2014, 19:16) --------------------------------------------- А то примеров на форуме много. Но общей теории, что называется с нуля бы Добавлено (17.10.2014, 21:15) --------------------------------------------- Груба говоря, хочу разобраться как вывести на указанный дисплей таймер, который будет себе в фоне вести обратный счет. Как только станет = 0 - выполнить какое-нибудь действие.
|
|
|
|
MiXaS |
Дата: Вс, 19.10.2014, 10:35 | Сообщение # 25 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
а где определение портов? как компилятор узнает, где вход, где выход? я про trisa and trisd Добавлено (19.10.2014, 10:31) --------------------------------------------- также рекомендую перед командой цлс сделать задержку в 500мс, прежде чем слать в него команды отображения Добавлено (19.10.2014, 10:32) --------------------------------------------- чтобы говорить предметно, дайте схему Добавлено (19.10.2014, 10:35) ---------------------------------------------
Цитата dimmer ( ) Груба говоря, хочу разобраться как вывести на указанный дисплей таймер, который будет себе в фоне вести обратный счет. Как только станет = 0 - выполнить какое-нибудь действие у нас на форуме есть статья посвященная этому вопросу
|
|
|
|
dimmer |
Дата: Пн, 20.10.2014, 20:38 | Сообщение # 26 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
29
Замечания:
±
На сайте с 22.11.2013
Статус:
Offline
|
Цитата MiXaS ( ) у нас на форуме есть статья посвященная этому вопросу Прошу прощения, много всего нашел, но там уже не "с нуля" Если можете, дайте пожалуйста ссылочку
|
|
|
|
shaman |
Дата: Пн, 20.10.2014, 23:38 | Сообщение # 27 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Доброй ночи , ну хотя бы вот http://www.picbasic.ru/forum/5-504-1#5670 пост №2
|
|
|
|
dimmer |
Дата: Пн, 20.10.2014, 23:42 | Сообщение # 28 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
29
Замечания:
±
На сайте с 22.11.2013
Статус:
Offline
|
Спасибо, почитаю.
Еще одна проблема возникла с дисплеем
При обратном счете, например от 250 до 0, когда с двух значных чисел переходит на однозначные,
(вместо 9, пишет 90) последний ноль не убирает. не знаю как лечить(
|
|
|
|
shaman |
Дата: Пн, 20.10.2014, 23:44 | Сообщение # 29 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Кусок кода там где выводится Print и т.д покажите мне
|
|
|
|
dimmer |
Дата: Пн, 20.10.2014, 23:49 | Сообщение # 30 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
29
Замечания:
±
На сайте с 22.11.2013
Статус:
Offline
|
a = 250 dis: Print At 1,1, Dec a a = a - 1 If a <=0 Then a = 250 GoTo dis
А по поводу таймеров, я хочу разобраться с работой именно TMR0 и так далее
|
|
|
|