我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 406|回复: 3

Nakia5110源码基于stm32 part3

[复制链接]

该用户从未签到

3

主题

0

回帖

0

积分

一级逆天

积分
0

终身成就奖

QQ
发表于 2017-2-22 21:45:44 | 显示全部楼层 |阅读模式
/*
*函数名:LCD_write_English_string
*描述:写字符串
*输入:横纵坐标,所写字符串
*输出:无
*返回:无
*调用:外部调用
*/   
void LCD_write_English_string(unsigned char X,unsigned char Y,char *s)
  {
    LCD_set_XY(X,Y);
    while (*s)
      {
  LCD_write_char(*s);
  s++;
      }
  }

/*
*函数名:LCD_draw_bmp_pixel
*描述:显示绘图
*输入:横纵坐标,位图
*输出:无
*返回:无
*调用:外部调用
*/   
void LCD_draw_bmp_pixel(unsigned char X,unsigned char Y,
                  unsigned char Pix_x,unsigned char Pix_y)
  {
    unsigned int i,n;
    unsigned char row;
   
    if (Pix_y%8==0) row=Pix_y/8;      //计算位图所占行数
      else
        row=Pix_y/8+1;
   
    for (n=0;n<row;n++)
      {
       LCD_set_XY(X,Y);
        for(i=0; i&ltix_x; i++)
          {
             Nakia5110_LCD_write(Kmap[i+n*Pix_x], 1);
          }
        Y++;                         //换行
      }      
  }

/*
*函数名:LCD_write_chinese_string
*描述:写中文字
*输入:横纵坐标,汉字点阵的宽度,显示汉字个数,汉字点阵数组中的起始行,汉字显示的间隔
*输出:无
*返回:无
*调用:外部调用
*/   
void LCD_write_chinese_string(unsigned char X, unsigned char Y,
                  unsigned char ch_with,unsigned char num,
                    unsigned char line,unsigned char row)
   {
     unsigned char i,n;
     
    LCD_set_XY(X,Y);                             //设置初始位置
     
     for (i=0;i<num;)
       {
        for (n=0; n<ch_with*2; n++)              //写一个汉字
          {
            if (n==ch_with)                      //写汉字的下半部分
              {                if (i==0) LCD_set_XY(X,Y+1);
                else
                   LCD_set_XY((X+(ch_with+row)*i),Y+1);
               }
            Nakia5110_LCD_write(china_char[line+i][n],1);
          }
       i++;
       LCD_set_XY((X+(ch_with+row)*i),Y);
       }
   }
   
/*
*函数名:LCD_move_chinese
*描述:汉字移动
*输入:横纵坐标,延时多少us
*输出:无
*返回:无
*调用:外部调用
*/   
void LCD_move_chinese(unsigned char X, unsigned char Y,unsigned char t)
{
unsigned i,n,j=0;
unsigned char buffer_h[84]={0};
unsigned char buffer_l[84]={0};

for(i=0;i<192;i++)
{
  buffer_h[83]=china_char_1[i/12][j];
  buffer_l[83]=china_char_1[i/12][j+12];
   j++;
  if(j==12)
   j=0;
  
  for(n=0;n<83;n++)
  {
   buffer_h[n]=buffer_h[n+1];
   buffer_l[n]=buffer_l[n+1];
  }
  
  LCD_set_XY(X,Y);
  for(n=0;n<83;n++)
  {
   Nakia5110_LCD_write(buffer_h[n],1);
  }
  
  LCD_set_XY(X,Y+1);
  for(n=0;n<83;n++)
  {
   Nakia5110_LCD_write(buffer_l[n],1);
  }
  
  delay_nus(t);
}
}
  
  
/*
*函数名:LCD_Write_Shu_zi
*描述:写数字
*输入:横纵坐标,要写的浮点数
*输出:无
*返回:无
*调用:外部调用
*/
void LCD_Write_Shu_zi(unsigned char X, unsigned char Y,float t)
{
char s[84];
//char *s;
sprintf(s,"%f",t);
LCD_write_English_string(X,Y,s);
}
回复

使用道具 举报

该用户从未签到

9

主题

548

回帖

565

积分

禁止发言

积分
565

社区居民忠实会员终身成就奖特殊贡献奖

QQ
发表于 2017-2-23 08:37:40 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

35

主题

7586

回帖

1212

积分

二级逆天

积分
1212

社区居民忠实会员社区劳模原创达人最爱沙发终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

QQ
发表于 2017-2-23 09:08:37 | 显示全部楼层
回复

使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 101 天

    [LV.6]常住居民II

    49

    主题

    1万

    回帖

    7万

    积分

    三级逆天

    积分
    73174

    终身成就奖特殊贡献奖原创先锋奖社区居民忠实会员社区劳模最爱沙发社区明星原创达人优秀斑竹奖宣传大使奖

    QQ
    发表于 2017-2-24 07:32:51 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表