久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5180|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

12232液晶屏串行51單片機(jī)驅(qū)動程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:73735 發(fā)表于 2015-2-18 23:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
MS12232F.c文件:

#include <reg52.h>
#include <string.h>
#include "MS12232F.h"
void delay_MS12232F (unsigned int us)   //delay time
{
  while(us--);
}
/*----初始化-----*/
void init_lcd (void)
{
  wr_lcd (comm,0x30);  /*30---基本指令動作*/   
  wr_lcd (comm,0x01);  /*清屏,地址指針指向00H*/
  delay_MS12232F (100);
  wr_lcd (comm,0x06);  /*光標(biāo)的移動方向*/
  wr_lcd (comm,0x0c);  /*開顯示,關(guān)游標(biāo)*/
}
/*-----------寫指令或者寫數(shù)據(jù)-----------*/
void wr_lcd (unsigned char dat_comm,unsigned char content)
{
  unsigned char a,i,j;
  delay_MS12232F (50);
  a=content;
  cs=1;
  sclk=0;
  std=1;
  for(i=0;i<5;i++)
  {
    sclk=1;
    sclk=0;
  }
  std=0;
  sclk=1;
  sclk=0;
  if(dat_comm)
    std=1;   //data
  else
    std=0;   //command
  sclk=1;
  sclk=0;
  std=0;
  sclk=1;
  sclk=0;
  for(j=0;j<2;j++)
  {
    for(i=0;i<4;i++)
    {
      a=a<<1;
      std=CY;
      sclk=1;
      sclk=0;
    }
    std=0;
    for(i=0;i<4;i++)
    {
      sclk=1;
      sclk=0;
    }
  }
}
/*---清DDRAM----*/
void clrram (void)
{
  wr_lcd (comm,0x30);
  wr_lcd (comm,0x01);
  delay_MS12232F (180);
}

/*---上下半屏順序顯示漢字或字符----*/
void chn_disp(unsigned char code *chn)
{
  unsigned char i,j;
  wr_lcd (comm,0x30);  /*30---基本指令動作*/
  wr_lcd (comm,0x80);  //把顯示地址設(shè)為0X80,即為第一行的首位--第一頁
  j=0;
  for (i=0;i<16;i++)
  wr_lcd (dat,chn[j*16+i]);
      
  wr_lcd (comm,0x90);        //把顯示地址設(shè)為0X90,即為第二行的首位--第二頁
  j=1;
  for (i=0;i<16;i++)
  wr_lcd (dat,chn[j*16+i]);
}

//----上半屏顯示漢字或字符
void chn_dispup (unsigned char code *chn)
{
  unsigned char i,Length;
  Length=strlen(chn);
  wr_lcd (comm,0x30);  //30---基本指令動作
  wr_lcd (comm,0x80);  //把顯示地址設(shè)為0X80,即為第一行的首位--第一頁
  for (i=0;i<Length;i++)
  wr_lcd (dat,chn[i]);
}
void Show_Paska(unsigned char Number) //顯示壓力值
{
  unsigned char tem1,tem2;
  tem1=Number/10;
  tem2=Number%10;
  if(10<=Number)
  {
    wr_lcd (dat,0x30+tem1);
    wr_lcd (dat,0x30+tem2);
  }
  else
  {
    wr_lcd (dat,0x30+tem2);
  }
}

//----下半屏顯示漢字或字符
void chn_dispdown (unsigned char code *chn)
{
  unsigned char i,Length;
  Length=strlen(chn);
  wr_lcd (comm,0x30);        //30---基本指令動作
  wr_lcd (comm,0x90);        //把顯示地址設(shè)為0X90,即為第二行的首位--第二頁
  for (i=0;i<Length;i++)
  wr_lcd (dat,chn[i]);
}

/*--------上半屏清屏---------*/
void Clear_up(void)
{
  unsigned char i;
  wr_lcd (comm,0x30);  /*30---基本指令動作*/
  wr_lcd (comm,0x80);  //把顯示地址設(shè)為0X80,即為第一行的首位--第一頁
  for (i=0;i<16;i++)
  wr_lcd (dat,0x20);
}
/*--------下半屏清屏---------*/
void Clear_down(void)
{
  unsigned char i;
  wr_lcd (comm,0x30);  /*30---基本指令動作*/
  wr_lcd (comm,0x90);        //把顯示地址設(shè)為0X90,即為第二行的首位--第二頁
  for (i=0;i<16;i++)
  wr_lcd (dat,0x20);
}

MS12232F.h文件:

#ifndef   _MS12232F_h_
#define   _MS12232F_h_

#define x1    0x80
#define x2    0x88
#define y     0x80
#define comm  0
#define dat   1
sbit cs   = P1^3;
sbit std  = P1^1;
sbit sclk = P1^0;

void delay_MS12232F (unsigned int us);   //delay time
void init_lcd (void);/*----初始化-----*/
void wr_lcd (unsigned char dat_comm,unsigned char content);/*---寫指令或者寫數(shù)據(jù)---*/
void clrram (void);/*---清DDRAM----*/
void chn_disp(unsigned char code *chn);/*---上下半屏順序顯示漢字或字符----*/
void chn_dispup (unsigned char code *chn);//----上半屏顯示漢字或字符
void Show_Paska(unsigned char Number);//顯示壓力值
void chn_dispdown (unsigned char code *chn);//----下半屏顯示漢字或字符

void Clear_up(void);/*--------上半屏清屏---------*/

void Clear_down(void);/*--------下半屏清屏---------*/
#endif


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

沙發(fā)
ID:586957 發(fā)表于 2019-8-4 15:27 | 只看該作者
/*----初始化-----*/
void init_lcd (void)
{
  wr_lcd (comm,0x30);  /*30---基本指令動作*/   
  wr_lcd (comm,0x01);  /*清屏,地址指針指向00H*/
  delay_MS12232F (100);
  wr_lcd (comm,0x06);  /*光標(biāo)的移動方向*/
  wr_lcd (comm,0x0c);  /*開顯示,關(guān)游標(biāo)*/
}
請問,初始化函數(shù)中清DDRAM,發(fā)送指令不是應(yīng)該為0x02,設(shè)定DDRAM的地址計數(shù)器(AC)為H,并且將游標(biāo)移到開頭原點(diǎn)的位置???
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美一二精品 | 亚洲国产精品一区二区久久 | 日本a视频 | 日日干夜夜干 | 在线色网址 | 成年人免费看的视频 | 999久久 | 日韩综合网 | 国产一级片一区二区三区 | 激情一区二区三区 | 日韩一区不卡 | 久久网亚洲 | 国产三级一区二区三区 | 一区二区在线视频 | 国产日韩精品一区 | 国产一二三区免费视频 | 91精品国产高清久久久久久久久 | 日韩成人影院 | 九九久久国产 | 久久精品在线 | 97视频久久 | 成人精品鲁一区一区二区 | 成人免费影院 | 久久伊人免费视频 | 日韩伦理一区二区三区 | av中文字幕在线观看 | 日日天天 | 亚洲一区 中文字幕 | 2020亚洲天堂| 天天爱爱网 | 国产免费一区二区三区最新6 | 久久精品国产99国产精品 | 国产免费又色又爽又黄在线观看 | 一区二区久久 | 美国一级片在线观看 | 中文字幕在线三区 | 在线免费观看a级片 | 国产在线不卡 | 91亚洲国产成人久久精品网站 | 国产精品激情小视频 | 伊人狠狠 |