Помогите разобраться новичку
|
Anatoliy1000 |
Дата: Пт, 19.02.2021, 18:53 | Сообщение # 421 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
182
Замечания:
±
На сайте с 02.03.2016
Статус:
Offline
|
Подскажите в коде '--------------------------------Настройки подключения ЖКИ---------------------------------- Declare LCD_Type ALPHA ' Тип ЖКИ - буквенно-цифровой Declare LCD_DTPin PORTB.4 ' Порт данных ЖКИ Declare LCD_ENPin PORTB.3 ' Управление линией E Declare LCD_RSPin PORTB.2 ' Управление линией RS Declare LCD_Interface 4 ' 4-х битная разрядность шины данных Declare LCD_CommandUs 2000 ' Задержка перед посылкой команды Declare LCD_DataUs 50 ' Задержка перед посылкой данных Declare LCD_Lines 2 ' Количество строк ЖКИ Declare All_Digital = On ' Сделать все порты цифровыми
пытаюсь подключить порт данных на А,С,D ноги, но через них не отображает ни чего. Предположил, что порт данных не может быть ни каким кроме В? P.S. ПИК 18F252
Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
Сообщение отредактировал
Anatoliy1000 - Пт, 19.02.2021, 18:54
|
|
|
|
|
xvovanx |
Дата: Пт, 19.02.2021, 22:52 | Сообщение # 422 |
Группа:
Модераторы
Ранг:
Помогаю всем
Сообщений:
441
Замечания:
±
На сайте с 02.05.2013
Статус:
Offline
|
Писали на англ.форуме, что с доп.программой можно любые ноги вообще вразнобой заставить работать, сам не пробовал. Подгрузи в свою прогу файл LCD_AnyPin.pbp как в примере.
Сообщение отредактировал
xvovanx - Сб, 20.02.2021, 12:22
|
|
|
|
|
anatol |
Дата: Сб, 20.02.2021, 10:51 | Сообщение # 423 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
624
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Declare LCD_DTPIN PORT.PIN Это объявление определяет порт и выводы, к которым должны быть подключены цепи данных ЖКИ. ЖКИ может быть связан с микроконтроллером посредством 4-разрядной либо полной 8- разрядной шины данных. Если используется 8-разрядный интерфейс, то цепь данных ЖКИ, со всеми её 8-ми разрядами (D0 ... D7), должна быть подключена к одному порту. Если же применяется 4-разрядный интерфейс, то тогда цепь данных ЖКИ, состоящая из четырёх старших разрядов (D4 ... D7), подключается к 4 старшим разрядам одного порта, например: Declare LCD_DTPIN PORTB.4 ' 4-х разрядный интерфейс. Declare LCD_DTPIN PORTB.0 ' 8-ми разрядный интерфейс. . Цепи передачи данных ЖКИ могут быть подключены к любому действительному порту микроконтроллера. В вышеприведенных примерах использование порта PORTB основано только на личном предпочтени автора. Если это объявление не используется в программе, то по умолчанию подразумевается 4-х проводной интерфейс, старшие разряды (D3 ... D7) цепи данных которого, подключаются соответственно к старшим разрядам порта PORTB. Это из русского описания протона, стр.153. Тема http://www.picbasic.ru/forum/5-65-19132-16-1613751780.
|
|
|
|
|
Anatoliy1000 |
Дата: Вс, 21.02.2021, 06:56 | Сообщение # 424 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
182
Замечания:
±
На сайте с 02.03.2016
Статус:
Offline
|
Цитата xvovanx (  ) Писали на англ.форуме Интересный способ. Придется пробовать если по другому не получится. Код там 5км, разбираться долго.
Цитата anatol (  ) использование порта PORTB основанотолько на личном предпочтени автора Вот только по другому пока не получается.
Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
|
|
|
|
|
Anatoliy1000 |
Дата: Вс, 21.02.2021, 07:29 | Сообщение # 425 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
182
Замечания:
±
На сайте с 02.03.2016
Статус:
Offline
|
Если не сложно посмотрите почему на портА не пашет
Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
|
|
|
|
|
anatol |
Дата: Вс, 21.02.2021, 14:44 | Сообщение # 426 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
624
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Declare LCD_DTPin PORTA.3 ' Порт данных ЖКИ Declare LCD_DTPin PORTA.4 ' Порт данных ЖКИ из сообщения выше Если же применяется 4-разрядный интерфейс, то тогда цепь данных ЖКИ, состоящая из четырёх старших разрядов (D4 ... D7), подключается к 4 старшим разрядам одного порта
|
|
|
|
|
ivan_fd |
Дата: Вс, 21.02.2021, 17:11 | Сообщение # 427 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1143
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Anatoliy1000, в файле помощи протона пишет:
Цитата If a 4-bit bus is used, it must be connected to either the bottom 4 or top 4 bits of one port. То есть, при 4-х битном режиме, подключать нужно к четырем нижним, или 4-м верхним пинам порта. Подключите так:
Код Declare LCD_Type ALPHA ' Тип ЖКИ - буквенно-цифровой Declare LCD_DTPin PORTA.0 ' Порт данных ЖКИ Declare LCD_ENPin PORTA.6 ' Управление линией E Declare LCD_RSPin PORTA.5 ' Управление линией RS Declare LCD_Interface 4 ' 4-х битная разрядность шины данных Declare LCD_CommandUs 2000 ' Задержка перед посылкой команды Declare LCD_DataUs 50 ' Задержка перед посылкой данных Declare LCD_Lines 2 ' Количество строк ЖКИ
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
Anatoliy1000 |
Дата: Вс, 21.02.2021, 17:24 | Сообщение # 428 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
182
Замечания:
±
На сайте с 02.03.2016
Статус:
Offline
|
Да, с условием 4 верхних или 4 нижних заработало по последнему примеру. До этого хотел оставить А0 для чистого использования АЦП. Попробую его на незадействованном А4. Хотя сейчас понимаю (смотрю на ДатаЩеет), что для АЦП нужно экран вешать на ноги А4-7, но их там только А6 крайний, поэтому на А3 и вешал)
Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
Сообщение отредактировал
Anatoliy1000 - Вс, 21.02.2021, 17:37
|
|
|
|
|
ivan_fd |
Дата: Вс, 21.02.2021, 17:45 | Сообщение # 429 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1143
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
RA4 не имеет АЦП!!!
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
Anatoliy1000 |
Дата: Ср, 24.02.2021, 08:12 | Сообщение # 430 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
182
Замечания:
±
На сайте с 02.03.2016
Статус:
Offline
|
Уважаемый Иван, а как вы такие красивые скрины делаете? я про края) Добавлено (06.03.2021, 20:23) --------------------------------------------- Подскажите по таймеру. Мигание 1 раз в секунду при 1900 получается, а 10 раз в секунду при 190 нет. Причину понять не могу.
Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
|
|
|
|
|
ivan_fd |
Дата: Сб, 06.03.2021, 23:14 | Сообщение # 431 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1143
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
А Fosc(частота процессора) какая?
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
Anatoliy1000 |
Дата: Вс, 07.03.2021, 07:53 | Сообщение # 432 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
182
Замечания:
±
На сайте с 02.03.2016
Статус:
Offline
|
Простите не подумал, что нужно уточнить нюансы, ВОТ
Добавлено (07.03.2021, 07:55) --------------------------------------------- П.С. слово простите в контексте вежливости (что бы "волки" не накинулись "кусать")
Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
Сообщение отредактировал
Anatoliy1000 - Вс, 07.03.2021, 08:00
|
|
|
|
|
ivan_fd |
Дата: Вс, 07.03.2021, 12:14 | Сообщение # 433 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1143
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Anatoliy1000, у вас не верно настроен таймер. Если по расчетам, то у вас прерывание должно происходить каждые 406мкс. Но у вас в прерывании лишние телодвижения. Такие как вывод на дисплей.... В прерывании нужно делать минимум задач, например только Inc tik. А все основное в теле программы. Посмотрите пример. Я настроил таймер на 50мс. И то есть не большая не точность.
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
Anatoliy1000 |
Дата: Вс, 07.03.2021, 13:23 | Сообщение # 434 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
182
Замечания:
±
На сайте с 02.03.2016
Статус:
Offline
|
Спасибо! Убрал экран из таймера, дело пошло. Но подскажите как вы делайте расчеты начало-конец. Я делал так: 1000 000/предделитель (256)=3900/необходимое количество тиков в секунду(20 например)=195 195 - это от куда идти таймеру (грубо начало). Вроде норм работало. Как делаете вы?
Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
|
|
|
|
|
ivan_fd |
Дата: Вс, 07.03.2021, 15:50 | Сообщение # 435 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1143
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Может я и не научно делаю, но меня устраивает. Например, вот вам нужно 10 раз в секунду. Одна секунда - это 1000мс. 1000мс / 10раз = будет 100мс - нужный период прерывания таймера. 100мс - мы не влезаем в 8-бит таймера. Значит берем 16-бит. 100мс / 1мкс = 100 000 мкс. Нужно предделитель, потому, что 100 000 больше, чем 65536. Берем предделитель 1:2. 100мс / 2мкс = 50 000 мкс 65 536 - 50 000 = 15536 - значение которое записываем в регистры таймера.
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|