标题: 51单片机矩阵键盘行扫描法汇编程序和线反转法的Proteus仿真 [打印本页]

作者: 汪嘉鑫    时间: 2019-4-1 09:49
标题: 51单片机矩阵键盘行扫描法汇编程序和线反转法的Proteus仿真
这是基于51单片机矩阵键盘行扫描法和线反转法的Proteus仿真,下面是自己写的逐行扫描的代码,按键是自定义的。仿真和实际上机操作有一些不同,线反转法仿真上每个按键需要按两次才有效果,实际上机操作的话效果很好,反应很灵敏,如果初学单片机建议买一块板子实际操作为主,仿真为辅,整个工程的源代码见附件。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机汇编语言源程序如下:
  1. ORG 0000H
  2. LJMP START
  3. ORG 0030H
  4. START:MOV SP,#60H
  5.       MOV DPTR,#TAB
  6.       MOV R0,#0FEH
  7.       MOV R2,#00H
  8. LOOP: MOV P2,R0
  9.       NOP
  10.       NOP
  11.       MOV A,P2
  12.       ANL A,#0F0H
  13.       JNB Acc.4,L1
  14.       JNB Acc.5,L2
  15.       JNB Acc.6,L3
  16.       JNB Acc.7,L4
  17.       MOV A,R0
  18.       INC R2
  19.       RL A
  20.       MOV R0,A
  21.       CJNE A,#0EFH,LOOP
  22.       LJMP START
  23.       
  24. L1:   MOV R1,#0
  25.       LJMP L5
  26. L2:   MOV R1,#1
  27.       LJMP L5
  28. L3:   MOV R1,#2
  29.       LJMP L5
  30. L4:   MOV R1,#3
  31. L5:   MOV A,R2
  32.       MOV B,#4
  33.       MUL AB
  34.       ADD A,R1
  35.       MOVC A,@A+DPTR
  36.       MOV P0,A
  37.       LJMP START
  38. TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH

  39. END
复制代码

全部资料51hei下载地址:
Protues工程.zip (71.92 KB, 下载次数: 37)






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