• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 物聯網與傳感器 > 設計應用 > 采用AT89C51的電子密碼鎖的設計

    采用AT89C51的電子密碼鎖的設計

    ——
    作者:戴文雯 時間:2013-09-23 來源:電子產品世界 收藏

      數碼管有靜態顯示和動態顯示兩種顯示方式,相比于靜態顯示方式,動態顯示在輪流顯示過程中,每位數碼管的點亮時間為1~2ms,由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示畫面,不會有閃爍感,在顯示效果上和靜態顯示是一致的,但動態顯示能節省大量的I/O口,降低硬件電路的復雜性,而且功耗更低。在本設計中采用的是動態顯示方式。

    本文引用地址:http://www.czjhyjcfj.com/article/170168.htm

      蜂鳴器報警模塊

      密碼輸入錯誤次數超過3次時可通過蜂鳴器鳴叫報警。蜂鳴器報警電路如圖4所示。本設計中采用壓電式蜂鳴器,利用 P1.7端口外接的三極管的電流放大作用驅動蜂鳴器實現發聲提示。

      軟件設計

      軟件設計主要包括以下幾個模塊:主程序模塊,數碼管顯示模塊,矩陣掃描模塊,鍵功能程序模塊,密碼重設模塊,延時模塊,蜂鳴器報警模塊。

      主程序流程圖如圖5所示。包括掃描和鍵功能程序兩部分。

      系統啟動后不斷進行掃描,判斷是否有鍵按下。若無鍵按下則

      繼續掃描,有鍵按下則轉入鍵功能模塊判別按下的是什么功能鍵,然后轉入相應的功能程序,功能程序執行完畢后轉到鍵盤掃描程序循環操作。

      矩陣鍵盤掃描模塊

      本設計中采用行掃描法進行按鍵識別。由于采用機械式的按鍵,在按鍵過程中會產生抖動現象,為避免誤判為多次輸入同一按鍵,必須進行消抖處理。設計中采用軟件延時的方法進行消抖。在檢測出有鍵按下后執行延時程序,前沿抖動消失后,再次檢測按鍵狀態。相關程序段如下:

      LSCAN: MOV P3,#0F0H;掃描行碼
      L1: JNB P3.0,L2
      LCALL DLY_S
      JNB P3.0,L2
      MOV LINE,#00H
      LJMP RSCAN
      L2: JNB P3.1,L3
      LCALL DLY_S
      JNB P3.1,L3 MOV LINE,#01H
      LJMP RSCAN
      L3: JNB P3.2,L4 LCALL DLY_S
      JNB P3.2,L4
      MOV LINE,#02H
      LJMP RSCAN
      L4: JNB P3.3,A0
      LCALL DLY_S
      JNB P3.3,A0
      MOV LINE,#03H
      RSCAN:MOV P3,#0FH;掃描列碼
      C1: JNB P3.4,C2
      MOV ROW,#00H
      LJMP CALCU
      C2: JNB P3.5,C3
      MOV ROW,#01H
      LJMP CALCU
      C3: JNB P3.6,C1
      MOV ROW,#02H
      CALCU: MOV A,LINE ;計算鍵值
      MOV B,#03H
      MUL AB
      ADD A,ROW
      MOV VAL,A ;鍵值存入VAL中

    DIY機械鍵盤相關社區:機械鍵盤DIY


    蜂鳴器相關文章:蜂鳴器原理


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 永吉县| 麟游县| 尉犁县| 公主岭市| 南投市| 万载县| 晋州市| 阿拉善左旗| 贵溪市| 新疆| 永寿县| 咸阳市| 南木林县| 庄浪县| 明星| 富宁县| 江达县| 西青区| 上高县| 黎平县| 五家渠市| 横峰县| 临清市| 宜城市| 板桥市| 赫章县| 南通市| 涞水县| 大邑县| 东城区| 台山市| 娄烦县| 凤阳县| 封开县| 措美县| 临漳县| 神池县| 乌什县| 呼伦贝尔市| 大渡口区| 西乡县|