Отговори на тема  [ 51 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща
Проблем с LCD Ampire AC-162B и PIC16F877A 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение Mne
Syrius-B написа:
Що се мъчиш с тоя глупав 4-битов режим.
Само ядове.
Процесора ти има достатъчно порти - вържи си цялата шина (8 - те бита)

Нищо и няма на 4битова инициализация , защо да хабиш портове и да не си ползваш екстрата и без друго по бързо няма да е :)
Проблема му е в алгоритъма за инициализиране аз му го написах по нагоре а ма той не чете :)
просто да изкопира това горе да си направи време закъсненията да са правилни и това е , при мене работи при това безпроблемно дори онзи FLC руския също е с 4бит и той бачка , бях си направил моя дисплей да бачка преди да го намеря това в нета :)


Нед Окт 29, 2006 9:47 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
Ае хора кой ще се хване да направи едно елементарно HOWTO/manual/tutorial за LCD матрични.

Две , три простички инициализации код на асм, С за PIC, AVR и толкоз.
Румен ще даде на бейзик и готово.

Айде :-)

//много въпроси такива има просто
вкл. и аз, когато за първи път го борех, но грешката ми беше от объркване us = ms (то радост , радост тогава и в бързината не мога да се усетя , че вместо Х ms , правя X us закъснение :-) ).

_________________
един факт :-)
Съжалявам , че исках да помогна ...


Нед Окт 29, 2006 10:17 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
хммм...
чете ли PDF-a на този дисплей?
в него пише (стр. 8):

7 DB0
8 DB1
9 DB2
10 DB3

11 DB4
12 DB5
13 DB6
14 DB7

за инициализация в 4-ботов режим, старшите 4 бита трябва да са 0 (стр. 12)
от което следва, че си вързал неправилно жиците.
сорса не съм го гледал, но закъсненията между командите при инициализация трябва да са много по-големи от дейташита
просто ги направи ограмни и го докарай до работоспособност, после ги настройвай


Нед Окт 29, 2006 12:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Едно генерално и три прости правила:
ГЕНЕРАЛНО:
1. Свържи го правилно.
ТРИТЕ ПРОСТИ:
1. Преди да подадеш команда, прочети дали е готов.
2. Преди да подадеш команда, прочети дали е готов.
3. Преди да подадеш команда, прочети дали е готов. :twisted:


Нед Окт 29, 2006 12:57 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
:D :D :D

И в тоя ред на мисли, почти съм сигурен, че точно оттам идва проблема на тоя LCD. Преди мноого време като палих за пръв път такива LCD-та имах един който така и не изплюваше кога е готов през D7... затова на мястото на
Цитат:
прочети дали е готов. :twisted:

едно закъснение оправи работата


Нед Окт 29, 2006 1:49 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
Та успях да подкарам дисплея в 8 битов режим.
Но нов проблем!!!
На дисплея не излизат символите които му задавам :(
Сигурен съм , че програмата ми е вярна.
ПОМООООООООООЩ :D


Прикачени файлове:
display 1.asm [3.45 KiB]
309 пъти
Нед Окт 29, 2006 3:31 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение !
mash написа:
Та успях да подкарам дисплея в 8 битов режим.
Но нов проблем!!!
На дисплея не излизат символите които му задавам :(
Сигурен съм , че програмата ми е вярна.
ПОМООООООООООЩ :D

Нещо се бъгна сутринта форума тъкмо ти пусках моя вариант за 4 бита :D
Не ти ги извежда правилно защото не ги преобразуваш както трябва, виж моя код помисли малко и си го преработи като за тебе си :)
Проблема ти за 4битово управление е в алгоритъма за инициализиране аз го написах по нагоре а ма кой да чете , обикновенно българите сме се научили първо да пробваме и после да четем :)
Аре влачи стига се мъчи пускам ти целия ми код за инициализация при бачка без проблемно,имай на предвид че това е правено за 16F676, извод RW не се ползва и е на маса ,ползват се PORTC0-4 и са свързани към D4-D8 :


Прикачени файлове:
New Text Document.asm [1.5 KiB]
290 пъти
Нед Окт 29, 2006 4:08 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
mash написа:
Та успях да подкарам дисплея в 8 битов режим.
Но нов проблем!!!
На дисплея не излизат символите които му задавам :(
Сигурен съм , че програмата ми е вярна.
ПОМООООООООООЩ :D


Объркал си някои data крак.

_________________
един факт :-)
Съжалявам , че исках да помогна ...


