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

📄 main.c.svn-base

📁 keilC底层软件,能够结合硬件产生加解密密文,具有安全保护功能.
💻 SVN-BASE
字号:
// update history:
//v1.1.8_2:
//问题描述:液晶硬件改变型号修改相关参数   修改人/日期:杨劲松/20061225


#include "reg51.h"
#include "CTYPE.H"
#include "../include/c51.h"
#include "../include/stdc51.h"
#include "absacc.h"
sbit  AKey  =  P1^3;
sbit  BKey  =  P1^4;
sbit  PowerSwitch	= P1^6;
void main()
{
	uchar lcdsetloop;
	code uchar lcdsetpara[] = {0xe2,0xab,0xe0,0x00,0x88,0x00,0x89,0x00,0x8a,0x09,
		0x8b,0x09,0x8c,0x09,0x8d,0x09,0x8e,0x99,0x8f,0x94,0x40,0x00,
		0x44,0x00,0x48,0x80,0x4c,0x07,0xa6,0xa4,0x2f,0x66,0x27,0x81,
		0x2a,0x57,0xc8,0xa1,0xf2,0x2e,0xaf};
	ucharx *p;
	SP = 0x80;
	EA = 0;
	DBYTE[0x0d] = 100;
	
	/*按键端口上接*/
	P1 = P1|0x1f;                //release all keys

	/*初始化RAM*/
	for (lcdsetloop = 0x20; lcdsetloop < 0x80; lcdsetloop++) {
		DBYTE[lcdsetloop] = 0;		//解决开机“系统故障问题”
	}

	/*设置LCD参数*/
	for (lcdsetloop = 0; lcdsetloop < 41;lcdsetloop++) {
#ifdef  WIN32
		return;
#else
		p = (ucharx *)0xa000;
		*p = lcdsetpara[lcdsetloop];
#endif
	}

	/*如果按下开关键和确认键,全校验不关机*/
	BKey = 0;
	AKey = 1;
	if ((AKey == 0)&&(PowerSwitch == 0)) {
		CursorEnable = 1;
	}
	else {
		CursorEnable = 0;
	}

	/*显示开机画面*/
	BMPDisplay(00, 00, (ucharx *)0x1b20);
	BMPDisplay(00, 64, (ucharx *)0x2302);

	/*初始化数据RAM*/
	EA = 1;
	PublicBitVal = PublicBitVal|0x01;
	memset((ucharx *)&start, 0x00, &end-&start+1);

	/*校验*/
	CheckSumExamine(CursorEnable);

	/*如果按下开关键和确认键,检测硬件*/
	if (CursorEnable == 1) {
		ClearLCD(0,0);
		BKey = 1;
		OnlineCommunication();
		InitSystem();
		CheckSumExamine(2);     //
	}

	/*数据RAM设置初始值*/
	EA = 0;
	SP = 0x80;
	BKey = 1;
	Initsysdata();
	safewrite = 0x10;

	/*主程序处理*/
	while(1) {

		/*扫描按键*/
		if (WaitForKey==1) {
			/*得到按键值*/
			InputKey = CursorGetChar(10,IsNeedBeep);
			DoMessage();
		}
		/*处理画面*/
		else {
			WaitForKey = 1;
			DoMessage();
		}
	}
}

⌨️ 快捷键说明

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