爱问知识人 爱问教育 医院库

怎么用单片机汇编语言编写汽车灯光控制器???

首页

怎么用单片机汇编语言编写汽车灯光控制器???


        

提交回答

全部答案

    2018-12-23 01:57:35
  •   ORG 0000H
    LJMP START
    ORG 1000H
    START:MOV SP,#4FH
    MAIN: MOV A,P3
    CJNE A,#0FEH,A0 ;测左转向灯有没有按下,没按则跳转测下一个
    ACALL ZUO
    AJMP MAIN
    A0: MOV A,P3
    CJNE A,#0FDH,A1 ;测右转向灯有没有按下,没按则跳转测下一个
    ACALL YOU
    AJMP MAIN
    A1: MOV A,P3
    CJNE A,#0FBH,A2 ;测倒车灯有没有按下,没按则跳转测下一个
    ACALL DAO
    AJMP MAIN
    MOV A,P3
    A2: CJNE A,#0F7H, A3 ;测故障灯有没有按下,没按则跳转测下一个
    ACALL GU
    AJMP MAIN ;循环
    A3: MOV A,P3
    CJNE A,#0FAH,A4 ;测倒车灯和左灯有没有按下,没按则跳转测下一个
    ACALL DAOZUO
    AJMP MAIN
    A4: SETB P0。
      0
    MOV A,P3
    CJNE A,#0F9H,A5 ;测倒车灯和右灯有没有按下,没按则跳转测下一个
    ACALL DAOYOU
    AJMP MAIN ;循环
    A5: SETB P0。
      0
    MOV A,P3
    CJNE A,#0F6H,A6 ;测左车灯和故障灯有没有按下,没按则跳转测下一个
    ACALL ZUOGU
    AJMP MAIN
    A6: SETB P0。
      0
    MOV A,P3
    CJNE A,#0F5H,A7 ;测故障车灯和右灯有没有按下,没按则跳转测下一个
    ACALL YOUGU
    AJMP MAIN
    A7: SETB P0。
      0
    MOV A,P3
    CJNE A,#0F3H,A8 ;测故障车灯和倒灯有没有按下,没按则跳转测下一个
    ACALL GUDAO
    AJMP MAIN
    A8: SETB P0。
      0 ;灭灯
    MOV A,P3
    CJNE A,#0F2H,A9 ;测倒车灯和故障灯及左灯有没有按下,没按则跳转测下一个
    ACALL ZUOGUDAO
    AJMP MAIN
    A9: SETB P0。
      0 ;灭灯
    MOV A,P3
    CJNE A,#0F1H,A10 ;测倒车灯和故障灯及右灯有没有按下,没按则跳转到下一个标号
    ACALL YOUGUDAO
    AJMP MAIN
    A10: SETB P0。
      0;灭灯
    ACALL DELAY
    AJMP MAIN ;循环从新在从第一个开始测试
    ZUO: CLR P2。0 ;亮灯
    ACALL DELAY
    SETB P2。
      0 ;灭灯
    ACALL DELAY
    ret
    YOU : CLR P2。1 ;亮灯
    ACALL DELAY
    SETB P2。1 ;灭灯
    ACALL DELAY
    ret
    DAO: CLR P0。
      0 ;亮灯
    ACALL DELAY
    ret
    GU: SETB P0。0
    CLR P1。0 ;亮灯
    ACALL DELAY
    SETB P1。
      0 ;灭灯
    ACALL DELAY
    ret
    DAOZUO:CLR P0。0 ;亮灯
    CLR P2。0
    ACALL DELAY ;灭灯
    SETB P2。
      0
    ACALL DELAY
    ret
    DAOYOU:CLR P0。0 ;亮灯
    CLR P2。1
    ACALL DELAY ;灭灯
    SETB P2。
      1
    ACALL DELAY
    ret
    ZUOGU: CLR P2。0 ;亮灯
    CLR P1。0
    ACALL DELAY ;灭灯
    SETB P2。
      0
    SETB P1。0
    ACALL DELAY
    ret
    YOUGU: CLR P1。0 ;亮灯
    CLR P2。1
    ACALL DELAY ;灭灯
    SETB P2。
      1
    SETB P1。0
    ACALL DELAY
    ret
    GUDAO:SETB P0。0
    CLR P0。0
    CLR P1。
      0 ;亮灯
    ACALL DELAY ;灭灯
    SETB P1。0
    ACALL DELAY
    ret
    ZUOGUDAO:CLR P0。0 ;亮灯
    CLR P2。
      0
    CLR P1。0
    ACALL DELAY
    SETB P2。0 ;灭灯
    SETB P1。0
    ACALL DELAY
    ret
    YOUGUDAO:CLR P0。
      0 ;亮灯
    CLR P2。1
    CLR P1。0
    ACALL DELAY ;灭灯
    SETB P2。1
    SETB P1。
      0
    ACALL DELAY
    ret
    DELAY: ;延迟子程序
    MOV R1,#0FFH
    LOOP0:MOV R2,#0FFH
    LOOP1:NOP
    NOP
    NOP
    DJNZ R2,LOOP1
    DJNZ R1,LOOP0
    RET
    END。

    潘***

    2018-12-23 01:57:35

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):