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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10432|回復: 16
收起左側

簡單易懂的電子密碼鎖 c51+i2c+1602 帶protues仿真工程文件

  [復制鏈接]
ID:70751 發表于 2015-1-10 16:35 | 顯示全部樓層 |閱讀模式
自己弄了個簡單易懂的電子密碼鎖,開鎖后有音樂的。有仿真和程序,可以運行的。
有3個問題,論壇里面的密碼鎖貌似都是同樣的問題。如果有高手下載了,請給寶貴意見:
1.主函數與中斷函數如果同時調用頭文件,會提示警告,不知道有什么好的方法,百度說重新定義一個h文件供中斷使用,但是這樣非常麻煩。
2.看了論壇里面的電子密碼鎖,為什么都是一個c文件配一個h文件,我也試一下,但是總會提示錯誤,好像是not in list之類的,所以還是用回原始易懂的方法,就新建h文件,然后引用!類似郭天祥視頻講的那種寫法。
3.關于配上音樂,論壇里面有個用12864做的也是用定時器來播放音樂,我的也是,但是這樣做的話,不管是按復位鍵還是什么按鈕,都無法結束音樂,只能等音樂結束!用中斷來重新設一個按鈕的話,最多是讓密碼鎖關鎖,但是,音樂繼續播放。

電子密碼帶音樂.rar

96.31 KB, 下載次數: 230, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的積分獎勵!

查看全部評分

回復

使用道具 舉報

ID:1 發表于 2015-1-10 17:47 來自手機 | 顯示全部樓層
很好的作品,謝謝分享。
下面是樓主的mima.h文件:
  1. #ifndef _MIMA_H_
  2. #define _MIMA_H_

  3. #include"mima.h"
  4. #include<reg51.h>
  5. #include"lcd.h"
  6. #include"keyscan.h"

  7. #define A 0x0a         //輸入密碼
  8. #define enter 0x0b     // 確認
  9. #define B 0x0c         //修改密碼
  10. #define backspace 0x0d //退格
  11. #define D 0x0e         // 關鎖

  12. /*比較密碼函數,密碼正確返回1,不正確返回0*/
  13. bit mimaduibi(unsigned char *shuru1,unsigned char *shuru2)
  14. {
  15.         unsigned char i;
  16.     for(i=0;i<7;i++)
  17.         {
  18.                 if(shuru1[i]!=shuru2[i])
  19.                 return 0;
  20.         }
  21.            return 1;
  22. }

  23. /*選擇輸入密碼或修改密碼函數,輸入密碼返回A,修改密碼返回B*/

  24. unsigned char step_choose()//選擇輸入密碼或修改密碼處理函數
  25. {
  26.         unsigned char key;
  27.         key=0xff;
  28.         write_com(0x06);//寫一個字符后地址指針加 1
  29.     write_com(0x01);//顯示清零,數據指針清零
  30.         lcd_pos(0,0);
  31.         write_zfc("Input password ");
  32.         lcd_pos(1,0);
  33.         write_zfc("  Press key A   ");       
  34.         while((key!=A)&&(key!=B))
  35.     key=keyscan();       
  36.         return key;
  37. }

  38. /*輸入密碼函數,密碼正確返回1,錯誤返回0*/

  39. bit input_mima(unsigned char *mima)//輸入密碼函數
  40. {
  41.         unsigned char count,key;
  42.         lcd_pos(1,0);
  43.         for(count=0;count<8;count++)
  44.         {
  45.                 delay(100);
  46.                 if(count<7)
  47.                 {
  48.                         do{key=keyscan();}//掃描鍵盤
  49.                         while(key==0xff);
  50.                         if((key!=backspace)&&(key!=A)&&(key!=enter))//不是退格也不是確認鍵
  51.                         {
  52.                                 write_dat('*');//是數字鍵顯示*
  53.                                 mima[count]=key;
  54.                         }
  55.                         if(key==backspace)//是退格鍵
  56.                         {
  57.                                 if(count>0)
  58.                                 {
  59.                                     lcd_pos(1,--count);//光標前移一位
  60.                                         write_dat(' ');//清空一位
  61.                                         mima[count] =' ';//寫空
  62.                                         lcd_pos(1,count);
  63.                                         count--;  //密碼計數器減一 ,因為循環后會+1,所以在這里要加1
  64.                                 }
  65.                         }
  66.                         if(key==enter)    //沒完成密碼輸入返回錯誤信息
  67.                         {
  68.                                 lcd_pos(0,0);
  69.                                 return(0);
  70.                         }
  71.                 }
  72.                 if(count==7)
  73.                 {
  74.                         do{key=keyscan();}
  75.                         while((key!=backspace)&&(key!=enter));
  76.                         if(key==backspace)
  77.                         {
  78.                                 lcd_pos(1,--count);
  79.                                 write_dat(' ');
  80.                                 mima[count]=' ';
  81.                                 lcd_pos(1,count);
  82.                                 count--;
  83.                         }
  84.                         if(key==enter) //密碼位數正確
  85.                         {
  86.                                 return(1); //返回1正確信號
  87.                         }
  88.                 }
  89.         }
  90.        
  91. }

  92. #endif
