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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2204|回復: 3
收起左側

小白求大佬解決LED燈單片機匯編代碼 Proteus仿真沒有現象

[復制鏈接]
ID:1028040 發表于 2022-5-19 21:06 | 顯示全部樓層 |閱讀模式
如下,用匯編語言編寫:
利用單片機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仿真卻沒有現象,求大佬幫忙看下
回復

使用道具 舉報

ID:1004455 發表于 2022-5-19 23:11 | 顯示全部樓層
接口是不是沒有定義,電平都調不到
回復

使用道具 舉報

ID:624769 發表于 2022-5-20 08:01 來自手機 | 顯示全部樓層
不知道你要的現象,是什么, 就k8而言,你p0.7跳過去,之后判斷p0.6按鍵,那么,肯定是無效的。 然后整個代碼,沒有一個mov p1,#0ffh 的地方,你確定你程序走到最后,還能有變化么? 然后,仿真,真的做不到真的"仿真",那么簡單的應用,不說學習版了,就算洞洞板搭一個,也用不了15分鐘吧?
回復

使用道具 舉報

ID:123289 發表于 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
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人小视频在线观看 | 有码一区 | 日本中文字幕在线观看 | 一区二区三区四区电影 | 国产精品视频久久久 | 一区二区在线 | 欧美成人免费电影 | 国产亚洲日本精品 | 亚洲一区二区不卡在线观看 | 亚洲天堂网站 | 国产女人与拘做受免费视频 | 99久久亚洲| 亚洲视频二区 | 99久久婷婷国产精品综合 | 欧美狠狠操 | 羞羞视频在线免费 | 福利片在线看 | 中文字幕的av | 99精品久久久 | 乱一性一乱一交一视频a∨ 色爱av | 欧美日韩国产在线 | 91综合网| 一级片毛片 | 亚洲国产18 | 亚洲欧美日韩高清 | 亚洲巨乳自拍在线视频 | 欧美日韩精品专区 | 99爱国产 | 美女国产一区 | 在线免费国产 | 亚洲欧美网站 | 亚洲欧美日韩一区 | 亚洲精品乱码久久久久久蜜桃 | av中文天堂 | 成人av在线大片 | 亚洲永久入口 | 中文字幕在线观看视频网站 | 91精品久久久| 免费一区在线观看 | 日本 欧美 三级 高清 视频 | 免费毛片网 |