欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1733|回復: 1
收起左側

大佬幫我看下這個單片機匯編代碼為什么按鍵用不了?

[復制鏈接]
ID:1047713 發表于 2022-10-26 12:39 | 顯示全部樓層 |閱讀模式
2.jpg 1.jpg
單片機匯編語言源程序如下:
  1.         ORG 0000H                        ;程序上電從0000H開始
  2.         AJMP MAIN                        ;跳轉到主程序
  3.         ORG 0004H                        ;主程序起始地址
  4.         
  5.         KEY0 BIT P3.1                ;定義IO端口
  6.         KEY1 BIT P3.0
  7.         KEY2 BIT P3.2
  8.         KEY3 BIT P3.3
  9.         
  10.         LED0 BIT P2.0
  11.         LED1 BIT P2.1
  12.         LED2 BIT P2.2
  13.         LED3 BIT P2.3
  14.         LED4 BIT P2.4
  15.         LED5 BIT P2.5
  16.         LED6 BIT P2.6
  17.         LED7 BIT P2.7
  18. MAIN:
  19.         ;初始按鍵全部彈起
  20.         SETB KEY0                        
  21.         SETB KEY1
  22.         SETB KEY2
  23.         SETB KEY3
  24.         
  25.         ;初始LED全部熄滅
  26.         SETB LED0
  27.         SETB LED1
  28.         SETB LED2
  29.         SETB LED3
  30.         SETB LED4
  31.         SETB LED5
  32.         SETB LED6
  33.         SETB LED7
  34.         
  35.         SETB LED0                ;初始化LED0熄滅
  36.         CLR LED0                ;給低電平LED0亮
  37.         LCALL DELAY_250MS
  38.         CPL        LED0
  39.         
  40.         SETB LED1                ;初始化LED1熄滅
  41.         CLR LED1                ;給低電平LED1亮
  42.         LCALL DELAY_250MS
  43.         CLR LED0
  44.         LCALL DELAY_250MS
  45.         CPL        LED1        

  46.         SETB LED2                ;初始化LED2熄滅
  47.         CLR LED2                ;給低電平LED2亮
  48.         CPL LED0
  49.         LCALL DELAY_250MS
  50.         CLR LED0
  51.         LCALL DELAY_250MS
  52.         CPL LED0
  53.         CLR LED1
  54.         LCALL DELAY_250MS
  55.         CLR LED0
  56.         LCALL DELAY_250MS
  57.         CPL LED1
  58.         CPL LED2
  59.         
  60.         SETB LED3                ;初始化LED3熄滅
  61.         CLR LED3                ;給低電平LED3亮
  62.         CPL LED0
  63.         LCALL DELAY_250MS
  64.         CLR LED0
  65.         LCALL DELAY_250MS
  66.         CPL LED0
  67.         CLR LED1
  68.         LCALL DELAY_250MS
  69.         CPL LED0
  70.         LCALL DELAY_250MS
  71.         CPL LED1
  72.         CLR LED2
  73.         CPL LED0
  74.         LCALL DELAY_250MS
  75.         CLR LED0
  76.         LCALL DELAY_250MS
  77.         CLR LED1
  78.         CPL LED0
  79.         LCALL DELAY_250MS
  80.         CLR LED0
  81.         LCALL DELAY_250MS
  82.         CPL LED3
  83.         CPL LED0
  84.         CPL LED1
  85.         CPL LED2
  86.         
  87.         LCALL LOOP
  88.         
  89. LOOP:
  90.         JB KEY0,LOOP1                ;KEY0按下
  91.         LCALL DELAY10MS                ;延時去按下抖動
  92.         JB KEY0,LOOP1               
  93.         JNB KEY0,[        DISCUZ_CODE_1        ]nbsp;                       
  94.         LCALL DELAY10MS                ;延時去彈起抖動
  95.         CPL LED4                        
  96.         
  97. LOOP1:
  98.         JB KEY1,LOOP2                ;KEY1按下
  99.         LCALL DELAY10MS                ;延時去按下抖動
  100.         JB KEY1,LOOP
  101.         JNB KEY1,$
  102.         LCALL DELAY10MS                ;延時去彈起抖動
  103.         CPL LED5                                
  104.         
  105. LOOP2:
  106.         JB KEY2,LOOP3                ;KEY2按下
  107.         LCALL DELAY10MS                ;延時去按下抖動
  108.         JB KEY2,LOOP3
  109.         JNB KEY2,$
  110.         LCALL DELAY10MS                ;延時去彈起抖動
  111.         CPL LED6                                
  112.         LJMP LOOP
  113.         
  114. LOOP3:
  115.         JB KEY3,LOOP                ;KEY3按下
  116.         LCALL DELAY10MS                ;延時去按下抖動
  117.         JB KEY3,LOOP
  118.         JNB KEY3,$
  119.         LCALL DELAY10MS                ;延時去彈起抖動
  120.         CPL LED7                                
  121.         LJMP LOOP
  122.         
  123. DELAY10MS:                        
  124.                         NOP
  125.                         NOP
  126.                         NOP
  127.                         PUSH 30H
  128.                         PUSH 31H
  129.                         MOV 30H,#87
  130.                         MOV 31H,#10
  131.                         RET
  132. DELAY_250MS:
  133.                         MOV R7,#10
  134. D1:                 MOV R6,#100
  135. D2:                 MOV R5,#250
  136.                         DJNZ R5,$
  137.                         DJNZ R6,D2
  138.                         DJNZ R7,D1
  139.                         RET        
  140.         
  141.                 END
復制代碼


回復

使用道具 舉報

ID:384109 發表于 2022-10-26 14:47 | 顯示全部樓層
LOOP1:
        JB KEY1,LOOP2                ;KEY1按下
        LCALL DELAY10MS                ;延時去按下抖動
        JB KEY1,LOOP
第二個跳轉不對,控制的LED是4,5,6,7,應該有一兩個按鍵能起作用吧
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表