2298|0

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于mini12864st7565串行描点绘图的问题 [复制链接]

本人是刚刚入门的新手想请教各位大神如何用这个lcd来描点。开发板是htm-52,买的时候卖家也有送一些教程但是他们的代码就是直接用字模软件来转换,以下是他们给我驱动程序,所以我想请教一下如何改这个驱动程序来可以用这个mini12864来描点画图。谢谢各位了!
void LcdWriteCmd(cmd)
{
char i;
lcd_CS=0;
lcd_RS=0;
for(i=0;i<8;i++){
   lcd_SCLK=0;
   if(cmd&0x80) lcd_SID=1; //ÖÃêy¾YÏß
   else       lcd_SID=0;
   lcd_SCLK=1;  //2úéúê±ÖóéÏéyÑØ
   cmd <<= 1;
}
lcd_CS=1;
}

/*******************************************************************************
* oˉ êy Ãû         : LcdWriteData
* oˉêy1|Äü                   : D′èëò»¸öêy¾Yμ½12864
* êä    èë         : dat
* êä    3ö         : ÎT
*******************************************************************************/

void LcdWriteData(dat)
{       
char i;
lcd_CS=0;
lcd_RS=1;
for(i=0;i<8;i++){
   lcd_SCLK=0;
   if(dat&0x80) lcd_SID=1; //ÖÃêy¾YÏß
   else       lcd_SID=0;
   lcd_SCLK=1;  //2úéúê±ÖóéÏéyÑØ
   dat <<= 1;
}
lcd_CS=1;
}

void lcd_delay(int i){ //LCDרóÃÑóê±oˉêy
int j,k;
for(j=0;j for(k=0;k<1;k++);
}

/*******************************************************************************
* oˉ êy Ãû         : LCD12864_Init
* oˉêy1|Äü                   : 3õê¼»ˉ12864
* êä    èë         : ÎT
* êä    3ö         : ÎT
* Ëμ    Ã÷         : LCD12864μÄÃüáîÖ¸áî¿éòÔ2é¿′ày3ìÎļt¼DÏÂμÄ¡¶ST7565pêy¾YêÖ2á¡·
*                  * μÄμú51ò3μÄλÖá£
*******************************************************************************/

void Lcd12864_Init()
{
        code unsigned char con_d2 = 0x16; //¶Ô±è¶èϸμ÷ĬèÏÖμ,¿ééèÖ÷¶Î§ 0x00¡«0x3f
  lcd_RST=0;     lcd_delay(1000);//μíμçƽ¸′λ
  lcd_RST=1;     lcd_delay(20);  //¸′λíê3é
       
  LcdWriteCmd(0xe2); lcd_delay(5);   //èí¸′λ

  LcdWriteCmd(0x2c); lcd_delay(5);  //éyÑ12½¾Û Boost ON
  LcdWriteCmd(0x2e); lcd_delay(5);  //éyÑ12½¾Û Voltage Regular ON
  LcdWriteCmd(0x2f); lcd_delay(5);  //éyÑ12½¾Û Voltage Follower ON

  LcdWriteCmd(0x24);  //′Öμ÷¶Ô±è¶è£¬¿ééèÖ÷¶Î§ 0x20¡«0x27
  LcdWriteCmd(0x81);  //΢μ÷¶Ô±è¶è,′ËDD¼°ÏÂDDDè½ô¸ú
  LcdWriteCmd(con_d2);//0x1a,΢μ÷¶Ô±è¶èμÄÖ죬¿ééèÖ÷¶Î§ 0x00¡«0x3f

  LcdWriteCmd(0xa2);  //1/9 Æ«Ñ1±è(bais set)
  LcdWriteCmd(0xc8);  //DDé¨ÃèË3Dò£o0xc8′óéÏμ½ÏÂ,0xc0′óÏÂμ½éÏ
  LcdWriteCmd(0xa0);  //áDé¨ÃèË3Dò£o0xa0′ó×óμ½óò,0xa1′óóòμ½×ó

  LcdWriteCmd(0x40);  //Æeê¼DD£oμúò»DD¿aê¼
  LcdWriteCmd(0xaf);  //¿aÏÔê¾       

}

/*******************************************************************************
* oˉ êy Ãû         : LcdClearScreen
* oˉêy1|Äü                   : ÇåÆá12864
* êä    èë         : ÎT
* êä    3ö         : ÎT
*******************************************************************************/
void LcdClearScreen(void)
{
        unsigned char i, j;

        for(i=0; i<8; i++)
        {
                LcdWriteCmd(0xB0+i); //yÖáμØÖ·

                //--ÔúD′èëêy¾YÖ®oóX×ø±êμÄ×ø±êêÇ»á×Ô¶ˉ¼ó1μÄ£¬ÎòÃÇ3õê¼»ˉê1óÃ0xA0
    //xÖá×ø±ê′ó0x10,0x00¿aê¼
                LcdWriteCmd(0x10);
                LcdWriteCmd(0x00);                                                          
               
                //XÖáóD128룬¾íò»12Ë¢128′Σ¬X×ø±ê»á×Ô¶ˉ¼ó1£¬ËùòÔÎòÃÇ2»óÃÔùéèÖÃ×ø±ê
                for(j=0; j<128; j++)
                {
                        LcdWriteData(0x00);  
                }
        }
}

/*******************************************************************************
* oˉ êy Ãû: LcdFullPic
* oˉêy1|Äü: ÏÔê¾è«Æáí¼Æ¬
* êä    èë: ÎT
* êä    3ö: ÎT
*******************************************************************************/
void LcdFullPic(const unsigned char *pic)
{
        unsigned char i, j;

        for(i=0; i<8; i++)
        {
                LcdWriteCmd(0xB0+i); //yÖáμØÖ·

                //--ÔúD′èëêy¾YÖ®oóX×ø±êμÄ×ø±êêÇ»á×Ô¶ˉ¼ó1μÄ£¬ÎòÃÇ3õê¼»ˉê1óÃ0xA0
    //xÖá×ø±ê′ó0x10,0x00¿aê¼
                LcdWriteCmd(0x10);
                LcdWriteCmd(0x00);                                                          
               
                //XÖáóD128룬¾íò»12Ë¢128′Σ¬X×ø±ê»á×Ô¶ˉ¼ó1£¬ËùòÔÎòÃÇ2»óÃÔùéèÖÃ×ø±ê
                for(j=0; j<128; j++)
                {
                        LcdWriteData(pic[i*128 + j]);  
                }
        }
}


此帖出自51单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表