lcd-hd44780

Generic driver for HD44780 based LCDs



\ Demo for using the library with Mecrisp on an MSP430G2553
\ (c)copyright 2017 by Gerald Wodni<gerald.wodni@gmail.com>

\ Wiring:
\ LCD    uC
\ D4  -- P2.0
\ D5  -- P2.1
\ D6  -- P2.2
\ D7  -- P2.3
\ RS  -- P2.4
\ E   -- P2.5

\ RW  -- GND

compiletoflash

\ Ports
$29 constant P2OUT
$2A constant P2DIR

: init-ports
    $3F P2OUT c!
    $3F P2DIR c! ;

: lcd-mode-data ( -- )
    $10 P2OUT cbis! ;

: lcd-mode-cmd ( -- )
    $10 P2OUT cbic! ;

: lcd-nibble ( x -- )
    $F P2OUT cbic!      \ clear data
    $F and P2OUT cbis!  \ set data
    1 us
    $20 P2OUT cbic!     \ pulse E
    4 us
    $20 P2OUT cbis!
    43 us ;

#include hd44780.4th

\ swap-dragon image (3 by 2 custom chars)
create d0 $00 c, $02 c, $03 c, $07 c, $06 c, $00 c, $00 c, $0C c,
create d1 $00 c, $00 c, $00 c, $00 c, $11 c, $11 c, $0A c, $1B c,
create d2 $00 c, $08 c, $18 c, $1C c, $0C c, $00 c, $00 c, $0C c,
create d3 $1F c, $1D c, $18 c, $10 c, $00 c, $00 c, $00 c, $00 c,
create d4 $1B c, $1F c, $1F c, $0E c, $0A c, $0A c, $1B c, $00 c,
create d5 $1F c, $17 c, $03 c, $01 c, $00 c, $00 c, $00 c, $00 c,

: demo
    init-ports \ set ports
    2 lcd-init \ 2 line lcd
    d0 0 lcd-char \ transmit dragon custom chars
    d1 1 lcd-char
    d2 2 lcd-char
    d3 3 lcd-char
    d4 4 lcd-char
    d5 5 lcd-char
    lcd" theforth.net   "
    0 lcd-emit 1 lcd-emit 2 lcd-emit
    $40 lcd-ddram \ 2nd line
    lcd" /lcd-hd44780   "
    3 lcd-emit 4 lcd-emit 5 lcd-emit ;

by GeraldWodni

avatar of GeraldWodni

Versions

0.1.0

Download current as zip

Tags

hardware, mcu

Dependencies

None

Dependents

None