51单片机汇编语言程序键盘扫描实验程序含Proteus仿真

[复制链接]
查看0 | 回复0 | 2021-5-6 01:54:55 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus 8.9仿真工程文件可到本帖附件中下载)
1.png

单片机部分源程序如下:完整程序见附件
  1.                    ORG 0000H
  2.      MOV P2,#00H  ;关闭显示
  3. MAIN:MOV DPTR,#TABLE ;指向段码表首地址
  4.      MOV R0,#0
  5.      MOV R1,#01H        ;点亮第一个数码管(共阳极)位码
  6. NEXT:MOV DPTR,#TABLE
  7.          MOV P2,#0
  8.          MOV A,R0               
  9.      MOVC A,@A+DPTR
  10.      MOV P0,A                ;送段码
  11.      MOV A,R1
  12.      MOV P2,A                ;送位码
  13.      ACALL DELAY   ;调用延时1ms
  14.      MOV P2,#0                ;关闭一个数码管
  15.      INC R0                        ;段码地址+1
  16.      MOV A,R1            ;保存段码
  17.          RL A                        ;左移点亮下一个数码管
  18.          MOV R1,A                ;保存位码
  19.          ACALL DELAY        ;延时1ms
  20.          CJNE A,#80H,NEXT;显示前七个数码管
  21.          MOV P2,#80H        ;显示第8位
  22.      MOV A,#7
  23.      MOVC A,@A+DPTR          ;查段码表得第8个数码管段码
  24.      MOV P0,A                   ;送第8位段码
  25.      ACALL DELAY                ;延时1ms
  26.          SJMP MAIN                         ;循环
  27. DELAY:
  28.      MOV R6,#2
  29.   L2:MOV R7,#7DH
  30.      NOP
  31.      NOP
  32.   L1:DJNZ R7,L1
  33.      DJNZ R6,L2
  34.      RET
  35. TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
  36.      END
复制代码
完整程序源码和仿真文件: 键盘扫描.zip (126.8 KB, 售价: 2 工控币)
回复

使用道具 举报

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

本版积分规则