• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签: R61509  

资源简介

包含R61509V.c和.h两个文件

资源截图

代码片段和文件信息

#include “type_def.h“
#include “SD.h“
#include “FAT32.h“
#include “R61905V.h“
#include “gui.h“
#include “ASCII(8x16).h“
#include “ASCII(12x24).h“
//#include “ASCII(16x32).h“
//#include “ASCII(20x40).h“



extern PART_INFO_type xdata FAT32_info;
extern ITEM_INFO_type xdata HZK16;
extern ITEM_INFO_type xdata HZK24;
//extern ITEM_INFO_type xdata HZK32;
//extern ITEM_INFO_type xdata HZK40;






//全角字符各字号对应的字符宽度和字模总字节数
u8 code full_char[2][5]=
{
{81624 32 40}    //字模宽度
{83272128200}    //字模总字节数
};



//半角字符各字号对应的字符宽度、高度和字节总数
u8 code half_char[2][5]=
{
{4 81216 20} //字模宽度
{8162436 40} //字模高度
//{8164864128} //字模总字节数
}; 



/*******************************************************************************
* 函 数 名:  lcd_paint
* 功    能:  液晶全屏刷屏
* 入口参数:  color刷屏颜色
* 出口参数:  无
* 返 回 值:  无
*******************************************************************************/

void lcd_paint(u16 color)
{
u8 xy;

lcd_set_window(00239319);
    for(y=160;y>0;y--)  //液晶总有像素320*240
{
for (x=240;x>0;x--)
    {
         lcd_write_dat(color);  
 lcd_write_dat(color);
    }
}
}

/*******************************************************************************/

void lcd_show_half_char(u16 xu16 yu8 sizeu16 f_coloru16 b_coloru8 pchar)
{
u8 datheightn8i*ppchar;

//size-=1;
pchar-=32;

height=half_char[1][size-1];   //取得相应字号的字符高度

lcd_set_window( x  y  x+half_char[0][size-1]-1  y+half_char[1][size-1]-1 );//得出起点、终点坐标并调用活动窗口函数设置活动窗口

switch (size-1)
{
case 0:break; //对应1号字,因未建立1号字符字模,故不可用
case 1:ppchar=ASCII_8x16[pchar];break;  //对应2号字,取得相应字号字模头指针
case 2:ppchar=ASCII_12x24[pchar];break; //对应3号字,取得相应字号字模头指针
//case 3:ppchar=ASCII_16x32[pchar];break; //对应4号字,取得相应字号字模头指针
//case 4:ppchar=ASCII_20x40[pchar];break; //对应5号字,取得相应字号字模头指针
default:return;
}

for(;height>0;height--)   
{
for(n8=(half_char[0][size-1]>>3);n8>0;n8--) //根据相应字号的字模宽度得出写8点像素数据的次数
{
dat=*(ppchar++);  //取得ASCII码字模数据
for(i=8;i>0;i--)  //循环8次写入8点像素
{
if(dat&0x80)
{
lcd_write_dat(f_color);
}
else 
{
lcd_write_dat(b_color);
}
dat<<=1; //移位1准备写入一下点像素
}
}

if( half_char[0][size-1]&0x07 )   //根据字号得出是否存在有无效位的字节
{
dat=*(ppchar++);   //取得字模数据
for(i=4;i>0;i--)   //有效像素是4点,写入4点,丢弃4点
{
if(dat&0x80)
{
lcd_write_dat(f_color);
}
else 
{
lcd_write_dat(b_color);
}
dat<<=1;
}
}
}
}

/*******************************************************************************/
/*
void lcd_show_half_str(u16 xu16 yu8 sizeu8 *stru16 color)
{
//size-=1;

while( (*str)!=‘\0‘ )  //判断是否到达字符串末尾
{
lcd_show_half_char(xysize*strcolor);   
x+=half_char[0][size-1];   
str++;    
}
}*/

/*******************************************************************************/
/*
void lcd_show_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4782  2013-06-27 09:05  R61905V.c

     文件        968  2013-06-28 16:17  gui.h

     文件        344  2013-06-27 10:27  R61905V.h

     文件       9398  2013-06-28 16:17  gui.c

----------- ---------  ---------- -----  ----

                15492                    4


评论

共有 条评论