标题: at89c52单片机汇编语言键盘扫描实验程序含Proteus仿真 [打印本页]

作者: lx20000904    时间: 2021-4-28 20:10
标题: at89c52单片机汇编语言键盘扫描实验程序含Proteus仿真
proteus 版本8.9
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  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
复制代码

所有资料51hei提供下载:
键盘扫描.zip (129.6 KB, 下载次数: 19)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1