📄 lcd.c
字号:
#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 + -