changecode.c

来自「应用电子密码锁」· C语言 代码 · 共 70 行

C
70
字号
#include <reg51.h>
#include <intrins.h>

#define uchar unsigned char
#define uint unsigned int

extern uchar kbscan(void);
extern void display(uchar *k,int i);
extern uchar mcode[4];
extern bit Write_Flash ( unsigned char *nContent, unsigned char nAddr,unsigned char nLen);
extern void Delay_xuS(unsigned int x);

sbit EX01 = 0xb2;

void changecode() interrupt 0 using 0  
{
 uchar i=0,j=0;
 uchar count[4];
 uchar key = 0;
 EX0 = 0;
 while(key!=0x21)
  {
   key = kbscan();
   switch(key)
    {
	        case 0x18:count[i]=0xf9;
			          i++;
			          break;
			case 0x28:count[i]=0xA4;
			          i++;
					  break;
			case 0x48:count[i]=0xB0;
			          i++;
					  break;
			case 0x14:count[i]=0x99;
			          i++;
					  break;
			case 0x24:count[i]=0x92;
			          i++;
					  break;
			case 0x44:count[i]=0x82;
			          i++;
					  break;
			case 0x12:count[i]=0xF8;
			          i++;
					  break;
			case 0x22:count[i]=0x80;
			          i++;
					  break;
			case 0x42:count[i]=0x90;
			          i++;
					  break;
			case 0x11:count[i]=0xC0;
			          i++;
					  break;
			default:break;
		}
		display(count,4);
	}
	if(i==4)
	{
	 for(j=0;j<4;j++)
	 {mcode[j]=count[j];}
	 Write_Flash ( count,0,4);
	 Delay_xuS(100); 
	 }
	 for(;!EX01;);
	 EX0 = 1;
  }

⌨️ 快捷键说明

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