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

標題: 小白求大佬解決LED燈單片機匯編代碼 Proteus仿真沒有現象 [打印本頁]

作者: wjd08    時間: 2022-5-19 21:06
標題: 小白求大佬解決LED燈單片機匯編代碼 Proteus仿真沒有現象
如下,用匯編語言編寫:
利用單片機AT89S52、7個按鍵以及3個LED指示燈組成I/O控制實驗系統。P0.0-P0.7與8個開關鍵相連,P1.0~P1.2與3個LED燈相連;利用按鍵控制LED指示燈亮與滅,完成如下功能:001 010 011  100 101 110 111
1.當P0.1開關鍵被按下時,P1.0~P1.2燈的狀態依次為滅滅亮,即1的二進制狀態001;
2.以此類推,當P0.7開關鍵被按下時,P1.0~P1.2燈的狀態依次為亮亮亮,即7的二進制狀態111;

代碼如下:
ORG 0000H
        START:
        JNB P0.1,K2
        JNB P0.2,K3
        JNB P0.3,K4
        JNB P0.4,K5
        JNB P0.5,K6
        JNB P0.6,K7
        JNB P0.7,K8
        SJMP START
        ;-------------

        K2:
        CALL DL10MS
        JB P0.1,START
        JNB P0.1,$
                CLR P1.2
                SJMP START
    ;--------------
        K3:
        CALL DL10MS
        JB P0.2,START
        JNB P0.2,$
                CLR P1.1
                SJMP START
         ;--------------
         K4:
         CALL DL10MS
        JB P0.3,START
        JNB P0.3,$
                CLR P1.1
                CLR P1.2
                SJMP START
         ;--------------
         K5:
         CALL DL10MS
         JB P0.4,START
         JNB P0.4,$
                CLR P1.0
                SJMP START
         ;--------------
         K6:
          CALL DL10MS
        JB P0.5,START
        JNB P0.5,$
                CLR P1.0
                CLR P1.2
                SJMP START
         ;--------------
         K7:
          CALL DL10MS
        JB P0.6,START
        JNB P0.6,$
                CLR P1.0
                CLR P1.1
                SJMP START
         ;--------------
         K8:
           CALL DL10MS
        JB P0.6,START
        JNB P0.6,$
                MOV P1,#0
                SJMP START
        ;---------------
        DL10MS:
        MOV R6,#10
        DJNZ R7,$
        DJNZ R7,$
        DJNZ R6,$-4
        RET
        ;-------------
        END

         運行仿真沒錯誤,但寫入Proteus仿真卻沒有現象,求大佬幫忙看下

作者: LXJG    時間: 2022-5-19 23:11
接口是不是沒有定義,電平都調不到

作者: 188610329    時間: 2022-5-20 08:01
不知道你要的現象,是什么, 就k8而言,你p0.7跳過去,之后判斷p0.6按鍵,那么,肯定是無效的。 然后整個代碼,沒有一個mov p1,#0ffh 的地方,你確定你程序走到最后,還能有變化么? 然后,仿真,真的做不到真的"仿真",那么簡單的應用,不說學習版了,就算洞洞板搭一個,也用不了15分鐘吧?
作者: yzwzfyz    時間: 2022-5-20 10:06
K2:                   ;1、K2按下了來此,燈還未亮
CALL DL10MS     ;2、等了10ms,燈還未亮
JB P0.1,START    ;3、鍵抬起就回去,燈還未亮
JNB P0.1,$                ;4、鍵還按著就在此死等,燈還是未亮
CLR P1.2           ;5、鍵抬起了,亮燈
SJMP START      ;6、回頭再來

如果硬件圖不錯,是下列情況:
按下見4、死等,燈還是未亮
抬起見5、抬起才亮。

也可以這樣簡化,先將按鍵轉成0-7,直接送P1顯示:(按下亮燈,不按不亮)
ST: MOV R0, #8  ;8個鍵判8次
    MOV R1, #0  ;末3位表示按入鍵值,按下P10=00,按下P17=07,未按下=08H
    MOV A, P0   ;取鍵
LP: RRC A       ;移出一位,移8次結束,先低后高
    JNC EX      ;看看是否按下了,按下就去EX顯示了,后面的鍵不再處理了(無需去抖)。
    INC R1      ;未按,R1=預估為下個鍵值
    DJNZ R0, LP ;8個鍵全判斷結束
    JMP ST      ;無鍵按下重頭再來
;有鍵按下
XE: MOV A, R1        ;A的末3位=鍵值
    CPL A       ;鍵值送出P1前,需要求反,因為燈是負邏輯,0亮1暗。
    OR  A, #11111000B  ;不是燈的位=1,目的是不影響P1的其它位值
    ORL P1, #00000111B ;滅燈(1暗),但不影響P1的其它位
    ANL P1, A          ;按鍵值亮燈,但不影響P1的其它位
    JMP ST





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美日韩国产高清视频 | 欧美一区二区三区在线免费观看 | 久久精品久久综合 | 国产精品久久久久久妇女6080 | 午夜天堂精品久久久久 | 精品视频一区二区 | 欧美一级特黄aaa大片在线观看 | 精品亚洲国产成av人片传媒 | 亚洲第一视频网 | 国产99久久 | 亚洲一区 中文字幕 | 久久亚洲一区二区三区四区 | 视频二区 | 99精品视频网 | 麻豆一区 | 久久高清精品 | 午夜免费在线观看 | 视频一二三区 | 一本岛道一二三不卡区 | 婷婷久久综合 | 色永久| 成人午夜激情 | 亚洲欧美视频一区 | 精品久久久久久久人人人人传媒 | 能免费看的av | 亚洲在线电影 | 国产精品国产三级国产aⅴ中文 | 免费视频一区 | 国产成人免费视频网站视频社区 | 日韩在线h | 中文字幕日韩一区二区 | 国产综合视频 | 正在播放国产精品 | 99精品国自产在线 | 中文字幕不卡一区 | 性做久久久久久免费观看欧美 | 香蕉大人久久国产成人av | www国产成人免费观看视频,深夜成人网 | 午夜精品一区二区三区在线观看 | 日韩中文字幕在线视频观看 | 精品一区av |