Нед Окт 29, 2006 4:35 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
the_real_maniac написа:
mash написа:
Та успях да подкарам дисплея в 8 битов режим.
Но нов проблем!!!
На дисплея не излизат символите които му задавам :(
Сигурен съм , че програмата ми е вярна.
ПОМООООООООООЩ :D


Объркал си някои data крак.

невъзможно! проверих ри един по един всичко съответства.


Нед Окт 29, 2006 4:43 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
Та кажете защо не излизат симжолите които изпращам а съвсем други ?
Трябваше да изпише :
main call Init_LCD
send_message
movlw DD_RAM_ADDR1
call Send_command
movlw 'V'
call Send_char
movlw 'L'
call Send_char
movlw 'A'
call Send_char
movlw 'D'
call Send_char
movlw 'O'
call Send_char
movlw ' '
call Send_char
movlw 'S'
call Send_char
movlw 'Y'
call Send_char
movlw 'S'
call Send_char
movlw 'T'
call Send_char
movlw 'E'
call Send_char
movlw 'M'
call Send_char
second_line
movlw DD_RAM_ADDR2
call Send_command
movlw 'V'
call Send_char
movlw 'E'
call Send_char
movlw 'R'
call Send_char
movlw '.'
call Send_char
movlw '1'
call Send_char
movlw '.'
call Send_char
movlw '0'
call Send_char
movlw 'A'
call Send_char


а се изписва :
PHAДI QYQPAI
с празен долен ред ?
а съм задал :
DD_RAM_ADDR1 EQU H'80'
DD_RAM_ADDR2 EQU H'C0'

???? нее ли странно ????
:?: :?: :D


Нед Окт 29, 2006 7:03 pm
Профил ICQ
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
D1 и D2 шината ти стоят в 0 затова така става а защо ти ще кажеш :)
V 01010110
P 01010000
_______||_____ тука
L 01011100
H 01011000
_______||_____ тука
S 01010011
Q 01010001
_______||_____ тука

Първият ред на дисплея почва от адрес 0 а втория от h40


Нед Окт 29, 2006 9:09 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
VSU написа:
D1 и D2 шината ти стоят в 0 затова така става а защо ти ще кажеш :)
V 01010110
P 01010000
_______||_____ тука
L 01011100
H 01011000
_______||_____ тука
S 01010011
Q 01010001
_______||_____ тука

Първият ред на дисплея почва от адрес 0 а втория от h40

Нещо не те разбирам ?
ако обичаш да ми обесниш малко по-подробно
:)


Пон Окт 30, 2006 12:29 am
Профил ICQ
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
Ми какво да ти обеснявам или процесора не установява Д1 и Д2 на данните на дисплея или дисплея ти е с думнали водове на Д1 и Д2

а ина4е ред (1)(1) символ по4ва от адрес 00 втория ред е от адрес 0x40(H"40") ако има 3 ред е от 0x80 4 ред от 0xc0
вземи осцилоскопа и мери може и като си лепил жиците да си ги вързал към маса търси D1 i D2 8 и 9 крак на дисплея но вероятно е нещо от софта ти провери с дебъгера какво зарежда по порта :) ама си корава глава де


Пон Окт 30, 2006 12:45 am
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
VSU написа:
Ми какво да ти обеснявам или процесора не установява Д1 и Д2 на данните на дисплея или дисплея ти е с думнали водове на Д1 и Д2

а ина4е ред (1)(1) символ по4ва от адрес 00 втория ред е от адрес 0x40(H"40") ако има 3 ред е от 0x80 4 ред от 0xc0
вземи осцилоскопа и мери може и като си лепил жиците да си ги вързал към маса търси D1 i D2 8 и 9 крак на дисплея но вероятно е нещо от софта ти провери с дебъгера какво зарежда по порта :) ама си корава глава де

Портовете са изправни, а като проверявам с дебъгера и като превключа порт Б да е в режим аски кодове и излизат същите символи ,които ми излизат на дисплея ?!?!
Как е възможно аз да изпращам буквата 'Д' а да ми излиза символа @????
Така става даже и на дебъгера като симулирам схемата ?!?!?!


Пон Окт 30, 2006 1:08 am
Профил ICQ
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
Абе пич тва дето си го написал верно ли е бе това да не ти е 16F84 :evil:
CBLOCK H'0C' <===== CBLOCK H'20'
Counter
LCD_temp == PIR2 ????????????????????? тука пишеш в момента :)
BF_temp
ENDC

RAM a na 877A почва от 0x20 (H'20') къде пишеш в PIR2 registura
оправи го !!!!!!!!!!!!!!!!!!! и ще ти излезе вече както трябва и после (като тръгне) си го направи пак в 4 бита режим ама
ползвай само порт B порт А си го запази за ADC пробички то няма как да не ти дойде и тва на главата:)


Пон Окт 30, 2006 2:57 am
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 51 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 8 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни