info:lcd_4_bit_interfacing
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
info:lcd_4_bit_interfacing [2011/01/15 09:10] – tomgee | info:lcd_4_bit_interfacing [2011/01/16 11:29] (current) – tomgee | ||
---|---|---|---|
Line 20: | Line 20: | ||
- | The common | + | The steps are: |
- | | + | |
2. Send to the LCD port | 2. Send to the LCD port | ||
- | | + | |
- | | + | |
5. Send to LCD port | 5. Send to LCD port | ||
- | | + | |
- | //The pins used are same as explained earlier | + | ==== C code to perform the above ==== |
- | #define lcd_port | + | ;In this 4-bit tutorial the LCD is connected to |
+ | ;the controller in following way... | ||
+ | ;D4 - P3.0 | ||
+ | ;D5 - P3.1 | ||
+ | ;D6 - P3.2 | ||
+ | ;D7 - P3.3 | ||
+ | ;EN - P3.7 | ||
+ | ;RS - P3.5 | ||
- | //LCD Registers addresses | + | //The pins used are same as explained earlier |
- | # | + | |
- | #define LCD_RS | + | |
- | void lcd_reset() | + | //LCD Registers addresses |
- | { | + | # |
+ | # | ||
+ | |||
+ | void lcd_reset() | ||
+ | | ||
lcd_port = 0xFF; | lcd_port = 0xFF; | ||
delayms(20); | delayms(20); | ||
Line 52: | Line 62: | ||
lcd_port = 0x02; | lcd_port = 0x02; | ||
delayms(1); | delayms(1); | ||
- | } | + | } |
- | void lcd_init () | + | void lcd_init () |
- | { | + | |
lcd_reset(); | lcd_reset(); | ||
lcd_cmd(0x28); | lcd_cmd(0x28); | ||
Line 61: | Line 71: | ||
lcd_cmd(0x06); | lcd_cmd(0x06); | ||
lcd_cmd(0x80); | lcd_cmd(0x80); | ||
- | } | + | } |
+ | |||
+ | ==== Sending Command/ | ||
+ | |||
+ | void lcd_cmd (char cmd) | ||
+ | { | ||
+ | lcd_port = ((cmd >> 4) & 0x0F)|LCD_EN; | ||
+ | lcd_port = ((cmd >> 4) & 0x0F); | ||
+ | |||
+ | lcd_port = (cmd & 0x0F)|LCD_EN; | ||
+ | lcd_port = (cmd & 0x0F); | ||
+ | |||
+ | delayus(200); | ||
+ | delayus(200); | ||
+ | } | ||
+ | |||
+ | void lcd_data (unsigned char dat) | ||
+ | { | ||
+ | lcd_port = (((dat >> 4) & 0x0F)|LCD_EN|LCD_RS); | ||
+ | lcd_port = (((dat >> 4) & 0x0F)|LCD_RS); | ||
+ | |||
+ | lcd_port = ((dat & 0x0F)|LCD_EN|LCD_RS); | ||
+ | lcd_port = ((dat & 0x0F)|LCD_RS); | ||
+ | |||
+ | delayus(200); | ||
+ | delayus(200); | ||
+ | } |
info/lcd_4_bit_interfacing.1295100602.txt.gz · Last modified: 2011/01/15 09:10 by tomgee