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

📄 example_lcdb.c

📁 C8051F020单片机开发板演示程序
💻 C
字号:
/************************************************************************************
*  Copyright (c), 2004-2007,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* Http:  www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: Example_lcdb.c
*
* Project  : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
* 
* Author:  EagleC
* Version: 1.00
* Date:    2007.07.05
* Email:   
* 
* Description: 本文件主要演示lcd一些画图功能
*
* Others: none;
*
* Function List:
*
* History:
*   1. Author:       Eagle Cao
*	   Version: 	 1.00
*      Date:         2007.07.05
*      Modification: 建立文件
*
*************************************************************************************/

/************************************************************************************/
// 引用外部头文件
#include  "driver.h"
#include  "api.h"
#include  "ShowLCD.h"

/***********************************************************************************
* 函数名称:Flash_Proc;
*
* 函数功能描述:lcd画图测试程序
*              
* 输入参数:none;
*
* 返回数据:none;
*
* 注意:    none;
************************************************************************************/
void LCDB_Proc(void)
{
	unsigned char key;
	unsigned int  m,n;
	unsigned char *pShowData;
	unsigned char nX; 
	unsigned char *pItem; 
	
	LCDB_ClearScreen();
	Show_Title();
	LCDB_DispFWord(32,8*(20-7),"LCD 图 形 测 试");
	nX = 64;
	pItem = "本测试程序主要测试LCD的各种绘图显示功能。"; 
	LCDB_DispFWord(nX, 32,pItem);
	
	pItem = "A:画线测试";
	LCDB_DispFWord(nX+16*3, 56,pItem);
	pItem = "B:画矩形测试";
	LCDB_DispFWord(nX+16*4, 56,pItem);
	pItem = "C:画圆测试";
	LCDB_DispFWord(nX+16*5, 56,pItem);
	pItem = "D:汉字测试";
	LCDB_DispFWord(nX+16*6, 56,pItem);
	pItem = "E:帮助";
	LCDB_DispFWord(nX+16*7, 56,pItem);
	pItem = "F:返回";
	LCDB_DispFWord(nX+16*8, 56,pItem);	
				
	while (1) 
	{
		EWachdog_Clear();
		key = Key_Read();
		if(key != CH452_KEY_INVAL)
		{
			ALARM_Ctrl(1);
			Delay_ms(20);
			ALARM_Ctrl(0);				
			switch(key) {
			case 0x0a://画线
				Show_ClareX64();
				for (m=0;m<320;m+=8)
				{
					EWachdog_Clear();
					Delay_ms(100); 
					LCDB_DrawLine(64,0,240,m,1);
				}
				Delay_s(1);
				for (n=64;n<=240;n+=8)
				{
					EWachdog_Clear();
					Delay_ms(100); 
					LCDB_DrawLine(64,0,n,320,1);
				}
				break;
			case 0x0b://画框
				Show_ClareX64();				
				for (n=64;n<16*10+64;n+=32)
				{
					EWachdog_Clear();
					LCDB_DrawFillRectangle(n,32,n+32,300,1);				 
				}
				break;
			case 0x0c://画圆
				Show_ClareX64();
				for (m=0;m<88;m+=8)
				{
					EWachdog_Clear();
					Delay_ms(100); 
					LCDB_DrawCircle(152, 160, m, 1);
				}
				break;
			case 0x0d://写汉字
				Show_ClareX64();
				pShowData = "西安铭朗电子科技有限责任公司";
				LCDB_DispFWord(32*2,32*0,pShowData);
				LCDB_DispFWord(32*3,32*0,pShowData);
				LCDB_DispFWord(32*4,32*0,pShowData);
				LCDB_DispFWord(32*5,32*0,pShowData);
				LCDB_DispFWord(32*6,32*0,pShowData);
				break;
			case 0x0E://帮助说明
				Show_ClareX64();
				nX = 64;
				pItem = "本测试程序主要测试LCD的各种绘图显示功能。"; 
				LCDB_DispFWord(nX, 32,pItem);
				
				pItem = "A:画线测试";
				LCDB_DispFWord(nX+16*3, 56,pItem);
				pItem = "B:画矩形测试";
				LCDB_DispFWord(nX+16*4, 56,pItem);
				pItem = "C:画圆测试";
				LCDB_DispFWord(nX+16*5, 56,pItem);
				pItem = "D:汉字测试";
				LCDB_DispFWord(nX+16*6, 56,pItem);
				pItem = "E:帮助";
				LCDB_DispFWord(nX+16*7, 56,pItem);
				pItem = "F:返回";
				LCDB_DispFWord(nX+16*8, 56,pItem);	
				break;
			case 0x0f://返回
				return;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -