标题: 矩阵键盘汇编程序和仿真 单片机课程设计 [打印本页]

作者: 果果2017    时间: 2017-1-8 13:49
标题: 矩阵键盘汇编程序和仿真 单片机课程设计
单片机课程设计


单片机汇源语言程序:
  1.       ORG 0000H
  2.       SJMP MAIN
  3.       ORG 001BH
  4.       SJMP T1INT;跳到定时程序
  5.       ORG 0030H
  6.       K1ST BIT 28H
  7.       K2CD BIT 29H
  8. MAIN:MOV TMOD,#10H ;定时器选择T1,工作方式为1
  9. LOOP:MOV TH1,#0D8H;这是定时多久???
  10.       MOV TL1,#0F0H
  11.       SETB ET1
  12.       SETB TR1
  13.       SETB EA
  14.       CLR P3.0
  15.       CLR P2.7
  16.       NOP
  17. T1INT:
  18.       CLR TR1
  19.       MOV TH1,#0D8H
  20.       MOV TL1,#0F0H
  21.       MOV DPTR,#07FFFH;   对8255写控制字
  22.       MOV A,#090H   ;        行输入,列输出
  23.       MOVX @DPTR,A
  24.       MOV DPTR,#07FFDH;     4条列线均为0
  25.       MOV A,#00H
  26.       MOVX @DPTR,A
  27.       MOV DPTR,#07FFCH
  28.       MOVX A,@DPTR;      读A口的内容到A
  29.       ORL A,#08FH;除去判别位的其他位置1
  30.       CPL A;取反然后判0
  31.       JZ KEY8;是0,则无键闭合
  32.       JNB K1ST,KEY7
  33.       JB K2CD,LAST
  34.       SETB K2CD
  35.       CPL A
  36.       ANL A,#70H
  37.       MOV B,A
  38.       MOV DPTR,#07FFFH
  39.       MOV A,#82H
  40.       MOVX @DPTR,A
  41.       MOV DPTR,#07FFDH
  42.       MOVX A,@DPTR
  43.       ANL A,#00FH
  44.       ORL A,B
  45.           SJMP LOP
  46. LAST:LJMP KEY9
  47. KEY7:SETB K1ST
  48.       LJMP KEY9
  49. KEY8:CLR K1ST
  50.       CLR K2CD
  51.       LJMP KEY9
  52. LOP:CJNE A,#037H,LOP1
  53.      MOV P1,#0C0H
  54.      AJMP RING
  55. LOP1:CJNE A,#03BH,LOP2
  56.      MOV P1,#0F9H
  57.      AJMP RING
  58. LOP2:CJNE A,#03DH,LOP3
  59.      MOV P1,#0A4H
  60.      AJMP RING
  61. LOP3:CJNE A,#03EH,LOP4
  62.      MOV P1,#0B0H
  63.      AJMP RING
  64. LOP4:CJNE A,#057H,LOP5
  65.      MOV P1,#099H
  66.      AJMP RING
  67. LOP5:CJNE A,#5BH,LOP6
  68.      MOV P1,#092H
  69.      AJMP RING
  70. LOP6:CJNE A,#5DH,LOP7
  71.      MOV P1,#082H
  72.      AJMP RING
  73. LOP7:CJNE A,#5EH,LOP8
  74.      MOV P1,#0F8H
  75.      AJMP RING
  76. LOP8:CJNE A,#67H,LOP9
  77.      MOV P1,#080H
  78.      AJMP RING
  79. LOP9:CJNE A,#6BH,LOP10
  80.      MOV P1,#090H
  81.      AJMP RING
  82. LOP10:CJNE A,#6DH,LOP11
  83.      MOV P1,#088H
  84.      AJMP RING
  85. LOP11:CJNE A,#06EH,LOP12
  86.      MOV P1,#083H
  87.           AJMP RING
  88. LOP12: AJMP RING
  89. RING:
  90.       MOV R3,#60H
  91.       MOV R2,#90H
  92.    HH:LCALL DELAY
  93.       CPL P3.0
  94.       DJNZ R3,HH
  95.       CLR P3.0
  96. HERE:MOV DPTR,#7FFDH
  97.       MOVX A,@DPTR
  98.           ORL A,#0F0H
  99.       
  100.       CJNE A,#0FFH,HERE
  101.       LJMP MAIN
  102. DELAY:
  103.        DJNZ R2,DELAY
  104.        RET
  105. KEY9:SETB TR1
  106.       RETI

  107. END
  108.    
复制代码



所有资料下载:
键盘.zip (20.94 KB, 下载次数: 20)





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