| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| LCD проблем http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=4660 |
Страница 1 от 1 |
| Автор: | Gogo [ Пон Авг 20, 2007 3:06 pm ] |
| Заглавие: | |
Конфигурация написаал ли си? Не я виждам! Ако няма, пика няма да тръгне. |
|
| Автор: | steve [ Пон Авг 20, 2007 3:14 pm ] |
| Заглавие: | |
Ами освен това : void init_mcu(void) { DataTris = 0b00000000; // all outputs CtrlTris = 0b00000000; // all outputs } друго не съм написал. Чудех се дали е достатъчно. За по-сигурно написах програмка, която да прави всички битове на двата порта ту нули, ту единици. В Proteus се виждаше, че работи. Когато задам ниска честота на работа в Proteus се вижда как пиновете си сменят нивото, но дисплея не реагира. |
|
| Автор: | valioman [ Пон Авг 20, 2007 3:34 pm ] | |||||||||
| Заглавие: | ||||||||||
Еми виртуално не съм чул да забременее некоя к...ва та кво остава да не тръгне един ПИК. И виж дали не можеш го подкара 4 битово ... закво да хабиш краката нахалос .... пък и мисля че вградения драйвер на Майкрочипския компилатор е за 4 бита. |
||||||||||
| Автор: | Gogo [ Пон Авг 20, 2007 4:14 pm ] | |||||||||
| Заглавие: | ||||||||||
|
||||||||||
| Автор: | steve [ Пон Авг 20, 2007 7:53 pm ] | ||
| Заглавие: | |||
Ползвам 8-битов режим, защото така ми беше по-лесно като си писах кода вместо майкрочипския вариант. Иначе ще бъде 4-битов. Когато се мъчех да ползвам xlcd.h сменях #define DATA_PORT PORTB с PORTD, но то продължаваше да си генерира импулси на същите пинове. Ще видим какво ще стане като направя свястна конфигурация на чипа. И така малко по-късно сътворих нещо като конфигурация, но резултатът е отново нищо на дисплея. Ето и какво съм добавил към кода : #pragma config OSC=HS, PWRT=ON, BOR=OFF, WDT=OFF, CCP2MUX=OFF, LVP=OFF, DEBUG=OFF #pragma config CP0=OFF, CP1=OFF, CP2=OFF, CP3=OFF, CPB=OFF, CPD=OFF #pragma config WRT0=OFF, WRT1=OFF, WRT2=OFF, WRT3=OFF, WRTB=OFF, WRTC=OFF, WRTD=OFF #pragma config EBTR0=OFF, EBTR1=OFF, EBTR2=OFF, EBTR3=OFF, EBTRB=OFF void init_mcu(void) { RCON = 0b00011111; // no priority interrupt levels EECON1 = 0b00000100; // access data eeprom memory, memory access, memory write enabled INTCON = 0b00000000; // all int disabled, perpherial int disabled, TMR0 overflow int disabled // external int disabled, portb int disabled INTCON2 = 0b10000000; // portb pull-ups disabled INTCON3 = 0b00000000; // low priority ext int 1 & 2, ext int 1 & 2 disabled PIR1 = 0b00000000; // no peripherial ints occured PIR2 = 0b00000000; // no peripherial ints occured PIE1 = 0b00000000; // no peripherial ints allowed PIE2 = 0b00000000; // no peripherial ints allowed IPR1 = 0b00000000; // low priority peripherial ints IPR2 = 0b00000000; // low priority peripherial ints T0CON = 0b00001000; // TMR0 stopped T1CON = 0b00000000; // TMR1 stopped T2CON = 0b00000000; // TMR2 stopped T3CON = 0b00000100; // TMR3 stopped CCP1CON = 0b00000000; // CCP disabled SSPSTAT = 0b00000000; // MSSP status clear SSPCON1 = 0b00000000; // MSSP no collision, no overflow, disabled (pins as I/O) SSPCON2 = 0b00000000; // everything disabled and iddle TXSTA = 0b10000010; // master mode, 8-bit, transmit disabled, async, low speed, empty shift reg RCSTA = 0b00000000; // serial port disabled, 8-bit, receiver disabled, no addr detection, no errors ADCON0 = 0b00000000; // Fosc/2, ch0 selected, ADC OFF ADCON1 = 0b10000110; // right justified, Fosc/2, all pins digital LVDCON = 0b00000000; // LVD OFF DataTris = 0b00000000; // all outputs CtrlTris = 0b00000000; // all outputs } Съмнявам се да има проблем с времената за изчакване. Първо са доста завишени и второ са сметнати за 4MHz, а в Proteus съм задал 1MHz. Направо се вижда как се сменят нивата. Изглежда конфигурацията е в ред, защото при експерименти с бутони и светодиодчета всичко реагира, както се очаква. Вече почвам да се чудя дали ако пробвам на реален дисплей ще тръгне и проблема е с Proteus. Рано или късно ще трябва да се прави платка, но в момента нямам време за това. Ако някой е така добър да пусне едно файлче на С с пример за изписване дори само на един символ, което да работи в Proteus ще съм му много благодарен.
|
|||
| Автор: | steve [ Вто Авг 21, 2007 10:37 am ] | ||
| Заглавие: | |||
Тази сутрин станах рано и реших все пак да сътворя една експериментална платка. Въведох символи, колкото да запълня дисплея (не мери температура, както лъже дисплея, а просто има текст). Пуснах го отново на Proteus и нямаше неочакван обрат. Отново нищо не се показа в симулацията. Записах чипа и пуснах схемата. Резултатът се вижда на снимката. Сега ми е интересно защо на симулацията не се получава нищо. Също така ако някой има идея защо като променя порта в xlcd.h и интерфейса на 8-битов няма никакъв резултат. Абе изобщо с тоя драйвер нищо не се получава. П.П. Благодаря за подсещането да напиша конфигурация. Кой знае колко време щях да се мъча без нея и нищо да не става
|
|||
| Автор: | bkulev [ Съб Сеп 15, 2007 11:37 am ] |
| Заглавие: | |
защото функциите за eXternalLCD са компилирани в библиотеката с *.h файла който виждаш. Промяната само в *.h файла няма да доведе до исканите от теб промени, т.е. необходимо е да прекомпилираш функциите и да ги подмениш в lib файла, или хвани сорса на всички функции и заедно с променения *.h файл си ги компилирай в твой lib файл и го добави в проекта, обаче укажи на линкера първо да търси функциите в него и след това в default lib, щото знаеш ... Успех |
|
| Автор: | million [ Съб Сеп 15, 2007 12:08 pm ] |
| Заглавие: | |
Ако честотата на симулирания процесор в PROTEUS e различна от тази за която е писана програмата няма да тръгне. На 1 херц може и да ти мигат пиновете, но дисплея си чака неговите времезакъснения, защото симулацията е в реално време. |
|
| Автор: | NikB [ Пет Авг 15, 2008 9:39 am ] | |||||||||
| Заглавие: | Re: LCD проблем | |||||||||
Навярно си решил проблемите със симулацията. Аз имам по-скоро проблеми с изучаването на Протеус, постнах една тема в тоя форум, но никой не писа, явно Протеус не е много популярен. Ако желаеш, може да обменим инфо. (Аз много време не бях писал на PIC и наскоро ми се наложи - без Протеус щях да съм много зле) Сега ще постна една тема, че търся инфо за драйвери за 16873 за LCD, за сега пиша на асемблер. http://www.mcu-bg.com/mcu_site/viewtopic.php?p=71279#71279 |
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|