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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5872|回復: 4
打印 上一主題 下一主題
收起左側

獨立鍵盤循環,自己用匯編寫的,燒錄后就是按鍵沒反應

[復制鏈接]
跳轉到指定樓層
樓主
                        程序在keil中模擬沒找出問題來,但是下載到單片機里面就是運行不了,
                    鍵盤是p3.0-3.3    ,led燈是p2.0-p2.3,想實現按p3.0一下,p2.0點亮\或者滅。其他按鍵類推。燒錄后,沒實現功能,具體為按鍵后燈沒任何反應。

                        ORG 0000H               
                        AJMP START
                        ORG 0080H

                        START:
                        MOV P2,#0FFH       ;全滅p2口led
                          MOV P3,#0FFH;使得P3口全部高電平,準備獨立按鍵初始狀態

                          KEYCHECK1:                ;按鍵檢查是否有1->0,改變
                          MOV A,#00H                ;清0累加器內數值
                          JNB P3.0,        DELAY
                           JNB P3.1,DELAY
                                JNB P3.2,DELAY
                                 JNB P3.3,DELAY
                                  LJMP KEYCHECK1
                          
                          KEYCHECK2:                 ;延時后,是否還保持低電平,是則調用鍵盤釋放程序,否則跳到keycheck1
                           JNB P3.0,LOOP                 
                            JNB P3.1,LOOP
                                 JNB P3.2,LOOP
                                  JNB P3.3,LOOP
                                        LJMP START


                           DELAY:                           ;延時程序,目的為消除機械抖動
               MOV R7,#100
                D1: MOV R6,#100
                 DJNZ R6,$
                   DJNZ R7,D1
                                   LJMP KEYCHECK2

                           LOOP:                                  ;判斷鍵盤是否釋放,是則繼續,否則跳到loop做自動循環
                             MOV A,P3                          ;給A輸入p3狀態
                         D2:
                                 MOV R1,P3                          ;用r1和ff比較大小,從而判斷是否釋放
                CJNE R1,#0FFH,D2               
                            JNB ACC.0,K1                 ;判斷那個鍵按下,點亮那個燈,a一直帶P3的值
                                 JNB ACC.1,K2
                                  JNB ACC.2,K3
                                   JNB ACC.3,K4
                                   LJMP START

                                K1:                                   ;取反輸出口,點亮和熄滅燈
                                CPL P2.0
                                LJMP START
                                K2:
                                CPL P2.1
                                LJMP START
                                K3:
                                CPL P2.2
                                LJMP START
                                K4:
                                CPL P2.3                               
                                LJMP START

                                END



QQ圖片20130829234715.jpg (8.53 KB, 下載次數: 118)

鍵盤接法

鍵盤接法
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

5#
ID:153199 發表于 2017-2-17 13:38 | 只看該作者
學習了, 很不錯的經驗,值得分享
回復

使用道具 舉報

地板
ID:53308 發表于 2013-8-28 09:42 | 只看該作者
已經解決了,是因為  
“       CJNE R1,#0FFH,D2       ”
中的比較出問題,我將p3狀態給了r1,然后和0ff比較,實際上P3高四位是做別的用途,狀態不定的。
所以改成如下,屏蔽掉高四位:
                         D2:
                                 MOV A,P3                          ;用r1和ff比較大小,從而判斷是否釋放
                                 ANL A,#0FH
                CJNE A,#0FH,D2

再燒錄就可以了。
回復

使用道具 舉報

板凳
ID:7485 發表于 2013-8-28 08:35 | 只看該作者
本帖最后由 ahshmj 于 2013-8-28 08:37 編輯

第一次看見這樣的按鍵程序。
KEYCHECK1:               
                  JNB P3.0,      K1
                           JNB P3.1,      K2
                           JNB P3.2,      K3
                           JNB P3.3,      K4
                           JMP KEYCHECK1
K1:
                           CALL    DELAY                     ;延時
                           JB P3.0,      START            ;再次確認不是誤動作
                          CPL P2.0                            ;執行按鍵功能
                           JNB   P3.0,      $                   ;等待按鍵抬起
                           LJMP START                       返回
K2:
                 ......
K3:     
                 ......
K4                    
                         ......

回復

使用道具 舉報

沙發
ID:18297 發表于 2013-8-27 21:25 | 只看該作者
                         ORG 0000H               
                     AJMP START

                     ORG 0080H
START:                MOV P2,#0FFH
                 
KEY1:                MOV A,P3
                        CJNE A,#0FFH,KEY2
                        AJMP KEY1
KEY2:                ACALL DELAY       
                        MOV A,P3
                        CJNE A,#0FFH,KEY3
                        AJMP KEY1
KEY3:                 MOV R0,P3
                       
KEY4:                MOV A,P3
                        CJNE A,#0FFH,KEY4
                        MOV A,R0
                        CJNE A,#0FEH,KEY01
                        CPL P2.0
KEY01:                CJNE A,#0FDH,KEY02
                        CPL P2.1
KEY02:                 CJNE A,#0FBH,KEY03
                        CPL P2.2
KEY03:                CJNE A,#0F7H,KEY1
                        CPL P2.3
            AJMP KEY1


  DELAY:          MOV R7,#100                                                                ;延時程序,目的為消除機械抖動
  D1:                 MOV R6,#100                                                          
            DJNZ R6,$
            DJNZ R7,D1
                        RET
                       
                        END
自己看看,這個仿真過。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费精品| 在线观看黄免费 | av网站推荐| 综合色站导航 | 国产一区二区在线免费观看 | 日韩一区二区在线视频 | av网址在线| 中文字幕日韩在线观看 | 九九久久国产 | 成人免费视频网站在线看 | 久久99精品久久久久子伦 | 中文精品久久 | 九九热在线免费观看 | 先锋资源吧 | 久久国产亚洲 | 成年免费在线观看 | 亚洲色图50p| 国产乱人伦精品一区二区 | 久久精品一区 | 日本精品久久久久久久 | 久久久久久久夜 | 日本黄色一级片视频 | 国产高清久久 | 国产欧美一区二区三区免费 | 日韩视频在线观看 | 成人午夜视频在线观看 | 69堂永久69tangcom | av片网| 99在线免费观看视频 | 国产精久久久久久久妇剪断 | 亚洲电影一区二区三区 | 久久久久国产精品一区二区 | 国产精品高清一区二区三区 | 老司机午夜性大片 | 国产中文 | 国产精品久久久久无码av | 国产精品日韩一区二区 | 99精品福利视频 | 在线欧美a | 欧美舔穴| 91麻豆精品国产91久久久久久 |