Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

pic16f877 + LCD

Непрочитано 25.12.2005, 23:32  
CoolHammer
Гость
 
Сообщений: n/a
По умолчанию pic16f877 + LCD

Доброго времени суток!
Вот такой казус у меня с pic16f877:
К нему прилеплены кнопки, лампочки, кварец 4MHz и ЖКД.
Написал прогу на микропаскале - работает отлично. Кнопки нажимаются, ЖКД показывает все, что требуется, ламочки горят.
При последующих наворотах проги не уложился в шароварное ограничение размера выходного файла. Перешел на асм ). В асме написал все то же самое (даже лучше). Оттестил все это в протеусе и залил.
На ЖКД кроме тестовых блоков на первой строке ничего. Лампочки горят исправно. Во всяком случае, я могу ими управлять. Думаю, что не проходит инициализация ЖКД. Набор процедур я утянул отсюда: http://ouwehand.net/~peter/lcd/lcd2.shtml. Ничего там не менял.
На всякий случай, еще раз скажу, что обе проги, на паскале и асме, в протеусе на одной и той же схеме работают. Чиво делать? как дебажить?
Привожу кусок кода с инициализацией портов и ЖКД:
ЗЫ: В битах конфигурации - HS, а все остальное - выкл.
Код:
;===============================
#DEFINE	BANK0	BCF	STATUS, RP0
#DEFINE	BANK1	BSF	STATUS,	RP0
;===============================
	ORG	0
	GOTO	BEGIN

	INCLUDE	"TEXT.INC"
;============================================
BEGIN
	CALL	INITPORTS			;
RESET	
	CALL	LCD_GREET			;
	GOTO	BUTTONS				;
;============================================
INITPORTS
	BANK1					;
	MOVLW	0xF0			;
	MOVWF	TRISD			;
	MOVLW	0xC0			;
	MOVWF	TRISC			;
	BANK0				;
	CLRF	COUNT			;
	CALL	LCDINIT			; Init Display
	MOVLW	.17			; lock and light up red lamp
	MOVWF	PORTC			;
	CLRF	PORT			;
	CLRF	FLAG			;	
	CLRF	MSEC
	CLRF	SEC
	CLRF	PIR1
	CLRF	PIR2
	CLRF	TMR1H
	CLRF	TMR1L
	BANKSEL	PIE1
	CLRF	PIE1
	CLRF	PIE2
	CLRF	STATUS
	RETURN
;============================================
Реклама:
 
Непрочитано 27.12.2005, 21:10  
CoolHammer
Гость
 
Сообщений: n/a
По умолчанию

Ладно, сформулируем вопрос по другому. Зависание происходит в этом куске библиотеки ЖКД:
Код:
LCDBUSY
    BSF         STATUS,RP0          ; Select Register page 1
    MOVLW       0x0FF               ; Set PORTB for input
    MOVWF       LCD_DATA_TRIS
    BCF         STATUS, RP0         ; Select Register page 0
    BCF         LCD_CTRL, LCD_RS    ; Set LCD for command mode
    BSF         LCD_CTRL, LCD_RW    ; Setup to read busy flag
    BSF         LCD_CTRL, LCD_E     ; LCD E-line High
    MOVF        LCD_DATA, W         ; Read busy flag + DDram address
    BCF         LCD_CTRL, LCD_E     ; LCD E-line Low
    ANDLW       0x80                ; Check Busy flag, High = Busy
    BTFSS       STATUS, Z
    GOTO        LCDBUSY
LCDNOTBUSY
    BCF         LCD_CTRL, LCD_RW
    BSF         STATUS, RP0         ; Select Register page 1
    MOVLW       0x000
    MOVWF       LCD_DATA_TRIS       ; Set PORTB for output
    BCF         STATUS, RP0         ; Select Register page 0
    RETURN
Т.е. на седьмую ножку порта B ничего не приходит. Какие могут быть предложения? Можно, конечно поставить задержку, вместо опроса, но какое тогда время задержки выбрать?
 
Непрочитано 31.12.2005, 16:13  
xelos
Прописка
 
Регистрация: 27.08.2004
Сообщений: 98
Сказал спасибо: 0
Сказали Спасибо 19 раз(а) в 18 сообщении(ях)
xelos на пути к лучшему
По умолчанию

эээ, а инициализация экрана?
xelos вне форума  
Непрочитано 31.12.2005, 23:19  
Гость
 
Сообщений: n/a
По умолчанию

Да, я уже фкурил )
По причине хренового питания у меня не происходил хардверный ресет ) Если я правильно понял все прочитанные мной мануалы ) Теперь фсе пучком. Только после первой инициализации фключается только первая строка, а после второй - обе...
 
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Микроконтроллер PIC16F877-04/P(Нужна помощь.) mitrovka Микроконтроллеры, АЦП, память и т.д 2 03.03.2009 01:56
Взаимодействие USART МК PIC16F877 и модема Ksenia_85 Микроконтроллеры, АЦП, память и т.д 4 25.05.2008 11:20
PIC16F877=877a-? greesha_demchuk Микроконтроллеры, АЦП, память и т.д 1 06.12.2006 18:33
PIC16F877 vasseff Коллекция глюков 0 07.08.2006 17:28
проблема с инициализацией pic16f877 xelos Микроконтроллеры, АЦП, память и т.д 6 29.08.2004 22:20


Часовой пояс GMT +4, время: 02:48.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.