?? lcd.c
字號:
/************************************************************************************
* Copyright (c) 2004,西安銘朗電子科技有限責任公司
* All rights reserved.
*
* 文件名稱: LCDC_Driver.C
* 文件標識: none
* 適用器件: C8051F020 DMC12864
*
* 摘 要: 本文件是LCD顯示子程序;使用外部22.1184MHz晶振,將跳線器JP8短接,R44空閑
*
* 當前版本:1.1
* 作 者:劉大偉
* 完成日期:2007年2月1日
*
* 歷史版本:1.0
* 作 者:盧 陽
* 完成日期:2004年11月14日
*
* 歷史版本:0.9
* 原作者 : 李林利
* 完成日期:2004年1月1日
*************************************************************************************/
/*******************************引用外部頭文件***************************************/
#include "..\config\common.h"
#include "lcd.h"
#include <INTRINS.H>
#include <math.h>
/************************************************************************************/
/*********************************全局變量*******************************************/
unsigned int xdata addr;
unsigned char xdata *tp;
/*-- 文字: 銘 --*/
/*-- 楷體_GB231224; 此字體下對應的點陣為:寬x高=32x33 --*/
C_BYTE WLib_ming_32x32[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF8,0xF8,0x78,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0xC0,0xFC,0x78,0x38,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0xC0,0xF0,0xF8,0xDE,0xCF,0xC7,0x66,0x66,0x66,0x67,0x02,0x30,
0x38,0x3C,0x7E,0xE7,0xC3,0xC3,0xE3,0xF3,0x7F,0x1F,0x0F,0x07,0x02,0x00,0x00,0x00,
0x00,0x06,0x03,0x11,0x10,0x18,0x18,0x18,0xFF,0xFF,0x1F,0x0C,0x4C,0x6C,0x64,0x30,
0x38,0xFC,0xFC,0x3F,0x37,0x33,0x31,0x30,0x18,0x18,0xF8,0xF8,0x70,0x30,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x3F,0x3F,0x1E,0x0E,0x07,0x03,0x01,0x00,
0x00,0x0F,0x3F,0x1C,0x0C,0x0C,0x0C,0x06,0x06,0x07,0x07,0x07,0x00,0x00,0x00,0x00,
0x54,0x2B,0xDC,0x00,0x54,0x2B,0xDC,0x00,0x20,0x00,0x00,0x00,0x32,0x30,0x30,0x34,
0x2D,0x39,0x2D,0x31,0x30,0x20,0x31,0x36,0x3A,0x34,0x36,0x3A,0x20,0x00,0x00,0x00
};
/*-- 文字: 朗 --*/
/*-- 楷體_GB231224; 此字體下對應的點陣為:寬x高=32x33 --*/
/*-- 寬度不是8的倍數,現調整為:寬度x高度=39x33 --*/
C_BYTE WLib_lang_32x32[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x18,0x38,0xF8,0xB0,0x00,0x00,
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x06,0xFE,0xFE,0x36,0x32,0x33,0x33,0xC3,0xFF,0xFF,0x07,
0x00,0x01,0xFF,0xFF,0x61,0x61,0x61,0x21,0x01,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xC3,0xC3,0xE3,0x6B,0x3B,0x7B,0x70,0x00,
0xC0,0xF8,0x7F,0x0F,0x0C,0x0C,0x0C,0x04,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x07,0x0F,0x07,0x03,0x01,0x00,0x20,0x20,0x30,0x18,0x0C,0x0F,
0x07,0x01,0x00,0x00,0x00,0x04,0x0C,0x1C,0x7C,0x7F,0x1F,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,0x00,0x00,0x00,0x00,0x00
};
/*-- 文字: 科 --*/
/*-- 楷體_GB231224; 此字體下對應的點陣為:寬x高=32x33 --*/
/*-- 寬度不是8的倍數,現調整為:寬度x高度=39x33 --*/
C_BYTE WLib_ke_32x32[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0xE0,0x70,0x78,0x70,0x20,
0x00,0x00,0x00,0x00,0x00,0x04,0x7C,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x40,0xC0,0xE0,0xE0,0xE1,0x61,0x61,0xF1,0xF0,0xFF,0xFF,0xB8,0x98,0x98,0x18,
0x00,0x11,0x33,0x73,0x67,0x02,0x00,0xFF,0xFF,0x00,0x00,0x80,0x80,0x80,0x80,0x00,
0x00,0x80,0xC0,0x60,0x70,0x38,0x1C,0x0F,0x07,0x83,0xFF,0xFF,0x01,0x03,0x03,0x0C,
0x0C,0x0C,0x0E,0x06,0x06,0x06,0x06,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x03,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
/*-- 文字: 技 --*/
/*-- 楷體_GB231224; 此字體下對應的點陣為:寬x高=32x33 --*/
/*-- 寬度不是8的倍數,現調整為:寬度x高度=39x33 --*/
C_BYTE WLib_ji_32x32[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0xFC,0xFC,0x18,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x8C,0xFC,0xFC,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x10,0x18,0x18,0x18,0x18,0x18,0xFF,0xFF,0x8C,0x8C,0x0C,0x00,0x0C,0x0C,
0x0C,0x8C,0xFF,0xFF,0x87,0xC7,0xC7,0xC3,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x30,0x70,0x70,0x70,0x38,0x1C,0x0C,0x0E,0xFF,0xFF,0x01,0x00,0x00,0x01,0x0F,0x0F,
0x1B,0xB1,0xF1,0xF1,0xFD,0xDF,0x8F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x04,0x0C,0x1C,0x3E,0x3F,0x0F,0x00,0x08,0x0C,0x0C,0x06,0x06,
0x03,0x03,0x01,0x00,0x00,0x01,0x03,0x07,0x0F,0x1E,0x1E,0x1C,0x1C,0x1C,0x18,0x08,
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
};
/*-- 文字: W --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=10x8 --*/
C_BYTE WLib_W_10x8[]={
0x02,0x0e,0x70,0xc2,0x3e,0x32,0xc0,0x72,0x0e,0x02
};
/*-- 文字: M --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=9x8 --*/
C_BYTE WLib_M_9x8[]={
0x82,0xfe,0x8e,0x70,0x80,0x70,0x8e,0xfe,0x82
};
/*-- 文字: L --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=6x8 --*/
C_BYTE WLib_L_6x8[]={
0x82,0xfe,0x82,0x80,0xc0,0x00
};
/*-- 文字: A --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=7x8 --*/
C_BYTE WLib_A_7x8[]={
0x80,0xe0,0xbc,0x22,0x3c,0xe0,0x80
};
/*-- 文字: R --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=7x8 --*/
C_BYTE WLib_R_7x8[]={
0x82,0xFe,0x92,0x32,0x52,0x8c,0x80
};
/*-- 文字: C --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=7x8 --*/
C_BYTE WLib_C_7x8[]={
0x00,0x7c,0x82,0x82,0x84,0x46,0x00
};
/*-- 文字: O --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=7x8 --*/
C_BYTE WLib_O_7x8[]={
0x00,0x7c,0x82,0x82,0x82,0x7c,0x00
};
/*-- 文字: . --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=4x8 --*/
C_BYTE WLib_dot_4x8[]={
0x00,0xc0,0xc0,0x00
};
/*-- 文字: T --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_T_6x8[]={
0x00,0x06,0x82,0xfe,0x82,0x06
};
/*-- 文字: e --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_e_5x8[]={
0x00,0x70,0xa8,0xa8,0xb0
};
/*-- 文字: l --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_l_4x8[]={
0x00,0x82,0xfe,0x80
};
/*-- 文字: : --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_ddot_3x8[]={
0x00,0x6c,0x6c
};
/*-- 文字: - --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_line_6x8[]={
0x00,0x10,0x10,0x10,0x10,0x10
};
/*-- 文字: 1 --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=4x8 --*/
C_BYTE WLib_1_4x8[]={
0x00,0x84,0xFe,0x80
};
/*-- 文字: 2 --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_2_5x8[]={
0x00,0xc4,0xa2,0x92,0x8c
};
/*-- 文字: 3 --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_3_5x8[]={
0x00,0x44,0x92,0x92,0x6c
};
/*-- 文字: 4 --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=6x8 --*/
C_BYTE WLib_4_6x8[]={
0x00,0x30,0x28,0x24,0xfe,0x20
};
/*-- 文字: 5 --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_5_5x8[]={
0x00,0x4e,0x8a,0x8a,0x72
};
/*-- 文字: 6 --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=6x8 --*/
C_BYTE WLib_6_5x8[]={
0x00,0x7c,0x92,0x92,0x60
};
/*-- 文字: 7 --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_7_5x8[]={
0x00,0x02,0xf2,0x0a,0x06
};
/*-- 文字: 8 --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_8_5x8[]={
0x00,0x6c,0x92,0x92,0x6c
};
/*-- 文字: 9 --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_9_5x8[]={
0x00,0x0c,0x92,0x92,0x7c
};
/*-- 文字: 0 --*/
/*-- Times New Roman8; 此字體下對應的點陣為:寬x高=5x8 --*/
C_BYTE WLib_0_5x8[]={
0x00,0x7c,0x82,0x82,0x7c
};
/***********************************************************************************
* 函數名稱:dis_start0;
*
* 函數功能描述:顯示開機界面"銘朗科技www.mlarm.com"及電話;
*
* 輸入參數:none;
*
* 返回數據:none;
*
* 注意: none;
************************************************************************************/
void dis_start0(void)
{
LCDC_DispWord (0, 32, WLib_ming_32x32, 4, 32, 1);
LCDC_DispWord (32, 32, WLib_lang_32x32, 4, 32, 1);
LCDC_DispWord (64, 32, WLib_ke_32x32, 4, 32, 1);
LCDC_DispWord (96, 32, WLib_ji_32x32, 4, 32, 1);
LCDC_DispWord (8, 16, WLib_W_10x8, 1, 10, 1);
LCDC_DispWord (19, 16, WLib_W_10x8, 1, 10, 1);
LCDC_DispWord (30, 16, WLib_W_10x8, 1, 10, 1);
LCDC_DispWord (46, 16, WLib_M_9x8, 1, 9, 1);
LCDC_DispWord (57, 16, WLib_L_6x8, 1, 6, 1);
LCDC_DispWord (63, 16, WLib_A_7x8, 1, 7, 1);
LCDC_DispWord (71, 16, WLib_R_7x8, 1, 7, 1);
LCDC_DispWord (79, 16, WLib_M_9x8, 1, 9, 1);
LCDC_DispWord (90, 16, WLib_dot_4x8, 1, 4, 1);
LCDC_DispWord (94, 16, WLib_C_7x8, 1, 7, 1);
LCDC_DispWord (102, 16, WLib_O_7x8, 1, 7, 1);
LCDC_DispWord (110, 16, WLib_M_9x8, 1, 9, 1);
LCDC_DispWord (11, 2, WLib_T_6x8, 1, 6, 1);
LCDC_DispWord (17, 2, WLib_e_5x8, 1, 5, 1);
LCDC_DispWord (22, 2, WLib_l_4x8, 1, 4, 1);
LCDC_DispWord (27, 2, WLib_ddot_3x8, 1, 3, 1);
LCDC_DispWord (34, 2, WLib_0_5x8, 1, 5, 1);
LCDC_DispWord (39, 2, WLib_2_5x8, 1, 5, 1);
LCDC_DispWord (44, 2, WLib_9_5x8, 1, 5, 1);
LCDC_DispWord (49, 2, WLib_line_6x8, 1, 6, 1);
LCDC_DispWord (55, 2, WLib_8_5x8, 1, 5, 1);
LCDC_DispWord (60, 2, WLib_8_5x8, 1, 5, 1);
LCDC_DispWord (65, 2, WLib_2_5x8, 1, 5, 1);
LCDC_DispWord (70, 2, WLib_2_5x8, 1, 5, 1);
LCDC_DispWord (75, 2, WLib_3_5x8, 1, 5, 1);
LCDC_DispWord (80, 2, WLib_5_5x8, 1, 5, 1);
LCDC_DispWord (85, 2, WLib_9_5x8, 1, 5, 1);
LCDC_DispWord (90, 2, WLib_7_5x8, 1, 5, 1);
LCDC_DispWord (95, 2, WLib_line_6x8, 1, 6, 1);
LCDC_DispWord (101, 2, WLib_8_5x8, 1, 5, 1);
LCDC_DispWord (106, 2, WLib_0_5x8, 1, 5, 1);
LCDC_DispWord (111, 2, WLib_2_5x8, 1, 5, 1);
}
/***********************************************************************************
* 函數名稱:LCDC_Init;
*
* 函數功能描述:lcd_init;
*
* 輸入參數:none;
*
* 返回數據:none;
*
* 注意: 具體Lcd操作請參考DMC12864.PDF;
************************************************************************************/
void LCDC_Init (void)
{
DISABLE_INTERRUPTS; //關中斷
addr = Lcd_Cs |
Lcd_CsChip |
Lcd_WrCmd; //寫命令 (參考Lcd_Driver.h文件宏定義)
LCDC_WrCmd (Lcd_Dsl); //Display start line
LCDC_WrCmd (St_Addr); //COLOUM ADDRESS
LCDC_WrCmd (St_Page); //ROW ADDRESS
LCDC_WrCmd (Dis_ON ); //Display ON
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -