国产精品理伦片 I 国产精品视频网 I 黄a免费看 I 黄片毛片视频 I 亚洲色诱 I 国产成人精品免高潮费视频 I 国产精品视频资源 I 免费毛片一级 I 超碰在线c I japanese在线观看 I 日韩免费片 I 可以在线看的av I 日韩五码电影 I 日韩精品一二三 I 天天黄色片 I 欧美特黄 I 黄色大视频 I 亚洲人天堂 I 亚洲 小说区 图片区 I 操大逼网站 I 日日夜夜操av I 40岁成熟女人牲交片20分钟 I 狠狠做六月爱婷婷综合aⅴ I 国产精品久久久久久久天堂 I 美女久久av I 国产精品久久久久久久久久三级 I 777天堂麻豆爱综合视频 I 7878成人国产在线观看 I 18日本福利在线 I 狠狠夜 I 狼人色 I 久久青青精品 I 久久区二区 I 欧美大屁股xxxx高潮喷水 I 国产精品久久久18成人 I 1000部啪啪未满十八勿入机器 I 国产无人区码卡功能齐全 I 好男人社区神马在线观看www I 蜜臀av色欲a片无码一区二区

文章詳情

1602字符液晶6800時序8位并口樣例程序

日期:2025-11-05 01:13
瀏覽次數:2278
摘要:1602字符液晶一般為6800接口,可以使用8位或者4位數據線,清達光電提供的1602字符液晶有藍模式黃綠模式,接口有并口或者SPI串口,本文以6800 8位并口為例的程序

1602字符液晶6800時序8位并口樣例程序由清達光電技術部提供,清達光電專業設計生產液晶模塊,OLED模塊,TFT模塊等,產品齊全,供貨快捷。

#include<reg51.h>

#include<intrins.h>

#include<stdio.h>

#define uchar unsigned char

#define uint unsigned int

sbit RS = P3^3;

sbit RW = P3^1;

sbit E = P3^0;

unsigned char X,Y;

/*-----------建立自定義演示用字符庫-----------*/

code  unsigned int CGTAB[9][8]={

/*

橫向取模 ,先上后下

*/

0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,   /* "↓"代碼=0 */

0x0f,0x09,0x0f,0x09,0x0f,0x09,0x11,0x00,   /* "月"代碼=1 */

0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00,   /* "日"代碼=2 */

0x11,0x0a,0x04,0x1f,0x04,0x1f,0x04,0x00,   /* "¥"代碼=3 */

0x0e,0x00,0x1f,0x0a,0x0a,0x0a,0x13,0x00,   /* "元"代碼=4 */

0x18,0x18,0x07,0x08,0x08,0x08,0x07,0x00,   /* "℃"代碼=5 */

0x04,0x0a,0x15,0x04,0x04,0x04,0x04,0x00,   /* "↑"代碼=6 */

0x17,0x15,0x15,0x15,0x15,0x15,0x17,0x00,   /* "10"代碼=7 */

0x04,0x04,0x04,0x04,0x15,0x0a,0x04,0x00,   /* "↓"代碼=8 */

};

/*-----------自定義字符顯示用字庫-----------*/

void delay(unsigned int t)

{  unsigned int i,j;

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

     for(j=0;j<10;j++)

        ;

}

void busy(void)

{  P1=0xff;

  RS=0;

  RW=1;

  E=1;

  while((P1&0x80)==0x80);

  E=0;

}

void writecom(unsigned char com)

{  RS=0;

  RW=0;

  P1=com;

  E=1;

  _nop_();

  E=0;

}

void lcdwc(unsigned char com)

{

  busy();

  writecom(com);

}

void lcdwd(unsigned char dat)

{

  busy();

  RS=1;

  RW=0;

  P1=dat;

  E=1;

  _nop_();

  E=0;

}

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

定義地址ddram顯示范圍

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

void lcdpos(void)

{

  X&=0x0f;     ///16列

  Y&=0x03;  ///2行

  if(Y==0x00)

     lcdwc(X|0x80);//**行ddram

  else if(Y==0x01)

     lcdwc((X+0x40)|0x80); //**行ddram

}

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

 初始化函數

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

void lcdreset()

{  delay(150); writecom(0x38);

  delay(50); writecom(0x38);

  delay(50); writecom(0x38);

  lcdwc(0x38); //8位數據 顯示2行 5*7字符

  lcdwc(0x08); //關顯示 光標關 閃爍關

  lcdwc(0x01); //

  lcdwc(0x06); //光標右移 畫面不動

  lcdwc(0x0c); //開顯示 光標關 閃爍關

}

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

全部寫入

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

void lcdfill(unsigned char n)

{

  for(Y=0;Y<2;Y++)

     for(X=0;X<16;X++)

     {  lcdpos();       ///定義起始地址

        lcdwd(n);  }

}

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

全部寫入隔點

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

void lcdgraphic(unsigned char m)

{

  for(Y=0;Y<2;Y++)

     for(X=0;X<16;X++)

     {  lcdpos();

        lcdwd(m);

        lcdwd(~m);  }

}

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

字符串寫入

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

void lcdwda(unsigned char x,unsigned char y,unsigned char *s)

{

  Y=y;

  for(X=x;X<16;X++)

  {

     lcdpos();

     lcdwd(*s);

     s++;

     delay(400);

  }

}

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

/*     建立自定義函數     */

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

