Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Проблема с инициализацие PC2004 решена полностью++

Отправлено dshabrov 12 апреля 2007 г. 11:27


В поисках программ инициализации у буржуев набрел на 2 стабильно работающих. Анализ показал, что все задержки, о которых говорится в DS нахрен не нужны. В результате получилось:

;---------------------------------Дpайвеp ЖКИ----------------------------------
;Подпрограмма инициализации драйвера ЖКИ. Выдает команду 30h - 16 - разрядная шина,
;задержка более 4.1мс, снова команда 30h, задержка 100мс, сонва 30h. При этих
;операциях проверка бита готовности BF блокируется. Далее выдается строка
;инициализации с проверкой бита готовности BF. 28h - 4 - разрядная шина данных,
;0ch - выключить курсоры, 6 - разрешить отображение.
initlcd:lcall init ;
lcall init ;
init: push acc ;сохpанить изменяемые pегистpы. Инициализация:
mov dptr,#itab ;загpузить в DPTR адpес стpоки инициализации
init1: mov acc,#0 ;загpузить очеpедной байт
movc acc,@a+dptr ;стpоки инициализации
inc dptr ;увеличить значение указателя адpеса
jz initex ;пpовеpка на конец стpоки
lcall wrcom ;записать очеpедной байт команды
mov acc,#0ffh ;Задержка
djnz acc,$ ;100мкс
ljmp init1 ;цикл записи стpоки инициализации
initex: pop acc ;восстановить изменяемые pегистpы
ret ;

itab db 28h,0ch,6,1,0 ;1 - очистка экpана

Как видно из программы цикл повторяется 3 раза. Можно и 2. Если один раз, то эффекта не будет. Индикатор запускается четко на второй раз. Более того, если в каждый цикл включать упомянутые задержки, то также нихрена не работает. Если задержки только в начале трех циклов, то работает как и без них. В результате я их выкинул полностью.

На все это ушло года три. Опробовал уже более десятка разных изделий, в т.ч. и автомобильный тахометр, где при запуске двигателя с питанием творится черт знает что. На процессоре (2051) никаких супервизоров. Только кондер сброса. Ни одного сбоя инициализации не увидел за 4 месяца.




Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
при вычитании трёх из шести получится:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru