久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3309|回復: 0
收起左側

這里有一個密碼鎖的程序,但不懂是什么意思 ,有人幫忙解釋下嗎

[復制鏈接]
ID:157011 發(fā)表于 2017-1-5 09:07 | 顯示全部樓層 |閱讀模式
#include<reg51.h>
#include<intrins.h>
sbit RS=P3^1;
sbit RW=P3^2;
sbit E=P3^3;
void lcd_w_cmd(unsigned char com);//寫命令字函數(shù)
void lcd_w_dat(unsigned char dat);//寫數(shù)據(jù)函數(shù)
unsigned char lcd_r_start();//讀狀態(tài)函數(shù)
void lcd_int();//LCD初始化函數(shù)
void delay(unsigned int i);//可控延時函數(shù)
void delay1();//實現(xiàn)延時函數(shù)
char keyscan();//鍵盤掃描
void puts(unsigned char ch[]);
void set_pw();                                                                                                         
unsigned char codekey_code[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};
unsigned char pw[6]={0,0,0,0,0,0,};
unsigned char pwnew[10]={0,0,0,0,0,0,0,0,0,0};
sbit P30=P3^0;


void puts(unsigned char ch[])
{
unsigned char i;
i=0;
while(ch[i]!='\0')
{
  lcd_w_dat(ch[i]);
  i++;
  }
  }


void set_pw()
{
unsigned char key,count;
lcd_w_cmd(0x01);
puts("password setup:");
lcd_w_cmd(0xc0);
while(1)
{
  key=keyscan();
  if(key>=0&&key<=9)
  {
   lcd_w_dat(key+0x30);
   pw[count]=key;
   count++;
   if(count==6)break;
   P2=0xf0;
   while(P2!=0xf0);}
   }
   }


void main()
{
unsigned char i,count;
bit pw_flag;
P1=0xff;
lcd_int();
delay(255);
lcd_w_cmd(0x80);
puts("password:");
count=0;
while(1)
{
  i=keyscan();
  if(i!=-1)
  {
   if(i>=0&&i<=9)
   {
    pwnew[count]=i;
        lcd_w_dat(i+0x30);
        count++;
        P2=0xf0;
        while(P2!=0xf0);}
        else if(i==10)
        {
         pw_flag=1;
         if(count!=6)
         pw_flag=0;
         else
          {
           for(i=0;i<6;i++)
           {
            if(pw[i]!=pwnew[i])
                {
                 pw_flag=0;break;}
                 }
            }
if(pw_flag==1)
{
lcd_w_cmd(0xc0);
puts("pass");
P30=0;
  P2=0xf0;
  while(P2!=0xf0);
while(1)
{
  i=keyscan();
  if(i!=-1)
  break;
  }
  P2=0xf0;
  while(P2!=0xf0);
  if(i==11)set_pw();
  }
  else
  {
   lcd_w_cmd(0xc0);
   P30=1;
   puts("error");}
   count=0;
   delay(50000);
   lcd_w_cmd(0x01);
   puts("password:");
   }}}}


char keyscan()
{
char scan1,scan2,keycode,j,key;
key=-1;
P2=0xf0;
scan1=P2;
if(scan1!=0xf0)
{
delay(1200);
scan1=P2;
if(scan1!=0xf0)
{
  P2=0x0f;
  scan2=P2;
  keycode=scan1|scan2;
  for(j=0;j<16;j++)
  {
   if(keycode==codekey_code[j])
   {
    key=j;break;}
        }}}
        return(key);
        }


void delay1()
{
_nop_();
_nop_();
_nop_();
}
void lcd_int()
{
lcd_w_cmd(0x3c);
lcd_w_cmd(0x0e);
lcd_w_cmd(0x01);
lcd_w_cmd(0x06);
lcd_w_cmd(0x80);
}

unsigned char lcd_r_start()
{
unsigned char s;
RW=1;
delay1();
RS=0;
delay1();
E=1;
delay1();
s=P1;
delay1();
E=0;
delay1();
RW=0;
delay1();
return(s);
}
void lcd_w_cmd(unsigned char com)
{
unsigned char i;
do{
    i=lcd_r_start();
        i&=0x80;
        delay(2);
        }
        while(i!=0);
RW=0;
delay1();
RS=0;
delay1();
E=1;
delay1();
P1=com;
delay1();
E=0;
delay1();
RW=1;
delay(255);
}
void lcd_w_dat(unsigned char dat)
{
unsigned char i;
do{
    i=lcd_r_start();
        i&=0x80;
        delay(2);
        }
        while(i!=0);
RW=0;
delay1();
RS=1;
delay1();
E=1;
delay1();
P1=dat;
delay1();
E=0;
delay1();
RW=1;
delay(255);
}
   void delay(unsigned int i)
  {unsigned int k;
   for(k=0;k<i;k++);
   }
急用  求幫忙  謝謝

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美2区 | 成人在线中文字幕 | 国产欧美精品在线观看 | 亚洲一本 | 一区二区在线看 | 久久伊人影院 | 性做久久久久久免费观看欧美 | 国产精品久久久久久久久久不蜜臀 | 久久综合狠狠综合久久综合88 | 一级做a爰片久久毛片 | 国产精品一区在线 | 一区二区三区四区不卡视频 | 国产精品久久久久久久 | 久草在线中文888 | 国产一级在线视频 | 精品国产一级 | 日韩精品| 亚洲精品视频免费 | 精品国产精品国产偷麻豆 | 国产高清精品在线 | 久久久久久久久久久蜜桃 | 夜夜骑av | 视频一区二区三区四区五区 | 亚洲天堂男人的天堂 | 国产精品一区二区不卡 | 成人免费大片黄在线播放 | 男人久久天堂 | 亚洲人成人一区二区在线观看 | 欧美日韩三级在线观看 | 91社区在线观看播放 | 日韩一区在线播放 | xxxxxx国产| 日韩中文视频 | 爱爱免费视频 | 久久久久久国产精品 | 日p视频免费看 | 伊人婷婷 | 国产极品车模吞精高潮呻吟 | 亚洲色视频 | 一级全黄视频 | 精品免费国产一区二区三区四区 |