99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發新帖

請教12864C液晶控制

我是初學者,正在學液晶,找了一塊12864C,內控IC未知,找了些相關資料,寫了個小程序,只要求能顯示,我就是嘗試將數寫入液晶內,并顯示.但液晶幾乎沒反應,不知為何?
#include
#include
#include
#include
#define   unchar   unsigned char
#define   unint    unsigned int
/*************LCD指令****************/
#define  GLCD_ON       63      //打開LCD
#define  GLCD_OFF      62      //關閉LCD
#define  GLCD_LINE     192     //左半邊起始行
#define  SET_PAGE      184     //設置頁數
#define  SET_Y         64      //設置Y軸位置
#define  CLEAR         0       //清除LCD
/*************LCD控制****************/
sbit          EN   = P2^7;
sbit          RW   = P2^6;
sbit          RS   = P2^5;
sbit          CS2  = P2^4;
sbit          CS1  = P2^3;
unchar        Gx,Gy;
/***************查忙*****************/
check_GLCD()
{
  unsigned char x,bei_cs1,bei_cs2;
  bei_cs1=CS1;
  CS1=0;
  bei_cs2=CS2;
  CS2=0;
  EN = 0;    
  RW = 1;    
  RS = 0;
  P1 = 0xff;
  EN = 1;
  do
   {
    x=P1&0x80;
   }
  while(x);
  EN = 1;      
  RW = 1;
  RS = 1;
  CS1=bei_cs1;
  CS2=bei_cs2;
}
/*********************寫入控制指令0/0****************/
void write_GLCD(unsigned command)
{
  unsigned char bei_cs1,bei_cs2;
  bei_cs1=CS1;      
  bei_cs2=CS2;
  EN = 0;
  CS1=0;
  CS2=0;
  RW = 0;
  RS = 0;
  EN = 1;
  P1 = command;
  EN = 0;
  RW = 1;
  RS = 1;
//檢查忙碌標志
  check_GLCD();
  CS1=bei_cs1;
  CS2=bei_cs2;
}
/************初始復位*******************/
clear_GLCD()
{
  unsigned int i,j;
  for(i=0;i<2;i++);
  CS1=1;
  CS2=1;
  write_GLCD(GLCD_ON);    
  write_GLCD(GLCD_LINE);  
  for(i=0;i<8;i++)
   {
    write_GLCD(SET_PAGE+i);
    write_GLCD(SET_Y);
    for(j=0;j<64;j++)
      write_GLCD(0);
   }
}
/*********************寫入顯示數據1/0****************/
void write_GLCD_data(unsigned GLCDdata)
{
  unsigned char bei_cs1,bei_cs2;

  bei_cs1=CS1;
  bei_cs2=CS2;
  EN=0;
  CS1=0;
  CS2=0;
  RW=0;         // P2_6 = 0        
  RS=1;         // P2_5 = 1
  EN=1;         // P2_7=1
  P0=GLCDdata;  // 從 P0 送出 數據
  EN=0;         // P2_7= 0
  RS=0;         // P2_5 = 0
  RW=1;         // P2_6 = 1
// 檢查忙碌標記,直到繪圖型LCD不忙碌時就返回
  check_GLCD();
  CS1=bei_cs1;
  CS2=bei_cs2;
}
/*********************讀顯示數據****************/
read_GLCD()
{
  unsigned char bei_cs1,bei_cs2,command;
  bei_cs1=CS1;      
  bei_cs2=CS2;
  EN = 0;
  CS1=0;
  CS2=0;
  P1=0xff;
  RW = 1;
  RS = 1;
  EN = 1;
  command = P1;
  EN = 0;
  RW = 1;
  RS = 1;
//檢查忙碌標志
  check_GLCD();
  CS1=bei_cs1;
  CS2=bei_cs2;
  return  command;
}
gotoxy(unsigned x,unsigned y)
{
  Gy=y;
  Gx=x;
}
/*****************主程序區****************************/
main()
{
  unsigned int       j,n;
  unsigned char      c2,c3;
  while(1)
   {
    clear_GLCD();
    gotoxy(0,0);
    write_GLCD(1);     //設置x  3F/63     GLCD_ON
    write_GLCD(GLCD_LINE);   //  C0/192
    for(c2=0;c2<4;c2++)
     {
      write_GLCD(SET_PAGE+c2);       //184
      write_GLCD(SET_Y);              //64
      for(j=0;j<64;j++)
       {
        write_GLCD(64+j);
        write_GLCD_data(j);
        c3=read_GLCD();
       }
      c3=read_GLCD();
     }
    EN=1;
    write_GLCD(1);     //設置x  3F/63
    CS1=0;
    CS2=0;
    EN=0;
    for(n=0;n<50000;++n);
  }  
}
1044201183705432.sch
全部回復(4)
正序查看
倒序查看
xing1234
LV.6
2
2007-07-06 15:10
電源是工作正常了的,能看見底色,負壓也調好(大約-5.5V),我正在帶起仿真器努力調試.
0
回復
xing1234
LV.6
3
2007-07-07 11:40
@xing1234
電源是工作正常了的,能看見底色,負壓也調好(大約-5.5V),我正在帶起仿真器努力調試.
我找的12864C資料, 1044201183779653.pdf
0
回復
xiaojia
LV.2
4
2007-07-09 19:11
12864 pdf
0
回復
2011-06-17 16:48
@xing1234
我找的12864C資料,1044201183779653.pdf
嘻嘻,好東西?。hank you!
0
回復
主站蜘蛛池模板: 一区二区免费在线观看 | 久久靖品 | 久操资源 | av网址在线免费观看 | 国产精品18久久久久久久网站 | 狠狠噜天天噜日日噜视频麻豆 | 欧美成人午夜 | 三级无码AV在线观看网址 | 91caoporn超碰最新地址 | 国产日韩欧美一区 | 996热re视频精品视频这里 | 91精品国产一区二区 | 中文字幕第15页 | 亚洲最新精品 | 色婷婷五月综合激情中文字幕 | 亚洲精品久久久一区二区图片 | 可以免费观看av毛片 | 狠狠噜天天噜日日噜视频麻豆 | 色综合久久综合网 | 日本a级在线播放 | 亚洲欧洲无码一区二区三区 | 国产学生av娇小av毛片 | 国产在线精品一区二区三区 | 欧美日韩一区免费 | 国产高清成人久久 | 在线观看91精品国产入口 | 扒开双腿猛进入在线观看 | 国产精品福利一区 | 少妇翘臀亚洲精品av图片 | 久久视频这里只精品 | av毛片一区二区三区 | 国产欧美一区二区精品仙草咪 | 国产伦一区二区三区色一情 | aV无码久久久久不卡蜜桃 | 色综合久久精品 | 国精产品一二二区视频 | 99久热在线精品国产观看 | 亚洲国产成人综合一区二区三区 | 久久99久久久 | 国产又大又粗又爽的毛片 | 在线无码成本人视频动漫 |