LCM128645液晶范例(ST7920) - 深圳led背光源生产厂家,lcd显示屏,lcm液晶显示模块|模组厂-欧陆娱乐


  • 欧陆娱乐



  • 


  •  深圳市欧陆娱乐产品分类列表

    联系我们

    公司名称:深圳市欧陆娱乐光电有限公司
    厂址:中国.广东省.深圳市宝安西乡臣田工业区

    营销专线
    吴先生 手机:13538278608
    胡先生 手机:13823360976
    固定电话:86-0755-28246146/
    28246906/28246536/28247229
    电话传真 :86-0755-89715671
    投诉与售后咨询 黄小姐:13823217679
    胡先生 :13928021976

    Email:bly@sdgfj.net

    公司网址:https://www.sdgfj.net/

    LCM128645液晶范例(ST7920)

    LCM128645液晶范例(ST7920)

    液晶使用ST7920控制器,串并行模式(本范例使用串行)

    /* M16驱动LCM128645,液晶芯片ST7920

    */

    #include “j.h”

    #include

    #define light_on cbi(PORTB, 2);

    #define light_off sbi(PORTB, 2);

    void clear_all(void);

    // 显示用指针变量

    char *line1;

    char *line2;

    char *line3;

    char *line4;

    void cpu_init(void)

    {

    //———– IO端口初始化 START —————–

    PORTA = 0×0;

    DDRA = 0×0;

    PORTB = 0xff;

    DDRB = 0xff;

    PORTC = 0×0;

    DDRC = 0×0;

    DDRD = 0×0; // D口配置为输入

    PORTD = 0xff; // 使能上拉电阻

    //———– IO端口初始化 END —————–

    wdt_enable(1); // 看门狗使能 30MS

    ACSR = 0×80;

    }

    /*****************************************

    液晶发送子程序(串行)

    输入数据:要发送的8位数据

    输出 :无

    作者:

    修改时间:2004-08-11

    *****************************************/

    void lcm_out(char a)

    {

    char i,d;

    for(i=0;i<8;i++)

    {

    cbi(PORTB,1);

    d=a&0×80;

    if(d)

    sbi(PORTB,0);

    else

    cbi(PORTB,0);

    a<<=1;

    sbi(PORTB,1);

    }

    }

    /*****************************************

    液晶写控制字程序

    输入数据:要写入的8位数据

    输出:无

    作者:

    修改时间:2004-08-11

    *****************************************/

    void wr_com(uchar a)

    {

    uchar s,i;

    s=a&0xf0;

    lcm_out(0xf8);

    lcm_out(s);

    s=a&0x0f;

    s<<=4;

    lcm_out(s);

    for( i=0;i<254;i++ ) // 延时

    {

    asm(“nop”);

    }

    }

    /*****************************************

    液晶写数据字程序

    输入数据:要写入的8位数据

    输出 :无

    作者:

    修改时间:2004-08-11

    *****************************************/

    void wr_date(uchar a)

    {

    uchar s,i;

    s=a&0xf0;

    lcm_out(0xfa);

    lcm_out(s);

    s=a&0x0f;

    s<<=4;

    lcm_out(s);

    for( i=0;i<254;i++ ) // 延时

    {

    asm(“nop”);

    }

    }

    /*****************************************

    液晶初始化程序

    输入数据:无

    输出:无

    作者 :

    修改时间:2004-08-11

    *****************************************/

    void lcm_init(void)

    {

    wr_com(0×30);

    delay(1,8000);

    wr_com(0×30);

    delay(1,8000);

    wr_com(0x0c);

    delay(1,8000);

    wr_com(0×01); // 清屏

    delay(10,8000); // 清屏

    wr_com(0×60);

    delay(1,8000);

    }

    void clear_all(void)

    {

    wr_com(0×01); // 清屏

    delay(1,8000); // 清屏

    }

    //———– 整行显示函数 START —————–

    void display(void)

    {

    wr_com(0×80);

    while( *line1!=0×00 )

    {

    wr_date(*line1);

    line1++;

    }

    wr_com(0×90);

    while( *line2!=0×00 )

    {

    wr_date(*line2);

    line2++;

    }

    wr_com(0×88);

    while( *line3!=0×00 )

    {

    wr_date(*line3);

    line3++;

    }

    wr_com(0×98);

    while( *line4!=0×00 )

    {

    wr_date(*line4);

    line4++;

    }

    line1 = “”;

    line2 = “”;

    line3 = “”;

    line4 = “”;

    }

    //———– 整行显示函数 END —————–

    //———– 系统初始化函数 START —————–

    void system_init(void)

    {

    line1 = “”;

    line2 = “”;

    line3 = “”;

    line4 = “”;

    light_on

    lcm_init();

    }

    //———– 系统初始化函数 END —————–

    int main(void)

    {

    delay(200,8000);

    cpu_init();

    system_init();

    while(1)

    {

    line1 = ” 欢迎光临 “;

    line2 = “”;

    line3 = ” 东创科技 “;

    line4 = ” www.dycxin.com.cn “;

    display();

    delay(800,8000);

    }

    }

    
    首 页 | 公司简介 | 企业荣誉 | 产品中心 | 新闻中心 | 联系我们 | 集团首页

    版权所有 深圳市欧陆娱乐光电有限公司     粤ICP备08129267号-1


  • XML地图