question

Post your requests and ideas on the future development of mikroC PRO for 8051.
Post Reply
Author
Message
hussien
Posts: 7
Joined: 14 Dec 2008 04:16

question

#1 Post by hussien » 14 Dec 2008 04:21

when i installed the program and trying to write an example on lcd. i found the lcd library not working and the program can not include it

i want any one help me in this problem very fast
thanks all

goran.marinkovic
mikroElektronika team
Posts: 265
Joined: 25 Nov 2008 09:09

#2 Post by goran.marinkovic » 15 Dec 2008 10:28

Hi,

Our library is tested a lot and works well.
Can you give us more information about your Hardware? Which development board and LCD do you use?

Regards

hussien
Posts: 7
Joined: 14 Dec 2008 04:16

#3 Post by hussien » 16 Dec 2008 08:50

i am use AT89C52 and YMS204-02ABBFDCL for lcd

hussien
Posts: 7
Joined: 14 Dec 2008 04:16

#4 Post by hussien » 16 Dec 2008 08:56

the error statement is:
undeclared identifier"LCD_OUT" in expression

goran.marinkovic
mikroElektronika team
Posts: 265
Joined: 25 Nov 2008 09:09

#5 Post by goran.marinkovic » 17 Dec 2008 15:20

Hi,

Please make sure that you checked in Library Manager, Lcd_Constants and Lcd library options.
Inform me about results.

Regards

hussien
Posts: 7
Joined: 14 Dec 2008 04:16

#6 Post by hussien » 18 Dec 2008 05:04

i want to say anthor thing that if i presed ctrl+space it cannot find the library functions
so it is library not work properly

goran.marinkovic
mikroElektronika team
Posts: 265
Joined: 25 Nov 2008 09:09

#7 Post by goran.marinkovic » 18 Dec 2008 14:35

Hi,

You should try our example for LCD because it is tested and it works.
Our examples are open source, so you can use them as a starting point for your project.

Regards

hussien
Posts: 7
Joined: 14 Dec 2008 04:16

#8 Post by hussien » 18 Dec 2008 19:28

i tried it and it was very perfect

Do you want to say add LCD fiiles to my project ?

User avatar
srdjan
mikroElektronika team
Posts: 1552
Joined: 28 Dec 2005 12:47
Location: Serbia

#9 Post by srdjan » 23 Apr 2009 14:30

goran.marinkovic wrote:Hi,

Please make sure that you checked in Library Manager, Lcd_Constants and Lcd library options.
Inform me about results.

Regards

hussien
Posts: 7
Joined: 14 Dec 2008 04:16

#10 Post by hussien » 23 Apr 2009 18:58

hi;
i solved the problem and every thing good
thanx for ur attention

adam1234
Posts: 11
Joined: 07 Jul 2010 23:20

Re: question

#11 Post by adam1234 » 07 Jul 2010 23:33

Hi

Few days ago I've got my Easy8051 v6.
I wrote a small program which is sum and miltiply numbers in mikroC.
Now I'd like to use not just the 4X4 key but the menu keypad too.
I found it that i have to use the port 3 for the menu keypad but nothing else and I didn't find functions like keypad_key_pressed, etc.
I'd like to find the way to move the cursor and use enter and cancel buttons with the menu keypad.

Pls Help me or/and send an example

Thx

User avatar
tihomir.losic
mikroElektronika team
Posts: 2138
Joined: 02 Dec 2009 14:16
Location: Serbia
Contact:

Re: question

#12 Post by tihomir.losic » 04 Aug 2010 16:53

Hello,

please, try this code (mikroC PRO for 8051, AT89S8253):

Code: Select all

unsigned short kp, cnt, oldstate = 0;
char txt[6];

// Keypad module connections
char keypadPort at P0;
// End Keypad module connections

// Lcd module connections
sbit LCD_RS at P2_0_bit;
sbit LCD_EN at P2_1_bit;

sbit LCD_D4 at P2_2_bit;
sbit LCD_D5 at P2_3_bit;
sbit LCD_D6 at P2_4_bit;
sbit LCD_D7 at P2_5_bit;
// End Lcd module connections

void main() {
  cnt = 0;                                 // Reset counter
  Keypad_Init();                           // Initialize Keypad
  Lcd_Init();                              // Initialize Lcd
  Lcd_Cmd(_LCD_CLEAR);                     // Clear display
  Lcd_Cmd(_LCD_CURSOR_OFF);                // Cursor off

  Lcd_Out(1, 1, "Key  :");                 // Write message text on Lcd
  Lcd_Out(2, 1, "Times:");

  do {
    kp = 0;                                // Reset key code variable

    // Wait for key to be pressed and released
    do
      // kp = Keypad_Key_Press();          // Store key code in kp variable
      kp = Keypad_Key_Click();             // Store key code in kp variable
    while (!kp);
   // Prepare value for output, transform key to it's ASCII value
    switch (kp) {
      //case 10: kp = 42; break;  // '*'   // Uncomment this block for keypad4x3
      //case 11: kp = 48; break;  // '0'
      //case 12: kp = 35; break;  // '#'
      //default: kp += 48;

      case  1: kp = 49; break; // 1        // Uncomment this block for keypad4x4
      case  2: kp = 50; break; // 2
      case  3: kp = 51; break; // 3
      case  4: kp = 65; break; // A
      case  5: kp = 52; break; // 4
      case  6: kp = 53; break; // 5
      case  7: kp = 54; break; // 6
      case  8: kp = 66; break; // B
      case  9: kp = 55; break; // 7
      case 10: kp = 56; break; // 8
      case 11: kp = 57; break; // 9
      case 12: kp = 67; break; // C
      case 13: kp = 42; break; // *
      case 14: kp = 48; break; // 0
      case 15: kp = 35; break; // #
      case 16: kp = 68; break; // D

    }

    if (kp != oldstate) {                  // Pressed key differs from previous
      cnt = 1;
      oldstate = kp;
      }
    else {                                 // Pressed key is same as previous
      cnt++;
      }

    Lcd_Chr(1, 10, kp);                    // Print key ASCII value on Lcd

    if (cnt == 255) {                      // If counter varialble overflow
      cnt = 0;
      Lcd_Out(2, 10, "   ");
      }

    WordToStr(cnt, txt);                   // Transform counter value to string
    Lcd_Out(2, 10, txt);                   // Display counter value on Lcd
  } while (1);
}
Also, you need to pull-up PORT0.
Place all switches on P0 ON, and place jumper J1 on UPPER position.

Best regards,

Losic Tihomir
mikroElektronika [Support team]

adam1234
Posts: 11
Joined: 07 Jul 2010 23:20

Re: question

#13 Post by adam1234 » 14 Sep 2010 19:39

Hello

Thx I made it, but i have another problem.
I can move the cursor, but when a button pressed for example 1, or A, on the keyboard, the cursor always goes back to the start position(first row) on the lcd. Is there any function which is gives me back the current position of the cursor?

Bye

User avatar
ranko.rankovic
Posts: 433
Joined: 11 Jun 2010 09:22

Re: question

#14 Post by ranko.rankovic » 22 Sep 2010 11:44

Hello adam1234,

Please consider Help file for more info about LCD library and our examples within compiler.

Best regards
Ranko Rankovic
mikroElektronika [Support Department]

Post Reply

Return to “mikroC PRO for 8051 Wish List”