| Автор |
Съобщение |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Mne
Нищо и няма на 4битова инициализация , защо да хабиш портове и да не си ползваш екстрата и без друго по бързо няма да е
Проблема му е в алгоритъма за инициализиране аз му го написах по нагоре а ма той не чете
просто да изкопира това горе да си направи време закъсненията да са правилни и това е , при мене работи при това безпроблемно дори онзи FLC руския също е с 4бит и той бачка , бях си направил моя дисплей да бачка преди да го намеря това в нета 
|
| Нед Окт 29, 2006 9:47 am |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
Ае хора кой ще се хване да направи едно елементарно HOWTO/manual/tutorial за LCD матрични.
Две , три простички инициализации код на асм, С за PIC, AVR и толкоз.
Румен ще даде на бейзик и готово.
Айде
//много въпроси такива има просто
вкл. и аз, когато за първи път го борех, но грешката ми беше от объркване us = ms (то радост , радост тогава и в бързината не мога да се усетя , че вместо Х ms , правя X us закъснение  ).
|
| Нед Окт 29, 2006 10:17 am |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
хммм...
чете ли PDF-a на този дисплей?
в него пише (стр.  :
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 |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
Едно генерално и три прости правила:
ГЕНЕРАЛНО:
1. Свържи го правилно.
ТРИТЕ ПРОСТИ:
1. Преди да подадеш команда, прочети дали е готов.
2. Преди да подадеш команда, прочети дали е готов.
3. Преди да подадеш команда, прочети дали е готов. 
|
| Нед Окт 29, 2006 12:57 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
И в тоя ред на мисли, почти съм сигурен, че точно оттам идва проблема на тоя LCD. Преди мноого време като палих за пръв път такива LCD-та имах един който така и не изплюваше кога е готов през D7... затова на мястото на
едно закъснение оправи работата
|
| Нед Окт 29, 2006 1:49 pm |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 27, 2006 6:23 pm Мнения: 162 Местоположение: Севлиево
|
Та успях да подкарам дисплея в 8 битов режим.
Но нов проблем!!!
На дисплея не излизат символите които му задавам
Сигурен съм , че програмата ми е вярна.
ПОМООООООООООЩ 
|
| Нед Окт 29, 2006 3:31 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 !
Нещо се бъгна сутринта форума тъкмо ти пусках моя вариант за 4 бита
Не ти ги извежда правилно защото не ги преобразуваш както трябва, виж моя код помисли малко и си го преработи като за тебе си
Проблема ти за 4битово управление е в алгоритъма за инициализиране аз го написах по нагоре а ма кой да чете , обикновенно българите сме се научили първо да пробваме и после да четем
Аре влачи стига се мъчи пускам ти целия ми код за инициализация при бачка без проблемно,имай на предвид че това е правено за 16F676, извод RW не се ползва и е на маса ,ползват се PORTC0-4 и са свързани към D4-D8 :
|
| Нед Окт 29, 2006 4:08 pm |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
Объркал си някои data крак.
|
| Нед Окт 29, 2006 4:35 pm |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 27, 2006 6:23 pm Мнения: 162 Местоположение: Севлиево
|
невъзможно! проверих ри един по един всичко съответства.
|
| Нед Окт 29, 2006 4:43 pm |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 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'
???? нее ли странно ????

|
| Нед Окт 29, 2006 7:03 pm |
|
 |
|
VSU
Ранг: Напреднал
Регистриран на: Нед Авг 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 |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 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 |
|
 |
|
VSU
Ранг: Напреднал
Регистриран на: Нед Авг 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 |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 27, 2006 6:23 pm Мнения: 162 Местоположение: Севлиево
|
Портовете са изправни, а като проверявам с дебъгера и като превключа порт Б да е в режим аски кодове и излизат същите символи ,които ми излизат на дисплея ?!?!
Как е възможно аз да изпращам буквата 'Д' а да ми излиза символа @????
Така става даже и на дебъгера като симулирам схемата ?!?!?!
|
| Пон Окт 30, 2006 1:08 am |
|
 |
|
VSU
Ранг: Напреднал
Регистриран на: Нед Авг 14, 2005 1:08 pm Мнения: 433 Местоположение: Казанлък
|
Абе пич тва дето си го написал верно ли е бе това да не ти е 16F84
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 |
|
|