復制代碼


回復

使用道具 舉報

ID:71922 發表于 2015-1-10 18:21 | 顯示全部樓層
謝謝分享,先下載學習一下。
回復

使用道具 舉報

ID:72142 發表于 2015-1-13 14:31 | 顯示全部樓層
挺不錯的謝謝你的分享
回復

使用道具 舉報

ID:71833 發表于 2015-1-15 12:51 | 顯示全部樓層
寫的不錯,受教了
回復

使用道具 舉報

ID:69254 發表于 2015-2-24 12:44 | 顯示全部樓層

挺不錯的謝謝你的分享
回復

使用道具 舉報

ID:72763 發表于 2015-4-3 09:26 | 顯示全部樓層
挺不錯的謝謝你的分享

回復

使用道具 舉報

ID:98680 發表于 2015-12-7 18:51 | 顯示全部樓層
謝謝分享~~~~~~~
回復

使用道具 舉報

ID:95438 發表于 2015-12-11 14:40 | 顯示全部樓層
真不錯
回復

使用道具 舉報

ID:121877 發表于 2016-5-19 09:45 | 顯示全部樓層
666666 很棒的作品 加油
回復

使用道具 舉報

ID:10075 發表于 2016-5-25 16:32 | 顯示全部樓層
很好的作品,謝謝分享。
回復

使用道具 舉報

ID:10075 發表于 2016-5-25 16:33 | 顯示全部樓層
很好的作品,謝謝分享。
回復

使用道具 舉報

ID:128060 發表于 2016-6-25 09:57 | 顯示全部樓層
謝謝你的分享,對我很大幫助!
回復

使用道具 舉報

ID:189227 發表于 2017-4-18 00:16 | 顯示全部樓層
感謝樓主,很有用!
回復

使用道具 舉報

ID:194844 發表于 2017-5-8 15:46 | 顯示全部樓層
挺不錯的謝謝你的分享
回復

使用道具 舉報

ID:238299 發表于 2017-10-16 21:36 | 顯示全部樓層
謝謝樓主
回復

使用道具 舉報

ID:235055 發表于 2017-10-22 22:59 | 顯示全部樓層

挺不錯的謝謝你的分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品国偷自产在线 | 欧美精品一区二区免费视频 | 国产精品无码专区在线观看 | 91在线网站| 免费在线观看一区二区 | 免费在线看黄 | 东京av男人的天堂 | 一级做a爰片久久毛片免费看 | 天天摸天天干 | 99reav| 伊人超碰 | 91精品国产91久久综合桃花 | 一区二区三区在线观看视频 | 中文字幕在线播放第一页 | 亚洲精品一区在线 | 人人爱干 | 欧美在线观看一区 | 成人免费淫片aa视频免费 | 日韩精品一区二区三区视频播放 | 亚洲精品久久久久久首妖 | 色婷婷久久久久swag精品 | 黄网站免费在线看 | 日韩在线一区二区三区 | 国产精品一区二区视频 | 日韩一区不卡 | 中文字幕乱码视频32 | 欧美日韩精品在线免费观看 | 91精品一区二区三区久久久久 | 国产精品夜夜夜一区二区三区尤 | 久久精品亚洲欧美日韩久久 | 午夜精品久久久久久久久久久久 | 日日欧美 | 久久精品久久久久久 | 亚洲精品一区av在线播放 | 天天干夜夜操 | 性视频网| 中文精品视频 | 五月婷婷婷 | 97久久久久久久久 | www亚洲精品 | 国产免费色 |