微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 想请问下12864怎么画线?(串口)

想请问下12864怎么画线?(串口)

时间:10-02 整理:3721RD 点击:

  1. 打点绘图,适用于在屏幕上打稀疏的几个点,不能用于横行连续打点
  2. void LCD_draw_point(u8 x, u8 y)
  3. {
  4.    u8 x_byte, x_bit;         //在横坐标的哪一个字节,哪一个位
  5.    u8 y_byte, y_bit;    //在纵坐标的哪一个字节,哪一个位
  6.    x_byte=x/16;                   //算出它在哪一个字节(地址)
  7.                                       //注意一个地址是16位的
  8.    x_bit=x%16;                    //(取模)算出它在哪一个位
  9.    y_byte=y/32;                    //y是没在哪个字节这个说法
  10.                              //这里只是确定它在上半屏(32行为一屏)还是下半屏
  11.                                      //0:上半屏 1:下半屏
  12.    y_bit=y%32;                    //y_bit确定它是在第几行
  13.    LCD_write_com(0x34);         //打开扩展指令集
  14.   
  15. LCD_write_com(0x80+y_bit);       //垂直地址(上)   貌似与说明书正好相反
  16.    LCD_write_com(0x80+x_byte+8*y_byte);  //先写水平坐标(下)   貌似与说明书正好相反    ?

  17.                                       //具体参照数据手册
  18.                                                //下半屏的水平坐标起始地址为0x88
  19.                                      //(+8*y_byte)就是用来确定在上半屏还是下半屏
  20.    if(x_bit<8)                              //如果x_bit位数小于8
  21.    {
  22.        LCD_write_dat(0x01<<(7-x_bit));    //写高字节。因为坐标是从左向右的
  23.                                                 //而GDRAM高位在左,低位在右
  24.     LCD_write_dat(0x00);                   //低字节全部填0
  25.    }
  26.    else
  27.    {
  28.        LCD_write_dat(0x00);                   //高字节全部填0
  29.        LCD_write_dat(0x01<<(15-x_bit));
  30.    }
  31.    LCD_write_com(0x36);                     //打开绘图显示
  32.    LCD_write_com(0x30);               //回到基本指令集
  33. }

复制代码


好像都是符号,没有划线功能啊

小编,建议再看看资料

懂写字不懂怎么画线打点,有想法可以提点下

把需要画的线或其他的,转成16进制码,像写字一样

像有点作品是ADC+LCD显示波形的那种,它那个线怎么处理。你有相应的作品吗,可以分享下么

我的都在家,现在没有

学习

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

网站地图

Top