新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機鍵盤接口電路(含源程序)

        51單片機鍵盤接口電路(含源程序)

        作者: 時間:2011-05-01 來源:網絡 收藏

        K_RET1:

        RET

        D500MS: ;流水燈的延遲時間

        PUSH PSW

        SETB RS0

        MOV R7,#200

        D51: MOV R6,#250

        D52: NOP

        NOP

        NOP

        NOP

        DJNZ R6,D52

        DJNZ R7,D51

        POP PSW

        RET

        LAMP:

        JB StartEnd,LampStart ;如果StartEnd=1,則啟動

        MOV P1,#0FFH

        AJMP LAMPRET ;不然關閉所有顯示,返回

        LampStart:

        JB UpDown,LAMPUP ;如果UpDown=1,則向上流動

        MOV A,LAMPCODE

        RL A ;實際就是左移位而已

        MOV LAMPCODE,A

        MOV P1,A

        LCALL D500MS

        AJMP LAMPRET

        LAMPUP:

        MOV A,LAMPCODE

        RR A ;向下流動實際就是右移

        MOV LAMPCODE,A

        MOV P1,A

        LCALL D500MS

        LAMPRET:

        RET

        END

        以上程序功能很簡單,但它演示了一個處理程序的基本思路,程序本身很簡單,也不很實用,實際工作中還會有好多要考慮的因素,比如主循環每次都調用燈的循環程序,會造成按鈕反應“遲鈍”,而如果一直按著鍵不放,則燈不會再流動,一直要到松開手為止,等等,大家能仔細考慮一下這些問題,再想想有什么好的解決辦法。

        2、采用中斷方式:如圖4所示。各個按鈕都接到一個與非上,當有任何一個按鈕按下時,都會使與門輸出為低電平,從而引起的中斷,它的好處是不用在主程序中持續地循環查詢,如果有鍵按下,再去做對應的處理

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



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 普兰店市| 庆阳市| 江口县| 屯昌县| 依兰县| 新野县| 泰宁县| 小金县| 防城港市| 垦利县| 郧西县| 瑞安市| 佛冈县| 会昌县| 广德县| 邢台市| 岑溪市| 大石桥市| 民丰县| 新龙县| 同江市| 晋宁县| 黑河市| 宜昌市| 南郑县| 柳林县| 信丰县| 罗山县| 彭山县| 改则县| 台北市| 河曲县| 张家口市| 巨野县| 泰安市| 宜昌市| 宜章县| 玉环县| 台州市| 邯郸市| 比如县|