CGRAM()

 {

 uchar dat;

  unsigned char i,j;

  lcdwc(0x40);    /* 設置CGRAM地址 */

        /*  調寫指令函數  */

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

    {

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

       {

        dat=CGTAB[i][j];  /* 取字模 */

        lcdwd(dat);   /*  調寫數據函數  */

       }

    }

 }

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

主函數

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

main()

{

unsigned char i,j;

  E=0;

  lcdreset();

  while(1)

  {

   // lcdreset();

     lcdfill(0xff);

     delay(2000);

 lcdfill(0x55);

     delay(2000);

 lcdfill(0xaa);

     delay(2000);

 lcdgraphic(0xff);

 delay(2000);

  lcdgraphic(0x00);

 delay(2000);

  lcdgraphic(0x55);

 delay(2000);

  lcdgraphic(0xaa);

 delay(2000);

     for(i=0x30;i<=0x3a;i++)

     {  lcdfill(i);

        delay(3500);//顯示0-9數字

     }

     lcdfill(' ');

     delay(2000);

 lcdwda(0,0,"ABCDEFGHIJKLMNOPQRSTUVWXYZ");

     lcdwda(0,1,"ZYXWVUTSRQPONMLKJIHGFEDCBA");

     delay(2000);

     lcdfill(' ');

  /*------------CGRAM顯示段--------------*/

    CGRAM(); /* 調自定義字符庫函數 */

    lcdwc(0x80);  /* 設置DDRAM地址**行顯示 */

   // lcdwc(0xc0);  /* 設置DDRAM地址**行顯示 */

         /* 調寫指令函數  */

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

    {

       /* 取字符代碼 */

      lcdwd(i); /* 調寫數據函數  */

    }

    delay(4000);  lcdfill(' ');

}

}

主站蜘蛛池模板: 红桃视频成人传媒 | 亚洲精品福利在线 | 天天爱天天做天天爽夜夜揉 | 欧美黑人性视频 | 欧美一区二区三区激情视频 | 伊人久久大香线蕉av网站 | 成人无码a∨电影免费 | 亚洲国产精品无码中文lv | 91精品国产99久久久 | 91精品又粗又猛又爽 | 国产精品igao视频网网址不卡日韩 | 亚洲国产午夜片 | 在线伊人av| 成人a毛片免费观看网站 | 久久久久久曰本av免费免费 | 天天综合网91 | 精品一区二区三区影院在线午夜 | 男人舔女人b视频 | 久久久久久久久艹 | 精品国产迷系列在线观看 | www五月天 | 亚洲成在线aⅴ免费视频 | 日日摸日日碰夜夜爽免费 | 国产一级片免费播放 | 狠狠躁夜夜躁久久躁别揉 | 色欲天天婬色婬香综合网完整 | 成人日皮视频 | 九九热在线观看视频 | 丁香午夜婷婷 | 久久久精品99 | 新区乱码无人区二精东 | 日本欧美v大码在线 | 欧美在线你懂的 | 欧美成人aaa片一区国产精品 | 久久99精品久久只有精品 | 黄色一级片在线看 | 免费在线欧美 | 日韩人妻无码一区二区三区久久99 | 一本色道久久亚洲精品加勒比 | 你懂的视频在线看 | 美女张开腿黄网站免费 | 欧美成人r级一区二区三区 成 人片 黄 色 大 片 | 欧美老妇交乱视频在线观看 | 97蜜桃网| 四虎影院永久免费 | 人妻熟妇乱又伦精品视频中文字幕 | 玖玖免费| 国产极品一区二区 | 成人自拍视频在线观看 | 饥渴丰满的少妇喷潮 | 国产农村乱人伦精品视频 | 久久精品无码专区免费 | 国产亚洲精品久久久久蜜臀 | 九九九九九国产 | 国产精品久久福利 | 3级av| 天天干夜夜玩 | 久久免费视频网 | 国产白丝护士av在线网站 | 欧美激情四区 | 国产又爽又黄又不遮挡视频 | 日本黄色大片视频 | 国产成人a亚洲精品 | bb日韩美女预防毛片视频 | 老司机午夜精品 | 亚洲国产精品va在线观看麻豆 | 制服丝袜亚洲中文欧美在线 | 久久久久综合精品福利啪啪 | 亚洲成a| 人妻无码一区二区三区av | 国产午夜成人精品视频app | 樱空桃 av在线播放 久久久久女教师免费一区 久久精品极品盛宴免视 | 色噜噜狠狠狠综合曰曰曰 | 久久久精品成人免费观看国产 | 国产女同无遮挡互慰高潮91 | 色天天躁夜夜躁天干天干 | 日本猛少妇色xxxxx猛叫小说 | 一区二区三区四区国产 | xxxx性×xx老少配视频网站 | caoprom最新国产免费地址 | 不卡的av中文字幕 | 日韩欧美黄色网址 | 日韩高清不卡av | 精品无码久久久久久尤物 | 97国产精品亚洲精品 | 中文字幕亚洲综合小综合在线 | 日韩欧美高清dvd碟片 | 久久久久成人网站 | 欧美激情视频在线观看 | 欧美顶级少妇做爰高跟 | 欧美性久久 | 亚洲欧美视频网站 | 国产欧美日本亚洲精品一5区 | 亚洲在线日韩 | 国产精品亚洲综合一区 | 久久精品国产色蜜蜜麻豆 | 欧美 日韩 国产 成人 在线观看 | 性器暴露调教np高h跪趴小说 | 欧美丰满美乳xxⅹ高潮www |