?? lcdb_example.c
字號:
/************************************************************************************
* Copyright (c), 2004-2007,西安銘朗電子科技有限責(zé)任公司
* All rights reserved.
*
* Http: www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: LCDB_Example.c
* Project : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
*
* Author: 李林利
* Version: 1.20
* Date: 2007.6.1
* Email: GavinLi@126.com
*
* Description: LCDB測試程序文件;
*
* Others: none;
*
* Function List:
* 1. void LCDB_Proc(void)
*
* History:
* 1. Author: 李林利
* Version: 1.10
* Date: 2007.3.12
* Modification: none
*
* 2. Author: 李林利
* Version: 1.00
* Date: 2004.11.24
* Modification: 建立文件
*
*************************************************************************************/
/************************************************************************************/
// 引用外部頭文件
#include "..\config\Const.h"
#include "..\driver\uart.h"
#include "..\driver\delay.h"
#include "..\driver\LCDB.h"
/************************************************************************************/
/************************************************************************************/
// 常量及全局變量定義
/************************************************************************************/
/////////////////////////////////////////////////////////////////////////
// 漢字字模表 //
// 漢字庫: 宋體16.dot,橫向取模左高位,數(shù)據(jù)排列:從左到右從上到下 //
/////////////////////////////////////////////////////////////////////////
extern unsigned char code HZ_MING_32X32[]; // "銘",
extern unsigned char code HZ_LANG_32X32[]; // "朗",
extern unsigned char code HZ_KE_32X32[]; // "科",
extern unsigned char code HZ_JI_32X32[]; // "技",
// 漢字表:
// 銘朗科技
/*************************************************************************************/
//
// LCDB測試程序函數(shù)定義
//
/*************************************************************************************/
/***********************************************************************************
* Function: LCDB_Proc;
*
* Description: LCDB測試程序;
*
* Input: none;
*
* Return: none;
*
* Note: none;
************************************************************************************/
void LCDB_Proc(void)
{
unsigned char i,cmd;
unsigned int val,m,n;
int buf[23];
Uart0_SendBlock("LCDB test starting!\n\r",21,&i);
LCDB_Init(240,320);
//LCDB_Init(160,240);
while(1)
{
cmd = 0;
if (Uart0_GetCharsRxBuf()>0)
{
Uart0_RecvChar(&cmd);
//LCDB_ClearScreen_test(cmd);
}
switch (cmd)
{
case '0':
Uart0_SendBlock("Set Map0!\n\r",12,&i);
LCDB_SetGraphMaps(0);
cmd = 0;
break;
case '1':
Uart0_SendBlock("Set Map1!\n\r",12,&i);
LCDB_SetGraphMaps(1);
cmd = 0;
break;
case '2':
Uart0_SendBlock("Set Map2!\n\r",12,&i);
LCDB_SetGraphMaps(2);
cmd = 0;
break;
case 'A':
Uart0_SendBlock("Draw Dot!\n\r",12,&i);
LCDB_ClearScreen();
for (m=0;m<240;m++)
for (n=0;n<320;n++)
LCDB_DrawPixel(m, n, 1);
/*
Delay_s(2);
for (m=0;m<240;m++)
for (n=0;n<320;n++)
LCDB_DrawPixel(m, n, 0);
*/
cmd = 0;
break;
case 'B':
Uart0_SendBlock("Draw Line!\n\r",13,&i);
LCDB_ClearScreen();
for (m=0;m<240;m+=8)
{
Delay_ms(100);
LCDB_DrawLine(0,0,240,m,1);
}
Delay_s(1);
for (n=0;n<320;n+=8)
{
Delay_ms(100);
LCDB_DrawLine(0,0,n,320,1);
}
Delay_s(1);
/*
for (m=0;m<240;m+=8)
{
Delay_ms(100);
LCDB_DrawLine(0,0,240,m,0);
}
Delay_s(1);
for (n=0;n<320;n+=8)
{
Delay_ms(100);
LCDB_DrawLine(0,0,n,320,0);
}
Delay_s(1);
*/
cmd = 0;
break;
case 'C':
Uart0_SendBlock("Rectangle Line!\n\r",18,&i);
LCDB_ClearScreen();
for (m=0;m<40;m++)
{
Delay_ms(100);
LCDB_DrawRectangle(0, 0, m*6, m*8, 1);
}
/*
Delay_s(2);
for (m=0;m<40;m++)
{
Delay_ms(100);
LCDB_DrawRectangle(0, 0, m*6, m*8, 0);
}
*/
cmd = 0;
break;
case 'D':
Uart0_SendBlock("FillRectangle Line!\n\r",22,&i);
LCDB_ClearScreen();
LCDB_DrawFillRectangle(16,32,200,300,1);
//Delay_s(2);
//LCDB_DrawFillRectangle(16,32,200,300,0);
cmd = 0;
break;
case 'F':
Uart0_SendBlock("Circle Line!\n\r",15,&i);
LCDB_ClearScreen();
for (m=0;m<160;m+=8)
{
Delay_ms(100);
LCDB_DrawCircle(120, 160, m, 1);
}
/*
Delay_s(2);
for (m=0;m<160;m+=8)
{
Delay_ms(100);
LCDB_DrawCircle(120, 160, m, 0);
}*/
cmd = 0;
break;
case 'H':
Uart0_SendBlock("HZ32X32 Line!\n\r",16,&i);
LCDB_ClearScreen();
for (m=4;m<320;m+=24)
{
Delay_ms(100);
LCDB_ShowHZxy(m, m, 24,24,HZ_MING_32X32);
LCDB_ShowHZxy(m, m+24, 24,24,HZ_LANG_32X32);
LCDB_ShowHZxy(m, m+48, 24,24,HZ_KE_32X32);
LCDB_ShowHZxy(m, m+72, 24,24,HZ_JI_32X32);
}
//Delay_s(2);
cmd = 0;
break;
case 'E':
Uart0_SendBlock("LCDB test end!\n\r",16,&i);
cmd = 0;
return;
break;
default:
break;
}
}
}
/***********************************************************************************/
// 文件結(jié)束
/***********************************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -