Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function hd44780(write) {
- // initialise
- write(0x33,1);
- write(0x32,1);
- write(0x28,1);
- write(0x0C,1);
- write(0x06,1);
- write(0x01,1);
- // add functions
- return {
- write: write,
- // clear screen
- clear: function() { write(0x01,1); },
- // print text
- print : function(str) {
- for (var i=0;i<str.length;i++)
- write(Integer.valueOf(str.charAt(i)));
- },
- // flashing block for the current cursor, or underline
- cursor : function(block) { write(block?0x0F:0x0E,1); },
- // set cursor pos, top left = 0,0
- setCursor : function(x,y) { var l=[0x00,0x40,0x14,0x54];write(0x80|(l[y]+x),1); },
- // set special character 0..7, data is an array(8) of bytes, and then return to home addr
- createChar : function(ch, data) {
- write(0x40 | ((ch&7) << 3), 1);
- for (var i=0; i<8; i++) write(data[i]);
- write(0x80,1);
- }
- };
- }
- function connect(/*=PIN*/_rs,/*=PIN*/_en,/*=PIN*/_d4,/*=PIN*/_d5,/*=PIN*/_d6,/*=PIN*/_d7) {
- var data = [_d7,_d6,_d5,_d4];
- var rs = _rs;
- var en = _en;
- digitalWrite([rs,en], 0);
- var write = function(x, c) {
- digitalWrite(rs, c===undefined);
- digitalWrite(data, x>>4);
- digitalPulse(en, 1, 0.01);
- digitalWrite(data, x);
- digitalPulse(en, 1, 0.01);
- };
- //return new HD44780(write);
- return write;
- }
- var connect = connect(A4,A5,A0,A7,A2,A3);
- var led = hd44780(connect);
- led.print("Hello World!");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement