⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.c

📁 该程序文件作为密码小键盘项目的主程序模块
💻 C
📖 第 1 页 / 共 2 页
字号:
#include <stdio.h>
#include <absacc.h>
#include <intrins.h>
#include "source.h"

code uchar  huanyingshiyong[] ={

	//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

    /*--  文字:  欢  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
    0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30,
    0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10,0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,

	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

    /*--  文字:  迎  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F,0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41,
    0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42,0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,

	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

	/*--  文字:  使  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00,0x04,0x80,0xF4,0x43,0x14,0x45,0x14,0x29,
    0x14,0x19,0xFF,0x17,0x14,0x21,0x14,0x21,0x14,0x41,0xF6,0xC3,0x04,0x40,0x00,0x00,

	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

	/*--  文字:  用  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x00,0x80,0x00,0x60,0xFE,0x1F,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0xFE,0x7F,
    0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82,0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0x00
	};
code uchar  qing[] ={

	//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

    /*--  文字:  请  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x20,0x00,0x22,0x00,0xEC,0x7F,0x00,0x20,0x20,0x10,0x22,0x00,0xAA,0xFF,0xAA,0x0A,
    0xAA,0x0A,0xBF,0x0A,0xAA,0x4A,0xAA,0x8A,0xEB,0x7F,0xA2,0x00,0x20,0x00,0x00,0x00,

	/*--  文字:  输  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x88,0x09,0x68,0x09,0x1F,0x05,0xC8,0xFF,0x0C,0x05,0x28,0x00,0x90,0xFF,0xA8,0x0A,
    0xA6,0x8A,0xA1,0xFF,0x26,0x00,0x28,0x1F,0x10,0x80,0xB0,0xFF,0x10,0x00,0x00,0x00,

    /*--  文字:  入  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x0C,0x01,0x03,0xE2,0x00,0x1C,0x00,
    0xE0,0x00,0x00,0x03,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0xC0,0x00,0x40,0x00,0x00,

	/*--  文字:  密  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x10,0x00,0x4C,0x01,0x24,0xFD,0x04,0x41,0xF4,0x40,0x84,0x41,0x4D,0x41,0x56,0x7F,
    0x24,0x41,0x24,0x41,0x14,0x41,0x84,0x41,0x24,0xFC,0x54,0x00,0x0C,0x00,0x00,0x00,

    /*--  文字:  码  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
    0x02,0x01,0x82,0x00,0xF2,0x7F,0x4E,0x20,0x43,0x20,0xE2,0x7F,0x42,0x08,0xFA,0x09,
    0x02,0x09,0x02,0x09,0x02,0x0D,0xFF,0x49,0x02,0x81,0x80,0x7F,0x00,0x01,0x00,0x00
    };
code uchar chongxin[]={

	//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

    /*--  文字:  请  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x20,0x00,0x22,0x00,0xEC,0x7F,0x00,0x20,0x20,0x10,0x22,0x00,0xAA,0xFF,0xAA,0x0A,
    0xAA,0x0A,0xBF,0x0A,0xAA,0x4A,0xAA,0x8A,0xEB,0x7F,0xA2,0x00,0x20,0x00,0x00,0x00,

	/*--  文字:  重  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x08,0x40,0x08,0x40,0x0A,0x48,0xEA,0x4B,0xAA,0x4A,0xAA,0x4A,0xAA,0x4A,0xFE,0x7F,
    0xAA,0x4A,0xAA,0x4A,0xA9,0x4A,0xF9,0x4B,0x29,0x48,0x0C,0x60,0x08,0x40,0x00,0x00,

    /*--  文字:  新  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x40,0x20,0x44,0x11,0x54,0x49,0x65,0x81,0xC6,0x7F,0x64,0x01,0xD6,0x05,0x44,0x29,
    0x40,0x18,0xFC,0x07,0x44,0x00,0x42,0x00,0xC3,0xFF,0x62,0x00,0x40,0x00,0x00,0x00,

	/*--  文字:  输  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x88,0x09,0x68,0x09,0x1F,0x05,0xC8,0xFF,0x0C,0x05,0x28,0x00,0x90,0xFF,0xA8,0x0A,
    0xA6,0x8A,0xA1,0xFF,0x26,0x00,0x28,0x1F,0x10,0x80,0xB0,0xFF,0x10,0x00,0x00,0x00,

    /*--  文字:  入  --*/
	/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x0C,0x01,0x03,0xE2,0x00,0x1C,0x00,
    0xE0,0x00,0x00,0x03,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0xC0,0x00,0x40,0x00,0x00
    };
code uchar xing[] ={

    /*--  文字:  1 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,

	    /*--  文字:  2 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,

	    /*--  文字:  3  *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字: 4  *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  5 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  6 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  7 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  8 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  9 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  10 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  11 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  12 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  13 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  14*  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  15 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00,
	
	    /*--  文字:  16 *  --*/
	 /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
    0x00,0x00,0x40,0x06,0x80,0x02,0xA0,0x09,0xF0,0x0F,0x80,0x02,0xC0,0x02,0x40,0x00
};

/*
调用方式:void OutMI(uchar i)
函数说明:主控制器写命令
入口参数: 一个字节的命令字符
出口参数:无
内部函数:是
*/
void OutMI(uchar a)
{
    E1=0;              /****主控制开********/
    _nop_();           /***一条空指令****/
    _nop_(); 
				
    RW=0;              /********写********/
    _nop_();
    _nop_();

	A0=0;              /*****指令***********/
    _nop_();
    _nop_();

	E1=1;
    _nop_();
    _nop_();

    DATA=a;
    _nop_();
    _nop_();

    E1=0;              /****主控制关********/
    _nop_();
    _nop_();
}
/*
调用方式:void OutMD(uchar i)
函数说明:主控制器写数据
入口参数: 一个字节的数据字符
出口参数:无
内部函数:是
*/
void OutMD(uchar a)
{
    E1=0;
    _nop_();
    _nop_();

	 RW=0;              /********写********/
    _nop_();
    _nop_();

    A0=1;                /*****数据******/
    _nop_();
    _nop_();

	E1=1;
    _nop_();
    _nop_();

    DATA=a;
    _nop_();
    _nop_();

    E1=0;
    _nop_();
    _nop_();
}
/*
调用方式:void OutSI(uchar i)
函数说明:从控制器写命令
入口参数: 一个字节的命令字符
出口参数:无
内部函数:是
*/
void OutSI(uchar a)
{	
    E2=0;                  /****从控制开*******/
    _nop_();
    _nop_();

	RW=0;              /********写********/
    _nop_();
    _nop_();

    A0=0;
    _nop_();
    _nop_();

	E2=1;                  /****从控制开*******/
    _nop_();
    _nop_();

    DATA=a;
    _nop_();
    _nop_();

    E2=0;                /****从控制关********/
    _nop_();
    _nop_();
}
/*
调用方式:void OutSD(uchar i)
函数说明:从控制器写数据
入口参数: 一个字节的数据字符
出口参数:无
内部函数:是
*/
void OutSD(uchar a)
{
    E2=0;
    _nop_();
    _nop_();
	A0=1;
    _nop_();
    _nop_();

	RW=0;              /********写********/
    _nop_();
    _nop_();
	
    E2=1;
    _nop_();
    _nop_();

    DATA=a;
    _nop_();
    _nop_();

    E2=0;
    _nop_();
    _nop_();
}

#define setpages(page)        OutSI(0xb8+((page)&0x03)) /*设置从控制器的页*/
#define setcols(address)      OutSI((address)&0x7f)     /*column设置从控制器的列*/
#define setpagem(page)        OutMI(0xb8+((page)&0x03)) /*设置主控制器的页*/
#define setcolm(address)      OutMI((address)&0x7f)     /*column设置主控制器的列*/


/*
调用方式:void clearbmp(struct PIC *p)
函数说明:清除图形函数
入口参数: 图形结构体指针
出口参数:无
内部函数:是
*/
void clearbmp(struct PIC *p)
{//y must 0,8,16 or 24
    uchar i,j;
	 uchar *buf;

    for(j=0;j<p->h/8;j++)
	 {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -