日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
單片機(jī)處理密碼的簡單方法
單片機(jī)處理密碼的簡單方法
 更新時間:2008-8-4 4:07:20  點(diǎn)擊數(shù):12
【字體: 字體顏色


    

單片機(jī)處理密碼的簡單方法

以下是本人用單片機(jī)對鍵盤輸入密碼與處理的一些小看法。鍵盤是4*4=16鍵的小鍵盤,接在P2口,四行四列分別接P2

口的高位和低位。P1口接8個LED
保存輸入的密碼主要思想是“先進(jìn)先出”。

主要程序段如下:
*****先進(jìn)行初始化
mov 20h,#00h;存當(dāng)前輸入密碼
mov 21h,#00h

mov 22h,#12;存原始密碼
mov 23h,#34
........(使用20H,21H保存輸入的兩位密碼,保存多位也是一樣的道理)
mov 2ah,#00h;是否保存開始保存密碼
;*************讀鍵盤程序段*****************
READKEY:  PUSH B                     
          PUSH 1
          MOV P2,#0F0H
          MOV A,P2
          CJNE A,#0F0H,RK_HIT0
          LJMP RK_EXIT
RK_HIT0:   LCALL DELAY  ;延時消抖
          MOV P2,#0F0H
          MOV A,P2               
          CJNE A,#0F0H,RK_KIT1    
          LJMP RK_EXIT
RK_KIT1:  ORL A,#0FH
          MOV P2,A
          MOV A,P2
          MOV B,A                   
          MOV R1,#0FFH
          MOV DPTR,#KCODTAB

RK_NONE:  CLR A   ;判斷按的是哪號鍵
          MOVC A,@A+DPTR
          INC DPTR
          INC R1
          CJNE A,B,RK_NONE ;將鍵號存R1中

SKEY:     MOV P2,#0F0H  ;判斷是否釋放了鍵
          NOP
          MOV A,P2
          CJNE A,#0F0H,SKEY

*****鍵操作功能
key15: cjne r1,#15,save_mm 
       mov 20h,#00H         ;開始輸入密碼之前先原來保存的密碼清除
       mov 21h,#00H
       mov a,2ah            ;作用是按一下可以輸入密碼,如果再按一下則是取消輸入
       cjne a,#00h,set15
       mov 2ah,#0ffh
       ajmp rk_exit
set15: mov 2ah,#00h
       ajmp rk_exit
save_mm: mov a,2ah       ;密碼是否保存
        cjne a,#0ffh,key1   ;如果值為00H則不是要輸入密碼,轉(zhuǎn)向正常的功能鍵
        mov 21h,20h  ;先將20H里的數(shù)據(jù)存入21H
        mov 20h,r1  ; 把剛輸入的密碼放入20H中
key14: cjne r1,#14,key1    ;比較密碼是否正確  
        mov a,2ah
       cjne a,#0ffh,rk_exit
        mov 2ah,#00h   ;將2ah清零,不再允許輸入密碼了(即沒有按開始鍵k15將不允許輸入密碼)
       ;開始比較密碼是否正確了,比較之后將20H,21H清零,源密碼存放在22H中      
       mov a,20h
       cjne a,22h,error
       mov a,21h
      cjne a,23h,error
       ;密碼對了,執(zhí)行相應(yīng)的操作
       setb p1.0    ;密碼對了,一號燈亮
       ;...................
        ajmp rk_exit
error: ;密碼錯了,執(zhí)行相應(yīng)的操作
        setb p1.2  ;密碼錯了,三號燈亮
        ;...................
         ajmp rk_exit

key1:  ;其它功能鍵
key2:  ;*******
rk_exit: ret  ;按鍵判斷完成,退出讀鍵盤程序

;*****************以下為延時程序段**********************
DELAY:    MOV R6,#20
DELAY1:   MOV R7,#50
          DJNZ R7,$           ;2US X 50 = 100 US, 12MHZ
          DJNZ R6,DELAY1
          RET
        
;**********存放鍵值的表格****************

KCODTAB:  DB 11100111B,11101011B,11101101B,11101110B
          DB 11010111B,11011011B,11011101B,11011110B
          DB 10110111B,10111011B,10111101B,10111110B
          DB 01110111B,01111011B,01111101B,01111110B



[1] [2]  下一頁
  • 上一篇: 如何優(yōu)化C語言代碼(程序員必讀)
  • 下一篇: 用計算機(jī)并口模擬SPI通訊的C源程序
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1