找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 966|回复: 9
收起左侧

麻烦大佬们看看单片机汇编语言程序哪里错啦?

[复制链接]
ID:1027053 发表于 2022-5-16 16:39 | 显示全部楼层 |阅读模式
     ORG 0000H
     LJMP MAIN
     ORG 0003H
     LJMP INTa
     ORG 000BH
     LJMP ITa
     ORG 001BH
     LJMP ITb
     ORG 0100H
MAIN:MOV SP,#70H
     MOV TMOD,#11H //定时器初始化
         SETB EA
         SETB ET0
         SETB ET1
         SETB IT0
         MOV  TL0,#00H
         MOV  TH0,#00H//定时器0赋值
         MOV  TL1,#00H
         MOV  TH1,#00H//定时器1赋值
         MOV  P1,#0FFH
         MOV  B,#0
         MOV  R0,#0
         MOV  R1,#0
         MOV  R2,#0
         MOV  R3,#0
         MOV  A,#0
         MOV  DPTR,#0000H//数据指针初始化
         AJMP KEYSCAN
KEYSCAN:
     MOV P3,#0F0H        //给P3赋值,读行线
         MOV A,P3
         ANL A,#0F0H                  //与
         XRL A,#0F0H             //异或
         JNZ DELAY
DELAY:MOV R2,#05H
LOOP1:MOV R3,#0FAH
LOOP2:DJNZ R3,LOOP2
      DJNZ R2,LOOP1
          MOV A,P3
          ANL A #0F0H
          JNZ KEYSCAN1
          LJMP KEYSCAN
KEYSCAN1:
      MOV A,#00H
          MOV P3,#0FH
          MOV A ,P3
          ANL A ,#0FH
          MOV R1,A
          XRL A ,#0FH
          JNZ NUM
          LJMP KEYSCAN
NUM:
          MOV A ,R0
          MOV B,R1
          ORL A,B//A或上B,数据保存在A
          MOV DPTR,#TAB
          SJMP DISP0
DISP0:
     CJNE A,#0EEH,DISP1
         MOV A ,#00H
         MOVC A ,@A+DPTR
         MOV P0,A
         LCALL DELAY1
         LJMP KEYSCAN
DISP1:
    CJNE A ,#0EDH,DISP2
        MOV A ,#01H
        MOVC A,@A+DPTR
        MOV P0,A
        LCALL DELAY1
        LJMP KEYSCAN
DISP2:
   CJNE A ,#0EBH,DISP3
   MOV A ,#02H
   MOVC A @A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISP3:
   CJNE A,#0E7H,DISP4
   MOV A,#03H
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISP4:
   CJNE A,#0DEH,DISP5
   MOV A #04H
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISP5:
   CJNE A,#0DDH,DISP6
   MOV A ,#05H
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISP6:
   CJNE A,#0DBH,DISP7
   MOV A ,#06H
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISP7:
   CJNE A,#0D7H,DISP8
   MOV A ,#07H
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISP8:
   CJNE A,#0BEH,DISP9
   MOV A ,#08H
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISP9:
   CJNE A,#0BDH,DISPA
   MOV A ,#09H
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISPA:
   CJNE A,#0BBH,DISPB
   MOV A ,#0AH
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISPB:
   CJNE A,#0B7H,DISPC
   MOV A ,#0BH
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISPC:
   CJNE A,#07EH,DISPD
   MOV A ,#0CH
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISPD:
   CJNE A,#07DH,DISPE
   MOV A ,#0DH
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISPE:
   CJNE A,#07BH,DISPF
   MOV A ,#0EH
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DISPF:
   CJNE A,#077H,KEY
   MOV A ,#0FH
   MOVC A ,@A+DPTR
   MOV P0,A
   LCALL DELAY1
   LJMP KEYSCAN
DELAY1:MOV R2,#0FH
LOOP10:MOV R3,0FAH
LOOP20:DJNZ R3,LOOP20
       DJNE R2,LOOP10
         RET
KEY:LJMP MAIN
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
END                           


回复

使用道具 举报

ID:732794 发表于 2022-5-16 19:14 | 显示全部楼层
这里为啥都是0?
MOV  TL0,#00H
         MOV  TH0,#00H//定时器0赋值
         MOV  TL1,#00H
         MOV  TH1,#00H//定时器1赋值
回复

使用道具 举报

ID:1027053 发表于 2022-5-16 19:43 来自手机 | 显示全部楼层
51FAN2020 发表于 2022-5-16 19:14
这里为啥都是0?
MOV  TL0,#00H
         MOV  TH0,#00H//定时器0赋值

我们做的电子琴,刚开始没按键,就没有方波产生,所以就都是0
回复

使用道具 举报

ID:824490 发表于 2022-5-16 20:02 | 显示全部楼层
哪里不舒服呢?你倒是说啊!我看你红光满面,身体挺好的啊~~
回复

使用道具 举报

ID:1026496 发表于 2022-5-16 22:49 | 显示全部楼层
你要实现什么功能,可以描述清楚点吗?
回复

使用道具 举报

ID:140644 发表于 2022-5-16 23:24 | 显示全部楼层
LJMP INTa
     ORG 000BH
     LJMP ITa
     ORG 001BH
     LJMP ITb
回复

使用道具 举报

ID:814176 发表于 2022-5-17 08:31 | 显示全部楼层
ANL  A #0F0H   ;少了逗号
回复

使用道具 举报

ID:123289 发表于 2022-5-17 10:12 | 显示全部楼层
错与对,需要先立个标准。
回复

使用道具 举报

ID:1027053 发表于 2022-5-17 16:27 | 显示全部楼层
51FAN2020 发表于 2022-5-16 19:14
这里为啥都是0?
MOV  TL0,#00H
         MOV  TH0,#00H//定时器0赋值

完整程序来啦,麻烦大家移步,谢谢谢!!!
回复

使用道具 举报

ID:1027053 发表于 2022-5-17 16:27 | 显示全部楼层
yaoyao2022 发表于 2022-5-16 22:49
你要实现什么功能,可以描述清楚点吗?

完整程序在新帖,麻烦大家移步!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表