📄 lcd320x240.c
字号:
/**********************************************************************
* 2006 Microchip Technology Inc.
*
* FileName: lcd.c
* Dependencies: p33FJ256GP710.h
*
*
* Processor: dsPIC33F
* Compiler: MPLAB?C30 v2.01 or higher
*
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Author Date Comments on this revision
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* lsp 07/12/20
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* LCD (320x240)PIN
*
* Wway -> RD13
* RSset-> RD12
* RS -> RD10
* E -> RD11
* Rd -> RD8
* wr -> RD9
* DATA -> RD0 - RD7
**********************************************************************/
#include "p33FJ256GP710.h"
#include "math.h"
//==================================================
//==================================================
// Control signal data pins
#define WR LATDbits.LATD9 // LCD RD signal
#define RD LATDbits.LATD8 // LCD WR signal
#define RS LATDbits.LATD10 // LCD RS signal_C/D
#define E LATDbits.LATD11 // LCD E signal_CE
#define RSset LATDbits.LATD12 // LCD RESET signal
#define Wway LATDbits.LATD13 // LCD Wway signal
// Control signal pin direction
#define WR_TRIS TRISDbits.TRISD9
#define RD_TRIS TRISDbits.TRISD8
#define RS_TRIS TRISDbits.TRISD10
#define E_TRIS TRISDbits.TRISD11
#define RSset_TRIS TRISDbits.TRISD12
#define Wway_TRIS TRISDbits.TRISD13
// Data signals and pin direction
#define DATA LATD // Port for LCD data
#define DATAPORT PORTD //
#define TRISDATA TRISD // I/O setup for data Port
//===========================================================================
extern unsigned int txthome,grhome;
extern unsigned int lcmcp,lcmdp,lcd_data;
//================================================
// 系统设置
// dataTAB1 系统参数设置
// dataTAB2 显示控制设置
//================================================
const unsigned int dataTAB1[8]__attribute__ ((space(auto_psv)))=
{0x0030,0x0087,0x0087,0x0027,0x002C,0x00F0,0x0028,0x0000};
const unsigned int dataTAB2[10]__attribute__ ((space(auto_psv)))=
{0x0000,0x0000,0x00F0,0x00b0,0x0004,0x00F0,0x0000,0x0000,0x0000,0x0000};
//================================================
// 字母点阵定义
//================================================
// 8*16点阵
//0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j
//k l m n o p q r s t u v w x y z A B C D
//E F G H I J K L M N O P Q R S T U V W X
//Y Z
// 16*16点阵
//江苏科技大学电信学院应用电子中心研制坐0
//1 2 3 4 5 6 7 8 9 a b c d e f g h i j k
//l m n o p q r s t u v w x y z A B C D E
//F G H I J K L M N O P Q R S T U V W X Y
//Z 电压质量监测统计数据年月日时总运行时间
//合格率超上下限最大小值网谐波畸变奇偶次含
//出频现流视在有无第一二三四象限因数偏差平
//衡闪变断失刻上标准时间日期十分秒标准系数
//变比时段波峰平谷本机地址密码心跳输入方式
//设置位:接线瞬时单相放缩参功感容性触:,
//。;!()+ - * % {}《 》?一二三四五六
//七八九十*/
// 24*24点阵
//电能质量分析与监测仪器压统计数据谐波流功
//率量频谱图柱状曲线实时单相三四线分双V I
//P 0 1 2 3 4 5 6 7 8 9 K P A 。
//================================================
const unsigned int HZ8_DOT_LIB[ ]__attribute__ ((space(auto_psv)))=
{
//*-- 文字: 0
//*-- 宋体12;
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,
0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,
//*-- 文字: 1
//*-- 宋体12;
0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,
0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
//*-- 文字: 2 --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,
0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00,
//*-- 文字: 3 --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,
0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00,
//*-- 文字: 4 --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,
0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00,
//*-- 文字: 5 --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,
0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00,
//*-- 文字: 6 --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,
0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00,
//*-- 文字: 7 --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,
0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
//*-- 文字: 8 --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,
0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00,
//*-- 文字: 9 --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,
0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00,
//*-- 文字: a --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,
0x42,0x1E,0x22,0x42,0x42,0x3F,0x00,0x00,
//*-- 文字: b --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xC0,0x40,0x40,0x40,0x58,
0x64,0x42,0x42,0x42,0x64,0x58,0x00,0x00,
//*-- 文字: c --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,
0x22,0x40,0x40,0x40,0x22,0x1C,0x00,0x00,
//*-- 文字: d --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x06,0x02,0x02,0x02,0x1E,
0x22,0x42,0x42,0x42,0x26,0x1B,0x00,0x00,
//*-- 文字: e --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,
0x42,0x7E,0x40,0x40,0x42,0x3C,0x00,0x00,
//*-- 文字: f --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x0F,0x11,0x10,0x10,0x7E,
0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
//*-- 文字: g --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,
0x44,0x44,0x38,0x40,0x3C,0x42,0x42,0x3C,
//*-- 文字: h --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xC0,0x40,0x40,0x40,0x5C,
0x62,0x42,0x42,0x42,0x42,0xE7,0x00,0x00,
//*-- 文字: i --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x70,
0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
//*-- 文字: j --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x1C,
0x04,0x04,0x04,0x04,0x04,0x04,0x44,0x78,
//*-- 文字: k --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xC0,0x40,0x40,0x40,0x4E,
0x48,0x50,0x68,0x48,0x44,0xEE,0x00,0x00,
//*-- 文字: l --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x70,0x10,0x10,0x10,0x10,
0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
//*-- 文字: m --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,
0x49,0x49,0x49,0x49,0x49,0xED,0x00,0x00,
//*-- 文字: n --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDC,
0x62,0x42,0x42,0x42,0x42,0xE7,0x00,0x00,
//*-- 文字: o --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,
0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,
//*-- 文字: p --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD8,
0x64,0x42,0x42,0x42,0x44,0x78,0x40,0xE0,
//*-- 文字: q --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,
0x22,0x42,0x42,0x42,0x22,0x1E,0x02,0x07,
//*-- 文字: r --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEE,
0x32,0x20,0x20,0x20,0x20,0xF8,0x00,0x00,
//*-- 文字: s --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,
0x42,0x40,0x3C,0x02,0x42,0x7C,0x00,0x00,
//*-- 文字: t --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x7C,
0x10,0x10,0x10,0x10,0x10,0x0C,0x00,0x00,
//*-- 文字: u --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC6,
0x42,0x42,0x42,0x42,0x46,0x3B,0x00,0x00,
//*-- 文字: v --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,
0x42,0x24,0x24,0x28,0x10,0x10,0x00,0x00,
//*-- 文字: w --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD7,
0x92,0x92,0xAA,0xAA,0x44,0x44,0x00,0x00,
//*-- 文字: x --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,
0x24,0x18,0x18,0x18,0x24,0x76,0x00,0x00,
//*-- 文字: y --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,
0x42,0x24,0x24,0x28,0x18,0x10,0x10,0xE0,
//*-- 文字: z --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,
0x44,0x08,0x10,0x10,0x22,0x7E,0x00,0x00,
//*-- 文字: A --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x10,0x10,0x18,0x28,0x28,
0x24,0x3C,0x44,0x42,0x42,0xE7,0x00,0x00,
//*-- 文字: B --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xF8,0x44,0x44,0x44,0x78,
0x44,0x42,0x42,0x42,0x44,0xF8,0x00,0x00,
//*-- 文字: C --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3E,0x42,0x42,0x80,0x80,
0x80,0x80,0x80,0x42,0x44,0x38,0x00,0x00,
//*-- 文字: D --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xF8,0x44,0x42,0x42,0x42,
0x42,0x42,0x42,0x42,0x44,0xF8,0x00,0x00,
//*-- 文字: E --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xFC,0x42,0x48,0x48,0x78,
0x48,0x48,0x40,0x42,0x42,0xFC,0x00,0x00,
//*-- 文字: F --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xFC,0x42,0x48,0x48,0x78,
0x48,0x48,0x40,0x40,0x40,0xE0,0x00,0x00,
//*-- 文字: G --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x44,0x44,0x80,0x80,
0x80,0x8E,0x84,0x44,0x44,0x38,0x00,0x00,
//*-- 文字: H --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,
0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00,
//*-- 文字: I --*/
//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -