Инициализация дисплея lcd 16*2, производитель мэлт помоши PIC 16f877a

Здесь обсуждаем устройства на МК и программы для них
Ответить
Dmitry 1504
Читатель
Читатель
Сообщения: 2
Зарегистрирован: 18 май 2018, 18:18

Инициализация дисплея lcd 16*2, производитель мэлт помоши PIC 16f877a

Сообщение Dmitry 1504 »

Пытаюсь настроить lcd дисплей, прошивку на пик написал в асемблере. При включении дисплей выводит информацию, но почему то через раз думал дребезг контактов питающей кнопки. Дребезг устранил , стало получше, но серавно бывает при включении дисплей не выводит информацию. Помогите пожалуйста.
list p=16F877a
__config 02F05h
Status equ 03h
TrisA equ 05h
TrisB equ 06h
TrisC equ 07h
TrisD equ 08h
TrisE equ 09h
PortA equ 05h
PortB equ 06h
PortC equ 07h
PortD equ 08h
PortE equ 0h
INTCON equ 0Bh
OPTION_REG equ 81h
Adcon0 equ 1Fh
Cr1 equ .5 ;?????????? ???????
Cr2 equ .2
Cr3 equ .255
Cr4 equ .50 ;displey
Cr5 equ .25 ;displey
Cr6 equ .200 ;displey
CBLOCK 0x20
T_ext ;??5 .25
T_int ;??4 .50
T_n ;??6 .200
M_bit ;???????? ??????
M_bit1
Reg_1
Reg_2
ENDC
org 0
goto start
start bsf Status,5
movlw .15
movwf OPTION_REG
movlw .15
movwf TrisB
movlw .0
movwf TrisE
movlw .0
movwf TrisD
bcf Status,5
movlw .0
movwf Adcon0
clrf INTCON
clrf PortD
clrwdt

call pause12

movlw .40
movwf M_bit
call in_port
bcf PortD,0
bcf PortD,1
call zapis
call zapis
call in_port1
call pause3
call zapis
call pause1

movlw .14
movwf M_bit
call in_port
call zapis
call in_port1
call zapis
call pause1

movlw .1
movwf M_bit
call in_port
call zapis
call in_port1
call zapis
call pause2

movlw .6
movwf M_bit
call in_port
call zapis
call in_port1
call zapis
call pause1
;????? ??????
movlw .133
movwf M_bit
call in_port
call zapis
call in_port1
call zapis
call pause1
clrwdt
movlw .168
movwf M_bit
call in_port
bsf PortD,0
bcf PortD,1
call zapis
call in_port1
call zapis
call pause1
movlw .112
movwf M_bit
call in_port
call zapis
call in_port1
call zapis
call pause1
movlw .184
movwf M_bit
call in_port
call zapis
call in_port1
call zapis
call pause1
movlw .179
movwf M_bit
call in_port
call zapis
call in_port1
call zapis
call pause1
movlw .101
movwf M_bit
call in_port
call zapis
call in_port1
call zapis
call pause1
movlw .191
movwf M_bit
call in_port
call zapis
call in_port1
call zapis
call pause1
movlw .158
movwf M_bit
call in_port
call zapis
call in_port1
call zapis
call pause1
clrf PortD
mn clrwdt
goto mn




in_port btfsc M_bit,7
bsf PortD,6
btfss M_bit,7
bcf PortD,6
btfsc M_bit,6
bsf PortD,5
btfss M_bit,6
bcf PortD,5
btfsc M_bit,5
bsf PortD,4
btfss M_bit,5
bcf PortD,4
btfsc M_bit,4
bsf PortD,3
btfss M_bit,4
bcf PortD,3
return
in_port1 btfsc M_bit,3
bsf PortD,6
btfss M_bit,3
bcf PortD,6
btfsc M_bit,2
bsf PortD,5
btfss M_bit,2
bcf PortD,5
btfsc M_bit,1
bsf PortD,4
btfss M_bit,1
bcf PortD,4
btfsc M_bit,0
bsf PortD,3
btfss M_bit,0
bcf PortD,3
return
pause3 movlw Cr6
movwf T_n
cik14 movlw Cr4
movwf T_int
cik15 nop
decfsz T_int,1
goto cik15
decfsz T_n,1
goto cik14
return
zapis bsf PortD,2
nop
nop
bcf PortD,2
return
pause1 movlw Cr4
movwf T_int
cik13 nop
nop
nop
nop
nop
nop
decfsz T_int,1
goto cik13
return
pause2 movlw Cr5
movwf T_ext
cik10 movlw Cr4
movwf T_int
cik9 nop
decfsz T_int,1
goto cik9
decfsz T_ext,1
goto cik10
return

pause12 movlw .224
movwf Reg_2
mn3 movlw .75
movwf Reg_1
mn2 decfsz Reg_1,1
goto mn2
clrwdt
decfsz Reg_2,1
goto mn3
nop
return
pause11 bsf PortD,1
mn1 clrwdt
btfsc PortD,6
goto mn1
bcf PortD,2
return
end


;PortD,0 - A0
;PortD,1 - R/W
;PortD,2 - E
;PortD,3 - DB4
;PortD,4 - DB5
;PortD,5 - DB6
;PortD,6 - DB7
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Инициализация дисплея lcd 16*2, производитель мэлт помоши PIC 16f877a

Сообщение rhf-admin »

Возможно дело вообще не в программе.
Фотка есть, как подключен и запитан дисплей?
С уважением, администрация сайта.
Dmitry 1504
Читатель
Читатель
Сообщения: 2
Зарегистрирован: 18 май 2018, 18:18

Re: Инициализация дисплея lcd 16*2, производитель мэлт помоши PIC 16f877a

Сообщение Dmitry 1504 »

К сожалению нету. Но сразу могу сказать, что собирал на отладочной плате присланной от китайцев! Просто хотелось бы узнать косяков в программе, я не допустил?
Ответить

Вернуться в «Устройства на микроконтроллерах»