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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3896|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)的電子密碼鎖程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:416660 發(fā)表于 2018-10-28 19:07 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit rs=P1^0; //寄存器選擇位,將rs定義為p1.0
sbit rw=P1^1; //讀寫選擇位,將rw定義為p1.1
sbit en=P1^2;  //使能信號(hào)位將en定義為p1.2的引腳
sbit ledg=P1^3;
sbit ledr=P1^7;
sbit relay=P1^4;
sbit buzz=P1^6;
char table0[]="error";
char table1[]="open";
char table2[]="password:";
int temp,ch,m0,ml,p,n0,n1,n2,n3,n4,n5;
void  delay(int Z)
{
        int x,c;
        for(x=Z;x>0;x--)
        for(c=100;c>0;c--);
}
keyscan()
{
        temp=P2&0xf0;
        P2=0xfe;
        delay(1);
        temp=P2&0xf0;
        while(temp!=0xf0)
        {
                switch(temp)
                {
                   case 0xe0:ch='7';break;
                   case 0xd0:ch='8';break;
                   case 0xb0:ch='9';break;
                   default:ch=p; break;
                }
        while(temp!=0xf0)
        {
                 temp=P2;
                temp=temp&0xf0;
        }
}
P2=0xfd;
delay(1);
temp=P2&0xf0;
while(temp!=0xf0)
{
        switch(temp)
        {
                 case 0xe0:ch='4';break;
                case 0xd0:ch='5';break;
                case 0xb0:ch='6';break;
                default:ch=p;break;
        }
         while(temp!=0xf0)
         {
                temp=P2;
                temp=temp&0xf0;
         }   
}
P2=0xfb;
delay(1);
temp=P2&0xf0;
while(temp!=0xf0)
{
        switch(temp)
        {
                case 0xe0:ch='l';break;
                case 0xd0:ch='2';break;
                case 0xb0:ch='3';break;
                default:ch=p;break;
        }
      while(temp!=0xf0)
        {
                temp=P2;
                temp=temp&0xf0;
        }
}
P2=0xf7;
delay(1);
temp=P2&0xf0;
while(temp!=0xf0)
{
         switch(temp)
         {
                case 0xe0:ch='A';break;
                case 0xd0:ch='0';break;
                case 0xb0:ch='B';break;
                default:ch=p;break;
         }
         while(temp!=0xf0)
         {
                 temp=P2;
                temp=temp&0xf0;
         }
}
         return ch;
}
void wcom(uchar com)
{
        rs=0;
        P3=com;
        delay(1); //命令延時(shí)為1
        en=1;
        delay(1);
        en=0;
}
void wdat(uchar dat)
{
        rs=1;
        P3=dat;
        delay(1); //此處寫數(shù)據(jù)延時(shí)可以為1
        en=1l;
        delay(4); //此處寫數(shù)據(jù)延時(shí)至少為4
        en=0;
}
void init()
{
        en=0;
        wcom(0x38);
        wcom(0x0c);
        wcom(0x06);
        wcom(0x01);
}
void error()
{
        char m2;
        wcom(0xc6);
        for(m2=0;m2<5;m2++)
        {
           wdat(table0[m2]);
        }
}
void open()
{
        char m2;
        wcom(0xc6);
        for(m2=0;m2<4;m2++)
        {
           wdat(table1[m2]);
        }               
}
void pass()
{
        char m2;
        wcom(0x80);
        for(m2=0;m2<9;m2++)
        {
         wdat(table2[m2]);
        }       
}
change(int m)
{
        delay(500);
        wcom(m);
        wdat('*');       
}
main()
{
          rw=0;
          ledg=0;
          ledr=0;
          relay=0;
        buzz=0;
        init();
        delay(5);
        pass();
        wcom(0x89);

        while(keyscan()==p)
        {
                delay(3);
                keyscan();
        }
        wdat(keyscan());
        n0=keyscan();
        change(0x89);
        delay(10);
        ch=p;
        while(keyscan()==p)
        {
                delay(3);
                keyscan();
        }
        wdat(keyscan());
        n1=keyscan();
        change(0x8a);
        ch=p;
        while(keyscan()==p)
        wdat(keyscan());
        n2=keyscan();
        change(0x8b);
        ch=p;
        while(keyscan()==p)
        {
                delay(3);
                keyscan();
        }
        wdat(keyscan());
        n3=keyscan();
        change(0x8c);
        ch=p;
        while(keyscan()==p)
        {
                delay(3);
                keyscan();
        }
        wdat(keyscan());
        n4=keyscan();
        change(0x8d);
        ch=p;
        while(keyscan()==p)
        {
                delay(3);
                keyscan();
        }
        wdat(keyscan());
        n5=keyscan();
        change(0x8e);
        if(n0=='2'&&n1=='0'&&n2=='1'&&n3=='4'&&n4=='1'&&n5=='9')
        {
                int m3=1;
                open();
                relay=1;
                delay(3000);
                relay=0;
                while(m3)
                {
                                int m4,m5;
                                ledg=0;
                                for(m4=200;m4>0;m4--)
                                {
                                        keyscan();
                                        if(keyscan()=='A')
                                        {
                                                m4=0;
                                                m3=0;
                                        }
                                }
                                ledg=1;
                                if(m3!=0)
                                {
                                        for(m5=200;m5>0;m5--)
                                        {
                                                keyscan();
                                                if(keyscan()=='A')
                                                {
                                                        m3=0;
                                                }
                                        }
                                 }
                }
        }
else
{
        ledr=1;
        error();
        buzz=1;
        delay(5000);
}
}
               








分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 春色av| 日日摸日日碰夜夜爽2015电影 | 国产精品免费一区二区三区四区 | 亚洲福利 | 国产日产久久高清欧美一区 | 国产一级一级毛片 | 人人草天天草 | 久久久久久国产精品免费免费男同 | 免费在线a视频 | 国产一区二区av | 欧美一区二区三区在线观看 | 欧美成人激情视频 | 国产伦精品一区二区三区视频金莲 | av在线一区二区 | 日韩精品在线视频 | 欧美在线网站 | 人人九九精 | av大片| 91久久久久久久久 | 国产色婷婷精品综合在线手机播放 | 福利网址 | 精品欧美激情在线观看 | 伊人最新网址 | 国产伦精品一区二区三区视频金莲 | 日韩欧美一区二区三区四区 | 中文字幕视频在线 | 干干天天 | 亚洲精品乱码久久久久久蜜桃91 | 久久新视频| 国产精品一二三区在线观看 | 国产免费一区 | 亚洲字幕在线观看 | 午夜av电影 | av中文字幕在线观看 | 国产成人精品一区二区三区视频 | 久在线视频播放免费视频 | 国产欧美日韩一区二区三区 | 国产欧美一区二区三区在线看蜜臀 | xx性欧美肥妇精品久久久久久 | 免费人成激情视频在线观看冫 | 国产精品91视频 |