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

QQ登錄

只需一步,快速開(kāi)始

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

AT89C51密碼鎖仿真資料分享

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:428443 發(fā)表于 2018-11-17 21:51 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
AT89C51密碼鎖資料 共享
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. sbit P1_4=P1^4;
  3. sbit P1_5=P1^5;
  4. sbit P1_6=P1^6;
  5. sbit P1_7=P1^7;
  6. sbit sound=P3^7;
  7. unsigned char keyval;

  8. void delay(void)
  9. {
  10.         unsigned  char i;
  11.         for(i=0;i<200;i++);
  12. }

  13. void delay20ms(void)
  14. {
  15.         unsigned char i,j;
  16.         for(i=0;i<100;i++)
  17.                 for(j=0;j<60;j++);
  18. }

  19. void main(void)
  20. {
  21.         unsigned char D[]={0,8,0,8,7,4,11};
  22.         EA=1;
  23.         ET0=1;
  24.         TMOD=0x01;
  25.         TH0=(65536-500)/256;
  26.         TL0=(65536-500)%256;
  27.         TR0=1;
  28.         keyval=0xff;
  29.         while(keyval!=D[0])
  30.                 ;
  31.         while(keyval!=D[1])
  32.                 ;
  33.         while(keyval!=D[2])
  34.                 ;
  35.         while(keyval!=D[3])
  36.                 ;
  37.         while(keyval!=D[4])
  38.                 ;
  39.         while(keyval!=D[5])
  40.                 ;
  41.         while(keyval!=D[6])
  42.                 ;
  43.         P3=0xfe;
  44. }

  45. void time0_interserve(void)interrupt 1 using 1
  46. {
  47.         unsigned char i;
  48.         TR0=0;
  49.         P1=0xf0;
  50.         if((P1&0xf0)!=0xf0)
  51.         delay20ms();
  52.         if((P1&0xf0)!=0xf0)
  53.         {
  54.                 P1=0xfe;
  55.                 if(P14==0)
  56.                         keyval=1;
  57.                 if(P15==0)
  58.                         keyval=2;
  59.                 if(P16==0)
  60.                         keyval=3;
  61.                 if(P17==0)
  62.                         keyval=4;
  63.                 P1=0xfd;
  64.                 if(P14==0)
  65.                         keyval=5;
  66.                 if(P15==0)
  67.                         keyval=6;
  68.                 if(P16==0)
  69.                         keyval=7;
  70.                 if(P17==0)
  71.                         keyval=8;
  72.                 P1=0xfb;
  73.                 if(P14==0)
  74.                         keyval=9;
  75.                 if(P15==0)
  76.                         keyval=0;
  77.                 if(P16==0)
  78.                         keyval=11;
  79.                 for(i=0;i<200;i++)
  80.                 {
  81.                         sound=0;
  82.                         delay();
  83.                         sound=1;
  84.                         delay();
  85.                 }
  86.         }
  87.         TR0=1;
  88.         TH0=(65536-500)/256;
  89.         TL0=(65536-500)%256;
  90. }
復(fù)制代碼

所有資料51hei提供下載:
AT89S51密碼鎖資料.zip (93.4 KB, 下載次數(shù): 49)


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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表