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

📄 main.c

📁 这个是一款128×128自带二级汉字库的串行LCD的驱动代码
💻 C
字号:
//========================================================================
//  工程名称:Prj_MzLH06_EditDemo
//  作    者: xinqiang Zhang(小丑)  (email: xinqiang@Mzdesign.com.cn)    
//  联系方式:QQ 644272644
//	版权所有:北京铭正同创科技有限公司   www.mzdesign.com.cn
//  适应芯片: LPC21XX/LPC22XX(本例为LPC2292)
//  编程环境: Keil uVision 3
//  实现功能: MzLH06模块的Edit控件(数字编辑控件)功能演示
//
//  系统要求: PC with CPU 233MHz,128MB RAM,
//                      Keil uVision3(or later)
//  组成文件:
//		Startup.s	----ARM7 LPC2292的启动文件,自动生成的,不必要修改
//		target.c	----系统初始化,该文件中的代码会初始化存储器、PLL等一些必要东西//			target.h	----可修改该文件的一些定义,以改变系统的基本配置
//			type.h		----一些定义,与系统无关 
//     	main.c		----主程序文件
//		LCD_Dis.c
//     	LCD_Dis.h
//					----MzLH06模块的基本驱动程序
//
//		Key_Service.c	----键盘服务程序
//
//	硬件连接:
//		LCD CS		    ---Port1.16
//		LCD SCK			---Port1.17
//		LCD_MISO		---Port1.18
//		LCD MOSI		---Port1.19
//		LCD BY			---Port1.20
//		LCD RD			---Port1.21
//  端口定义请参考LCD_Config.h文件中的定义
//
//		LCD 3.3V供电~~~(建议)
//
//		键盘接入请参考该例程的电路示意图
//		Key1			---Port1.22
//		Key2			---Port1.23
//		Key3			---Port1.24
//		Key4			---Port1.25
//		键盘的另外一端接地,端口最好接上拉电阻
//
//		本例所演示的MzLH06模块的Edit控件(数字编辑控件)功能,使用了MzLH06模块的指令/数据
//	写入以及数据读出的功能,所以,LCD的MISO、RD引脚需要接入MCU的端口;而LCD模块的复位引脚
//	可以不接,模块内部自有复位的电路.
//		本例程仅提供参考,并没有演示该模块的Edit控件的所有功能,建议用户详细阅读模块的编
//	程手册;而例程中使用的键盘程序为简单的范例程序,用户可以参考,或者根据自己的需要自行
//	设计更合理的代码。
//
//  当前版本:  V1.00
//  日期:  2008-11-16
//  
//  参考文件: 
//  维护记录:
//-------------------------------------------------------------------
//  Version   2008-11-16-V10   Modified By    Xinqiang Zhang(小丑)
//
//========================================================================

#include "Target.h"
#include "LCD_Dis.h"
#include "Key_Service.h"


int main(void)
{
	unsigned char Key_Dat=0;
	int iTemp1=0,iTemp2=0,iTemp3=0;
	TargetInit();					//调用系统配置的初始化代码,初始化Flash加速、系统时钟等
	Key_Initial();
	LCD_Init();
	SetBackLight(0);				//设置背光的亮度等级为0
//	SetBackLightStep(5);
	ClrScreen();  					//清屏

	CreateEdit(101,10,10,60,20);		//创建一个Edit控件,ID=101  x_s=10  y_s=10  width=60  hight=20
	InitEdit(101,0,2387,1,0,6);			//初始化ID号为101的Edit控件
										//index_type=0	选择修改模式
										//Var=2378   初始化的Edit的数值
										//font=1	Edit控件的ASCII字符型号选择 1为8X16的ASCII字符
										//tiny=0	Edit控件为无外框
										//Stringlen=6	Edit控件最多为6位十进制位

	CreateEdit(102,10,40,60,20);		//创建一个Edit控件,ID=101  x_s=10  y_s=10  width=60  hight=20
	InitEdit(102,0,2387,1,1,6);			//初始化ID号为101的Edit控件
										//index_type=0	选择修改模式
										//Var=2378   初始化的Edit的数值
										//font=1	Edit控件的ASCII字符型号选择 1为8X16的ASCII字符
										//tiny=0	Edit控件为无外框
										//Stringlen=6	Edit控件最多为6位十进制位

	CreateEdit(103,10,70,60,20);		//创建一个Edit控件,ID=101  x_s=10  y_s=10  width=60  hight=20
	InitEdit(103,0,2387,1,2,6);			//初始化ID号为101的Edit控件
										//index_type=0	选择修改模式
										//Var=2378   初始化的Edit的数值
										//font=1	Edit控件的ASCII字符型号选择 1为8X16的ASCII字符
										//tiny=0	Edit控件为无外框
										//Stringlen=6	Edit控件最多为6位十进制位

	ActiveEdit(101,1);					//设置ID号为101的Edit控件为活动的
	ActiveEdit(102,1);					//设置ID号为101的Edit控件为活动的
	ActiveEdit(103,1);					//设置ID号为101的Edit控件为活动的
	//以上代码设置了三个Edit控件Active,但实际上只能有一个ID号的控制处于活动状态,以最后一个设置Active状态
	//的控件为当前Active的控件,之所以前面将它们都设置Active,是因为设置Active之后控件会重绘其自身的显示

	SetBackLightAuto(100);			//设置背光缓慢打开,至最亮
	

	while(1)
	{
		KeyScan_Service();	
		Key_Dat = Key_Get();
		if(Key_Dat)
		{
			switch(Key_Dat)
			{
				case 1:	 				//按键1按下时,送“上”操作按键消息至控件
					SendMessageEdit(GUI_SCANCODE_UP);
					break;
				case 2:	 				//按键2按下时,送“下”操作按键消息至控件
					SendMessageEdit(GUI_SCANCODE_DOWN);
					break;
				case 3:					//按键3按下时,送“TAB”操作按键消息至控件,会使得Active状态在各控件间切换
					SendMessageEdit(GUI_SCANCODE_TAB);
					break;
				case 4:					//按键1按下时,送“右移动”操作按键消息至控件
					SendMessageEdit(GUI_SCANCODE_RIGHT);
					break;
				case 5:					//按键1长按下时,读出各控件当前的数值
					iTemp1 = GetValEdit(101);
					iTemp2 = GetValEdit(102);
					iTemp3 = GetValEdit(103);
					iTemp1 = iTemp1;	//以下代码仅仅是为了让编译器不产生警告,没办法,定义了数据没有使用会有警告的
					iTemp2 = iTemp2;
					iTemp3 = iTemp3;
					break;
			}
		}
	}
}


⌨️ 快捷键说明

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