📄 nokia7110.c
字号:
//-----------------------------------------------------------------
// 名称: Nokia7110显示驱动程序(SED1565) (不带字库,96*64)
//-----------------------------------------------------------------
#include <pic.h>
#include <stdio.h>
#include "Nokia7110.h"
#define INT8U unsigned char
#define INT16U unsigned int
//-----------------------------------------------------------------
// ASCII字符5x7点阵库(每个字符5字节点阵数据)
//-----------------------------------------------------------------
const INT8U ASCII_FONT[] = {
0x00,0x00,0x00,0x00,0x00, //20 空格
0x00,0x00,0x5f,0x00,0x00, //21 !
0x00,0x07,0x00,0x07,0x00, //22 "
0x14,0x7f,0x14,0x7f,0x14, //23 #
0x24,0x2a,0x7f,0x2a,0x12, //24 $
0x23,0x13,0x08,0x64,0x62, //25 %
0x36,0x49,0x55,0x22,0x50, //26 &
0x00,0x05,0x03,0x00,0x00, //27 '
0x00,0x1c,0x22,0x41,0x00, //28 (
0x00,0x41,0x22,0x1c,0x00, //29 )
0x14,0x08,0x3e,0x08,0x14, //2A *
0x08,0x08,0x3e,0x08,0x08, //2B +
0x00,0x50,0x30,0x00,0x00, //2C ,
0x08,0x08,0x08,0x08,0x08, //2D -
0x00,0x60,0x60,0x00,0x00, //2E .
0x20,0x10,0x08,0x04,0x02, //2F /
0x3e,0x51,0x49,0x45,0x3e, //30 0
0x00,0x42,0x7f,0x40,0x00, //31 1
0x42,0x61,0x51,0x49,0x46, //32 2
0x21,0x41,0x45,0x4b,0x31, //33 3
0x18,0x14,0x12,0x7f,0x10, //34 4
0x27,0x45,0x45,0x45,0x39, //35 5
0x3c,0x4a,0x49,0x49,0x30, //36 6
0x01,0x71,0x09,0x05,0x03, //37 7
0x36,0x49,0x49,0x49,0x36, //38 8
0x06,0x49,0x49,0x29,0x1e, //39 9
0x00,0x36,0x36,0x00,0x00, //3A :
0x00,0x56,0x36,0x00,0x00, //3B ;
0x08,0x14,0x22,0x41,0x00, //3C <
0x14,0x14,0x14,0x14,0x14, //3D =
0x00,0x41,0x22,0x14,0x08, //3E >
0x02,0x01,0x51,0x09,0x06, //3F ?
0x32,0x49,0x79,0x41,0x3e, //40 @
0x7e,0x11,0x11,0x11,0x7e, //41 A
0x7f,0x49,0x49,0x49,0x36, //42 B
0x3e,0x41,0x41,0x41,0x22, //43 C
0x7f,0x41,0x41,0x22,0x1c, //44 D
0x7f,0x49,0x49,0x49,0x41, //45 E
0x7f,0x09,0x09,0x09,0x01, //46 F
0x3e,0x41,0x49,0x49,0x7a, //47 G
0x7f,0x08,0x08,0x08,0x7f, //48 H
0x00,0x41,0x7f,0x41,0x00, //49 I
0x20,0x40,0x41,0x3f,0x01, //4A J
0x7f,0x08,0x14,0x22,0x41, //4B K
0x7f,0x40,0x40,0x40,0x40, //4C L
0x7f,0x02,0x0c,0x02,0x7f, //4D M
0x7f,0x04,0x08,0x10,0x7f, //4E N
0x3e,0x41,0x41,0x41,0x3e, //4F O
0x7f,0x09,0x09,0x09,0x06, //50 P
0x3e,0x41,0x51,0x21,0x5e, //51 Q
0x7f,0x09,0x19,0x29,0x46, //52 R
0x46,0x49,0x49,0x49,0x31, //53 S
0x01,0x01,0x7f,0x01,0x01, //54 T
0x3f,0x40,0x40,0x40,0x3f, //55 U
0x1f,0x20,0x40,0x20,0x1f, //56 V
0x3f,0x40,0x38,0x40,0x3f, //57 W
0x63,0x14,0x08,0x14,0x63, //58 X
0x07,0x08,0x70,0x08,0x07, //59 Y
0x61,0x51,0x49,0x45,0x43, //5A Z
0x00,0x7f,0x41,0x41,0x00, //5B [
0x02,0x04,0x08,0x10,0x20, //5C 55
0x00,0x41,0x41,0x7f,0x00, //5D ]
0x04,0x02,0x01,0x02,0x04, //5E ^
0x40,0x40,0x40,0x40,0x40, //5F _
0x00,0x01,0x02,0x04,0x00, //60 `
0x20,0x54,0x54,0x54,0x78, //61 a
0x7f,0x48,0x44,0x44,0x38, //62 b
0x38,0x44,0x44,0x44,0x20, //63 c
0x38,0x44,0x44,0x48,0x7f, //64 d
0x38,0x54,0x54,0x54,0x18, //65 e
0x08,0x7e,0x09,0x01,0x02, //66 f
0x0c,0x52,0x52,0x52,0x3e, //67 g
0x7f,0x08,0x04,0x04,0x78, //68 h
0x00,0x44,0x7d,0x40,0x00, //69 i
0x20,0x40,0x44,0x3d,0x00, //6A j
0x7f,0x10,0x28,0x44,0x00, //6B k
0x00,0x41,0x7f,0x40,0x00, //6C l
0x7c,0x04,0x18,0x04,0x78, //6D m
0x7c,0x08,0x04,0x04,0x78, //6E n
0x38,0x44,0x44,0x44,0x38, //6F o
0x7c,0x14,0x14,0x14,0x08, //70 p
0x08,0x14,0x14,0x18,0x7c, //71 q
0x7c,0x08,0x04,0x04,0x08, //72 r
0x48,0x54,0x54,0x54,0x20, //73 s
0x04,0x3f,0x44,0x40,0x20, //74 t
0x3c,0x40,0x40,0x20,0x7c, //75 u
0x1c,0x20,0x40,0x20,0x1c, //76 v
0x3c,0x40,0x30,0x40,0x3c, //77 w
0x44,0x28,0x10,0x28,0x44, //78 x
0x0c,0x50,0x50,0x50,0x3c, //79 y
0x44,0x64,0x54,0x4c,0x44, //7A z
0x00,0x08,0x36,0x41,0x00, //7B {
0x00,0x00,0x7f,0x00,0x00, //7C |
0x00,0x41,0x36,0x08,0x00, //7D }
0x10,0x08,0x08,0x10,0x08 //7E ~
};
//-----------------------------------------------------------------
// SPI主机初始化
//-----------------------------------------------------------------
void SPI_MasterInit()
{
}
//-----------------------------------------------------------------
// SPI数据传输
//-----------------------------------------------------------------
void SPI_Transmit(INT8U dat)
{
//启动数据传输,等待结束,然后清中断标志
}
//-----------------------------------------------------------------
// 清屏
//-----------------------------------------------------------------
void Nokia_CLS()
{
}
//-----------------------------------------------------------------
// 复位Nokia LCD
//-----------------------------------------------------------------
void Nokia_Reset()
{
}
//-----------------------------------------------------------------
// 初始化Nokia LCD
//-----------------------------------------------------------------
void Nokia_Init()
{
Nokia_Reset(); //复位Nokia LCD
Write_Norkia_Command(0xA6); //正常显示模式(0xA7为反相模式)
Write_Norkia_Command(0xA3); //液晶偏压设置(1/9 0xA2 - 1/7 0xA3)
Write_Norkia_Command(0xA1); //段驱动方向选择,0xA1为反向,0xA0为正常)
Write_Norkia_Command(0xC0); //行输出方向,C0为正常,C1为反向
Write_Norkia_Command(0x22); //电阻率设置(V5电压控制)
Write_Norkia_Command(0x81); //电量模式设置
Write_Norkia_Command(0x2F); //设置内部电源操作模式
Write_Norkia_Command(0xE3); //NOP操作
Write_Norkia_Command(0x40); //起始行设为0行
Write_Norkia_Command(0xA4); //正常显示模式
Write_Norkia_Command(0xAF); //0xAF开显示(0xAE关显示)
}
//-----------------------------------------------------------------
// 写LCD命令(DC=0选择命令寄存器)
//-----------------------------------------------------------------
void Write_Norkia_Command(INT8U cmd)
{
}
//-----------------------------------------------------------------
// 写LCD数据(DC=1选择数据寄存器)
//-----------------------------------------------------------------
void Write_Nokia_Data(INT8U dat)
{
}
//-----------------------------------------------------------------
// LCD定位函数(定位于p页c列)
// 页范围0~7,列范围0~15(共16列字符,每列字符宽度为5像素,留一像素间隔,故
// 每列字符宽度为6像素.全屏宽96像素,故共可显示96/6=16列字符)
//-----------------------------------------------------------------
void Set_Nokia_LCD_POS(INT8U page, INT8U col)
{
}
//-----------------------------------------------------------------
// 字符显示函数,待显示字符ASCII码为c,反相标志为reverse
//-----------------------------------------------------------------
void Show_Char(INT8U c, INT8U reverse)
{
}
//-----------------------------------------------------------------
// 向LCD当前位置输出字符
//-----------------------------------------------------------------
void Show_String(INT8U *str,INT8U reverse)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -