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

📄 nokia7110.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 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 + -