main.c

来自「这是一个我以前用AT89S52单片机做的128-64液晶屏的驱动显示程序」· C语言 代码 · 共 107 行

C
107
字号
#include<reg52.h>
#include<intrins.h>
#include"12864-pin.h"
#include"BMP.h"

#define NOP


/*菜单函数;*/
extern void menu_operate();		   //	主菜单界面
extern void menu_main();
extern void menu1();			   //	子菜单;
extern void menu2();
extern void menu3();
extern void menu4();
extern void menu5();
extern void menu6();
extern void menu7();
extern void menu8();

bit compare(uchar *key);	 	//密码核对;
bit VOI=0;						// 声音开关

/////////////////////////////////////////////////////////////////////////
/////////按键声音///////////////////////////////////////////////////
void voice()
{
	p37=0;
	delay(30);
	p37=1;
}

/////////////////////////////////////////////////////////////
///////密码错误画面/////////////////////////////////////////////
void key_error(void)
{
	clrgdram();
	clrddram();
	send_i(0x0c);			 //关光标;
	gotoxy(2,1);
	LCD_puts("密码错误",8);
	delay(800);
}
//////////////////////////////////////////////////////////////////////////////////
/////////密码输入///////////////////////////////////////////
void putkey(uchar *k)
{
	uchar i;
	for(i=0;i<6;i++)
	{   
		(*k)=gotkey(); 
		if(*k==15) write_appoint(i,0);				//	万能开机方式:初始化密码为000000
		if(VOI==1) voice();						//	按键声音
		LCD_puts("*",1);	
 	    k++;
	}
}
////////////////////////////////////////////////////////////////////////////////////////

main()
{
	uchar i=0,keym[6];
	init_LCD();
loop:
	clrgdram();
	clrddram();	
	putsBmp(0,0,8,32,BMP);
	gotoxy(0,2);		   // 设置文本输出位置
	LCD_puts("开机密码",8);	
	send_i(0x8c);	   //	设置DDRAM	光标位置;
	send_i(0x0e);			 //开光标;
	LCD_puts(" ",1);
	putkey(keym);				//	输入密码
	if(compare(keym)==1)			//密码比较;
		menu_operate();			   //系统菜单;
	 else 
	{
		key_error();
		goto loop;				// 错误则返回;
	}
}


/*////////////////////////////////////////////////////////////////
/////密码核对,*/////////////////////////////////////////////////*/
bit compare(uchar *key)
{
	uchar k,i=0;
	while(1)
	{
		k=read_appoint(i);
		if(*key==15) return 1;		//	系统后门:万能开机
		if((*key++)==k) i++;
		else break;
	}
	if(i==6) return 1;
	else return 0;
}








 

⌨️ 快捷键说明

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