微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 12864求助

12864求助

时间:10-02 整理:3721RD 点击:
使用12864显示16*32字符出现问题,希望大家帮忙看看什么问题,
显示大字符的时候有几个地方不正常,本人也想不出原由


单个字符显示的代码如下:

  1. //==========================================================//
  2. //        @        函数名:LCD_DispMode
  3. //        @        功  能:显示16X32图形
  4. //        @        参  数:uchar x,uchar y,uchar *bmp
  5. //        @        说  明:横坐标X列,要显示的图形BMP
  6. //==========================================================//
  7. void WriteGDRAM( uint_8 X,uint_8 *bmp )       
  8. {
  9.         uint_8 i,BaseX;
  10.         BaseX = 0X80+X-1;
  11.         Write_Cmd(0x36);  
  12.         for( i=0;i<32;i++ )                         //写入上半屏16行点阵
  13.         {                                                                                                               
  14.                 Write_Cmd(0X80+i);          //先写入垂直位址,选上下32行的哪一行,不管上下半屏,第二行为0X90。
  15.                 Write_Cmd(BaseX);            //(选上半屏)再写入水平位址
  16.                 Write_Data(*bmp++);
  17.                 Write_Data(*bmp++);
  18.         }
  19.         Write_Cmd(0x36);                          //写完数据,开图片显示     
  20. }

复制代码




已解决,横坐标地址写两次就完全正常,不知道为什么,参考别人的程序都是写一次

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top