HomeTOOLSEXAMPLESEXPLORE EMBEDDEDE CSERVICESECU SAMPLESRegistration
Embedded C programming Tutorial , Keil C ide , microsoftware.gr
Keil CRC and CAN BUS codes.
1. Shift led left
2.It's time for DAVE! <7/6/13>
3.Capture/Compare unit 6
4.ASC0-GPT1-MACROS
5.ASC0-FIFO-PEC
6.Analog converter
7.Memory manipulation routines
8. Recursion
9.Understanding interrupt priorities using CAPCOM2 module
10. POINTERS TO FUNCTION <4/7/13>,<4/28/13>
11.Memory models, memory types
12. The heap , part 1
13. The heap , part 2
14. The heap , part 3
15. Structure example
16. Nested structures, Array of structures.
17. Passing array of structures to function using pointers.<1/5/13>
18. Self Referential Structures
19. BITFIELDS
20. Linked list example
21. Circular linked list
22. Union example
23. Enumeration example
24. Watchdog timer example
25. Void pointer example <7/4/13>
26. The sieve of Eratosthenes
27. The stack
28. Union and bitfields as flags example. <6/23/13>
29. Look up table example. <8/11/13>
30. Seven segment display multiplexing -four digits with dot- example
31. LCD character display example - JHD162A
32. Hash table introduction example <8/27/14>
33. Array of Linked Lists example
34. Array of Linked lists-more functions included.
35. Hash table construction,searching and printing.
36. Fininte state machines- a first approach.
37. Finite state machines- two events example.
38. SPI port and an AT25128 serial eeprom hardware.
39. CRC CHECK
40. Definite Integral Calculator for Scientists, Engineers...
41 .Hamming distance of a CRC polynomial
42. Linux play starting.
43. Galois GF(2^4) Finite Field
44. Construct your own time triggered real time operating system.
45. CANBUS C CODE EXAMPLE.
31. LCD character display example - JHD162A

This is a JHD162A LCD display example.

Please have a look at   LCD TUTORIAL   and     JHD162A

As you see a LCD display includes two groups of pins:
1. Control pins, these are:  Register select RS we can select to send comands or data to the LCD, Read/write pin R/W and finaly Enable E pin to fetch comands or data during a transition from high to low state of this pin.

2. Data pins. We use here an eight bits data bus but there is the ability to use only a four bits data bus, saving pins of the parallel port.

LCD's timing needs precise time delays of a few of msec so we use timer T3. A delay() function is:


void delay_T3 (unsigned int t) 
{
 GPT12E_T3IC_IR =0;            // Reset IR bit
 
GPT1_vLoadTmr_GPT1_TIMER_3(t);

GPT1_vStartTmr_GPT1_TIMER_3();
 
while (GPT12E_T3IC_IR!=1 ); //wait for timer T3 to overflow
 
GPT1_vStopTmr_GPT1_TIMER_3();
  
}

 
waiting for the change of the logic state of the interrupt request bit of T3 when overflows.

see  Keil timer delay

For educational purpose we use here a time delay of about 280 msec.
So, run the C code at simulator opening the serial window #1 and watch the

result.

Next: A four bit data bus LCD example.

* printf() functions are used in the code for educational purpose only. You have to remove them in practice.

 

Home|TOOLS|EXAMPLES|EXPLORE EMBEDDEDE C|SERVICES|ECU SAMPLES|Registration