Lcd12864 text display example (control chip st7920)

Source: Internet
Author: User

1. Up to now, the Proteus version 7.7 does not support the LCD OF THE st7920 control chip, so no simulation has been made in Proteus.

 

2. Source Code1. st791_h <br/> // filename: st7920.h <br/> # define data_port P1 <br/> // define <br/> // pin definition <br/> // -------------------------------------------- <br/> // define connection MCU and st7920 <br/> sbit LCD _rs = P2 ^ 0; // H: Command mode, L: data mode <br/> sbit LCD _rw = P2 ^ 1; // enable, low level valid <br/> sbit LCD _e = P2 ^ 2; // write, low level valid <br/> sbit LCD _psb = P2 ^ 3; <br/> // sbit READ = P2 ^ 3; <br/> // ==== =============== Prototype list ====================================== =====< br/> void delay1ms (char N ); // to delay 1 MS about <br/> void sendcmd (char cmd); // write command to st7920 <br/> void senddata (char dat ); // write dat to st7920 <br/> void LCD _init (void); // initialize st7920 <br/> void print_string (char *); <br/> // ======================================== ==================================< br/> // ====== ====================================== =======================================================< Br/> void delay1ms (char N) <br/>{< br/> uchar I; <br/> uchar J; <br/> for (j = 0; j <n; j ++) <br/> for (I = 0; I <255; I ++ ); <br/>}< br/> // ============================ =======================================================< br/> void sendcmd (char cmd_code) <br/>{< br/> // is_buzy (); <br/> LCD _rs = 0; <br/> LCD _rw = 0; <br/> data_port = pai_code; <br/> LCD _e = 1; <br/> delay1ms (5); <br/> // writ = 1; <br/> L Cd_e = 0; <br/>}</P> <p> // ========================== =======================================================< br /> void senddata (char data_code) <br/>{< br/> // is_buzy (); <br/> LCD _rs = 1; <br/> LCD _rw = 0; <br/> data_port = data_code; <br/> LCD _e = 1; <br/> delay1ms (5); <br/> // writ = 1; <br/> LCD _e = 0; <br/>}< br/> // ============================ =====================================================< br/>/ /st7920 LCD initallize <br/> void LCD _init (voi D) <br/>{< br/> delay1ms (50); // waiting <br/> sendcmd (0x30 ); // function set <br/> // 0x30 = 00110000, 8bit bus, basic instruction <br/> delay1ms (5 ); <br/> sendcmd (0x30); // 0x30 = 00110000, 8bit bus, basic instruction <br/> delay1ms (5 ); <br/> sendcmd (0x0f); // display on, cursor on, blink on <br/> delay1ms (5); <br/> sendcmd (0x01 ); // display clear <br/> delay1ms (5); <br/> sendcmd (0x06); // cursor move right AC increased by 1, display not shift <br/> delay1ms (5); <br/> // sendcmd (0x80 ); // set ddram address <br/> delay1ms (5); <br/>}< br/> void print_string (char * Str) {<br/> int I; <br/> for (I = 0; STR [I]! = '/0'; I ++) <br/>{</P> <p> senddata (STR [I]); <br/>}< br/> 2. global. h <br/> // filename: Global. h <br/> # define uchar unsigned char <br/> # define uint unsigned int <br/> 3. main. c <br/> // latest revise: 2010-2-11 <br/> // by: Alex shoal <br/> // Email: alex.shoal@gmail.com <br/> # include <reg51.h> <br/> # include "Global. H "<br/> # include" st7920.h "<br/> main () {<br/> // delay1ms (10); <br/> LCD _init (); <br/> print_strin G ("Hello, world! "); <Br/> print_string (" this is Alex! "); <Br/> while (1); <br/>}< br/> 

 

 

 

3. LCD model JXD12864F-1, control chip for st7920, according to my research, at present its official website attached information on Pin definition error, resulting in waste of my time, after confirming the correct should be as follows.

 

4. Running result.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.