久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

立即注冊 登錄
返回首頁

uid:256444的個人空間

日志

超聲波檢測倒車雷達設計匯編程序

已有 686 次閱讀2017-12-7 22:05

LEDDATAPORT      EQU P0

LEDCHOICEPORT    EQU P2

KEYMODE  EQU  10010001B;

KEYFUNCTION  EQU  10010010B;

KEYUP  EQU  10010011B;

KEYDOWN  EQU  10010100B;

KEYPORT  EQU P1

CHECKNUM  EQU 17H

CANCEL  EQU 00H;

HALFSPEED EQU 170;

WAVEPORT  EQU P1.0

DELAYMIN  EQU 00H

DELAYMAX  EQU 01H

ORG 0000H

RESET: AJMP MAIN

ORG 000BH

JMP IT0P

ORG 0013H

JMP IT1P

ORG 001BH

JMP IT1P

ORG 0030H

MAIN:

MOV SP,#50H

CALL RESETMEMORY

CLR CANCEL

MOV 4EH,#00H

MOV A,#00H

MAINLOOP:

CALL SHOWLED

MOV KEYPORT,#0FFH

MOV A,KEYPORT

MOV R0,A

ANL A,#KEYMODE

CJNE A,#00H,NEXT1

MOV CHECKNUM,#00H

MOV A,4EH

INC A

CJME A,#01H,MODESPEED

CALL SHOWLEN

MOV 4EH,A

AJMP OK

MODESPEED:

CJNE A,#02H,MODESECOND

CALL SHOWSPEED

MOV 4EH,A

AJMP OK

MODESECOND:

CJNE A,#03H,RESETMODE

CALL SHOWSECOND

MOV 4EH,A

AJMP OK

RESETMODE:

MOV 4EH,#01H

CALL SHOWLEN

AJMP OK

OK:

      MOV R7,#01H

CALL WAITKEYRELEASE

SJMP MAINLOOP

NEXT1:

   MOV A,R0

ANL A,#KEYFUNCTION

CJNE A,#00H,NEXT2

MOV CHECKNUM,#00H

MOV R7,#02H

CALL WAITKEYRELEASE

CJNE R3,#00H,NOTRESTORMEM

CALL RESEETMEMORY

CLEAR MEMOEY

SETB CANCEL

SJMP MAINLOOP

NOTRESTORMEM:

  MOV A,4EH

CJNE A,#01H,SPEED

CALL MEASURELEN                                                  

SJMP MAINLOOP

SPEED:

      CJNE A,#02H,SECOND

    CALL MEASSURESPEED

   SJMP MAINLOOP

SPCOND:

   CJNE A,#03H,MAINLOOP

   CALL MEASEURSECOND

   SJMP MAINLOOP

DEFAULT:

       SJMP MAINLOOP

NEXT2:

   MOV A,R0

       ANL A,#KEYUP

   CJNE A,#00HNEXT3

   MOV R6,#01H

   CALL CHECK

   MOV R7,#03H

   CALL WAITKEYRELEASE

   JMP MAINLOOP

NEXT3:

      MOV A,R0

      ANL A,#KEYDOWN

      CJNE A,#00H,AIDJMPTOMAINLOOP

      AJM AIDNEXT

AIDJMPTOMAINLOOP:

      JMP MAINLOOP

AIDNEXT:

      MOV R6,#02H

      CALL CHECK

      MOV R7,#04H

      CALL WAITKEYRELEASE

      JMP MAINLOOP

      RET

END MAIN

WAITKEYRELEASE:

MOV R3,#0A0H

WAIT

      MOV R1 ,#00H

WAIT1:

      CALL SHOWLED

MOV KEYPORT#0FFH

   MOV A,KEYPORT

MOV R2,A

CJNE R7,#01H,FROMFUNCTION

ANL A,#KEYMODE

JZ WAIT

RET

FROMFUNCTION:

      CJNE R7,#02H,FROMELSE

MOV A,R2

ANL A,#KEYFUNCTION

JZ NOTRELEASE

RET

FROMELSE:

      MOV A,R2

      CJNE A,#0FFH,WAIT

      RET

NOTRELEASE:

      DJNZ R1,WAIT1

      DJNZ R3,WAIT

  RET

      END WAITKEYRELEASE

RESETMEMORY:

      MOV R0,#47H

      CLR A

      CLRMEM:

      MOV @R0,A

      DJNZ R0,CLRMEM

      MOV 4CH,#2CH

      MOV 4DH,#00H

      CALL SHOWREADY

      RET

END RESETMEMORY

CHECK:

      MOV A,4DH

CJNE A,#00H,HAVE

CALL SHOWNONE

RET

HAVE:

      MOV A,R6

      CJNE A,#01H,PAGEDOWN

;PAGEUP

MOV A,4FH

CJNE A,4CH,GOAHEAD

MOV 4FH,#30H

MOV CHECKNUM,#01H

AJMP CANSHOW

GOAHEAD

      ADD A,#04H

      MOV 4FH,A

      INC CHECKNUM

AJMP CANSHOW

PAGEDOWN:

  MOV A,4FH

CJNE A,#30H,GOBACK

MOV 4FH,4CH

MOV CHECKNUM,4DH

AJMP CANSHOW

GOBACK:

      CLR C

  SUBB A,#04H

  MOV 4FH,A

DEC CHECKNUM

CANSHOW:

MOV R3,4FH

MOV 4FH,#48H

MOV 48H,#0DH

MOV 49H,#0DH

MOV 4AH,#0DH

MOV 4BH,CHECKNUM

MOV 08H,#08H

MOV R5,#02H

CHECKDELAY:

MOV R7,#00H

CHECKDELAY1:

CALL SHOWLED

MOVKEYPORT,#0FFH

MOV A,KEYPORT

MOV R0,A

ANL A,#KEYUP

JZ CHECKDELAY1

MOV A,R0

ANL A,#KEYDOWN

JZ CHECKDELAY1

DJNZ R7,CHECKDELAY1

DJNZ R5,CHECKDELAY

MOV 4FH,R3

RET

;END CHECK

MEASURELEN:

JNB CANCEL,CANMEASURELEN

CLR CANCEL

RET

CANMEASURELEN:

MOV 1EH,#00H

CALL SHOWERRO

RET

NOTELOW:

CJNE RO,#0FH,LOOP1

; SJMP L

; 反饋信號正常

    MOV A,ITL1

  MOV B,#HALFSPEED

MUL AB

MOV R7,A

MOV R6,B

MOV A,TH1

MOV B,#HALFSPEED

MUL AB

ADD A,R6

MOV R6,A

MOV A,B

ADDC A,#00H

MOV R5,A

MOV R4,#00H

MOV 1EH,#02H

CALL CUTFIGURE

MOV P3,#0FFH

RET

; END MEASURELEN

MEASSURESPEED:

           JNB CANCEL,CANMEASSURESPEED

      CLR CANCEL

     RET

           CANMEASSURESPEED

MOV 1EH,#00H

CALL SETTIME

SPEEDLOOP:

CJNE R0,#0FFH,SPEEDNOTFLOW1

ALL SHOWERRO

RET

SPEEDNOTFLOW1:

      CJNE R0,#0FFH,SPEEDLOOP1

      MOV 19H,TH1

      MOV 18H,TL1

MOV R5#08H

DELAYT :

MOV R7,#0011

DELAYT1:

MOV R6#00H

DJNZ R6,$

DJNZ R7,DELAYT 1

DJNZ R5,DELAYT

CALL SETTIME

SPEEDLOOP2:

CJNE R0,#0FFH,SPEEDNOTFLOW2

CALL SHOWERRO

SPEEDNOTFLOW2 :

CJNE R0,#0FFH,SPEEDLOOP2

MOV 1AH,TL 1

MOV 1BH,TH I

CLRC

MOV A,1BH

SUBB A,19H

JC T2LESSTI

MOV A,1BH

CINE A,19H,T2MORET1

CLR C

MOV A,1AH

SUBB A,18H

JC T2LESST1

T2MORE T1:

CLR C

MOV A,1AH

SUBB A,18H

MOV R3,A

MOV A 1BH

SUBB A,19H

MOV R2,A

MOV R1,#00H

MOV R0,#00H

SJMP CULT

T2LESSTI1:

CLR C

MOV A,18H

SUBB A,1AH

MOV R3, A

MOV A, 19H

SUBB A,1BH

MOV R2,A

MOV R1,#00H

MOV R0,#00H

CULT:

MOV A,18H

ADD A,1AH

MOV R7,A

MOV A,19H

ADDC A,1BH

MOV R6,A

MOV A,#00H

ADDC A,#00H

MOV R5,A

MOV R4,#00H

MOV A,R7

ADD A,#58H

MOV R7,A

MOV A,R6

ADDC A,#30H

MOV R6,A

MOV A,R5

ADDC A,#20H

MOV R5,A

MOV A,#00H

ADDC A,#00H

MOV R4,A

CALL MYDIV

MOV R3,07H

MOV R2,06H

MOV R1,05H

MOV R0,04H

MOV R7,#40H

MOV R6,#0E1H

MOV R5,#33H

MOV R4,#00H

CALL MYDIV

MOV IEH,#01H

CALL CUTFIGURE

RET

;END MEASSURESPEED

MEASEURSECOND

JNB CANCEL,CANMEASEURSECOND

CLR CANCEL

RET

CANMEASEURSECOND:

MOV R7,#01H

CALL WAITKEYRELEASE

;CJNE R3,#00H,STARTTIMER

;CALL RESETMEMORY ;PRESS FUNCION KEY FOR A LONG TIME TO CLEAR MEMORYTIMERNORESET

;RET

;STARTTIMER:

;SET SHOWTIME

CLR A

MOV 48H,A

MOV 49H,A

MOV 4AH,A

MOV 4BH,A

MOV 4FH,#48H

MOV 1FH,#00H

MOV 1EH,#03H

MOV 1DH,00H

MOV TMOD,#10H

MOV TH 1,#0D8H

MOV TL1,#0F0H

MOV IE,#88H

MOV TCON,#01000000B;

SECWAIT :

;CALL SHOWLED

MOV A,1FH

CJNE A,1DH,AIDGOTO

AJMP SECHERE

AIDGOTO:

INC 1DH

INC 4BH

MOV A,4BH

CJNE A,#OAH,SECHERE

MOV 4BH,#00H

INC 4AH

MOV A,4AH

CJNE A,#0A H,SECHERE

MOV 4AH,#00H

INC 49H

MOV A,49H

CINE A,#OAH,SECHERE

MOV 49H,#00H

INC 48H

MOV A,48H

CJNE A,#0AH,SECHERE

CALL SHOWERRO

CLR EA

RET

SECHERE:

MOV A,48H

CALL CHANGE

MOV LEDDATAPORT,A

SETB LEDCHOICEPORT.4

MOV A,49H

CALL CHANGE

ANL A,#07FH

MOV LEDDATAPORT,A

CLR LEDCHOICEPORT.4

SE TB LEDCHOICEPORT.5

MOV A.,4AH

CALL CHANGE

MOV LEDDATAPORT,A

CLR LEDCI IOICEPORT.5

SETB LEDCI IOICE PORT.6

MOV A,4BH

CALL CHANGE

MOV LEDDATAPORT,A

CLR LEDCHOICEPORT.6

SETB LEDCHOICEPORT.7

MOV P3,#0FFH

MOV A,P3

ANL A,#KEYFUNCTION

CJNE A,#00H,SECWAIT

CLR EA

MOV TCON,#00H

MOV 1EH,#03H

CALL CUTFIGURE

;WATTING FOR RELEASE KEY

SECWATTING:

CALL SHOWLED

MOV P3,#OFFH

MOV A,P3

CJNE A,#0FFH,SECWATTING

RET

;END MEASEURSECOND

CUTFIGURE:

MOV 10H,#0FH  ;POINT TO MEMORY TO CUT FIGURE

CUTNUM:   ;START TO CUT NUMBER

CLR A

M0 V R3,#0AH

MOV R2,A

MOV R1,A

MOV R0,A

CALL MYDIV

MOV RO,10H

MOV @R0,03 H

DEC 10H

MOV A.,10H

CINE A,#07H,CUTNUM

MOV A,IEH

CJNE A,#01H,FROMLEN

MOV A,08H

CJNE A,#001H,ERRORSPEED

MOV A,09H

CJNE A,#00H,ERRORSPEED

AJMP FROMLEN

ERRORSPEED:

CALL SHOWERRO

MOV A.,#8FH

DELAYSHOWERRO:

ACALL SHOWLED

DEC A

JNZ DELAYSHOWERRO

RET

FROMLEN:

MOV A,4D1H

CJNE A,#06H,CUTNOTFLOW

;DATA OVERFLOW,NEED TO MOVE DATA

MOV R2,#14H

MoV R1,30H

MOV R0,#34H

MOVEDATA:

MOV A,@R0

MOV @R1,A

INC R0

INC R1

DJNZ R2,MOVEDATA

AJMP CUTFLOW

CUTNOTFLOW:

INC 4DH

MOV A,4CH

ADD A,#04H

MOV 4CH,A

CUTFLOW:

MOV R2,#04H

MOV R1,4CH

MOV A,1EH

CINE A,#03H,NOTFROMSEC

MOV R0,#48H

AJMP NOTADJUST

NOTFROMSEC:

MOV R0,#08H

MOV A,1EH

CJNE A,#01H,NOTADJUST

INC R0

INC R0

NOTADJUST:

MOV A,@ R0

MOV @R1,A

INC R0

INC R1

DJNZ R2,NOT ADJUST

MOV A,4CH

MOV 4FH,A

RET

:END CUTFIGURE

MOV TMOD,# 12H

MOV TH0,#0F4H

MOV TL0,#0FFH

MOV TH 1,#00H

MOV TL1,#00H

MOV R0,#00H

MOV R1,#01FH

MOV 1E10001110B

MOV TCON,#01010100B

RET

;END SETTIME

IT0P:

CJNE R1,#00H,TWAVE

RETI

TWAVE:

DEC R1

CPL WAVEPORT

RET1

;END ITOP

IT1P:

MOV A,1EH

CJNE A,#03H,NOTFORMSECOND

; MOV 1EH,#03H

INC 1FH

MOV TH1,#0D8H

MOV TLI ,#0F8H

RETI

NOTFORMSECOND:

CLR EA

MOV TCON,#00H

MOV RO,#0FFH

RETI

;END IT1P

INT 1P:

CLREA

MOV A,TH1

CLR C

SUBB A,#DELAYMIN

JC INTOK

MOV A,TH1

CLR C

SUBB A,#DELAYMAX

JNC INTOK

MOV P3,#0FFH

SETBEA

AJMP ERROR

INTOK:

MOV P3,#0FFH

MOV R0,#0FH

CLR EA

MOV TCON,#00H

ERROR:

RET1

;END INT1

SHOWLED:

MOV R0,4FH

MOV R2,#10H

LEDCHOICEPORT.0

LEDLOOP:

MOV A,@R0

ACALL CHANGE

MOV R4,A

MOV A,4FH

CJNE A,#48H,SHOWNUM

;SHOW INFORMATION

AJMP NOTDOP

SHOWNUM:

CJNE R2,#00100000B,NOTDOP

MOV A,R4

ANL A,#07FH

MOV R4,A

NOTDOP:

MOV A,R4

MOV LEDCHOICEPORT,R2

MOV LEDDATAPORT,A

MOV A,R2

RL A

MOV R2,A

INC R0

ACALL DELAY

CJNE R2,#01H,LEDLOOP

MOV LEDCHOICEPORT,#00H

RET

;END SHOWLED

DELAY:

MOV R6,#38

DELAYLOOP:

MOV P3,#0FFH

MOV A,P3

CJNE A,#0FFH,DELAYRET

DJNZ R6,DELAYLOOP

DELAYRET:

RET

;END DELAY

CHANGE:

INC A

MOVC A,@A+PC

DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,

0F8H,080H,090H ;0~9

DB 086H,088H,0C8H,0FFH,0C7H,0C8H,08CH,0C6H,091H,0AIH

; E(A) R(B) N(C) NOSHOW

(ODH) L(OEH) N(OFH) P(10H) C(11H) Y(12H) d(13H)

;END CHANGE

SHOWERRO:

MOV 4FH,#48H

MOV 48H,#0AH

MOV 49H,#0BH

MOV 4AH,#0BH

MOV 4BH,#00H

RET

;END SHOWERRO

SHOWNONE:

;NO NUMBER,TO MAKE LED SHOW NONE

MOV 4FH,#48H

MOV 48H,#0CH

MOV 49H,#00H

MOV 4AH,#0CH

MOV 4BH,#0AH

RET

;END SHOWNONE

SHOWREADY:

;TO MAKE LED SHOW:RDY

MOV 4FH,#48H

MOV 48H,#0BH

MOV 49H,#13H

MOV4AH,# 12H

MOV 4BH,#0DH

RET

;END SHOWREADY

SHOWLEN:

;TO MAKE LED SHOW :LEN

MOV 4FH,#48H

MOV 48H,#0EH

MOV 49H,#0AH

MOV 4AH,#0FH

MOV 4BH,#0DH

RET

;END SHOWLEN

SHOWSPEED:

;TO MAKE  LED SHOW:SPD

MOV 4FH,48H

MOV 48H,#05H

MOV 49H,#10H

MOV 4AH,# 13H

MOV 4BH,#0DH

RET

;END SHOWSPEED

SHOWSE:COND:

;TO MAKE LED SHOW:SEC

MOV4FH,#48H

MOV48H,#05H

MOV 49H,#0AH

MOV4AH,#11H

MOV 4BH,#0DH

RET

;END SHOWSECOND

DIVSUB1:

MOV B,#08H

MOV DPL,#00H

DIVSUBLOOP1:

MOV A,R7

ADD A,R7

MOV R7,OK

MOV A,R6

RLC A

MOV R6,A

XCH A,R5

RLC A

XCHA,R5

XCH A,R4

RLC A

XCH A,R4

XCH A,DPL

RLC A

XCH A,DPL

SUBB A,R3

MOV A,R5

SUBB A,R2

MOV A,R4

SUBB A,R1

MOV A,DPL

SUBB A,R0

JC DIVSUBLOOP2

MOV DPL,A

MOV A,R6

SUBB A,R3

MOV R6,A

MOV A,R5

SUBB A,R2

MOV R5,A

MOV A,R4

SUBB A,R1

MOV R4,A

INC R7

DIVSUBLOOP2:

DJNZ B,DIVSUBLOOP1

CLR A

XCH A,R6

MOV R3,A

CLR A

XCH A,R5

CLR A

XCH A,R4

MOV R1,A

MOV R0,DPL

RET

;END DIVSUB1:

MYDIV:

CINE RO,#00H,DIVSUB1

CUNE R1,#00H,DIVLOOP1

CNE R2,#00H,DIVLOOP2

MOV A,R4

MOV B,R3

DIV AB

XCH A,R7

XCH A,R6

XCH A,R5

MOV R4,A

MOV A,B

XCH A,R3

MOV R1,A

MOV R0,#18H

MOV R7,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R5

RLC A

MOV R5,A

MOV A,R4

RLC A

MOV R4,A

MOV A,R3

RLC A

MOV R3,A

JBC CY,DIVLOOPHERE1

SUBB A,R1

JC DIVLOOPHERE:

INC R7

DIV LOOPHERE2:

DJNZ R0,DIVL00PHERE

CLR A

MOV R1,A

MOV R 2.A

RET

DIVLOOP2:

MOV R0,#18H

DIVLOOPHERE3:

MOV A,R7

ADD A,R7

MOV R7,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R5

RLC A

MOV R5,A

MOV A,R4

RLC A

MOV R4,A

XCH A,R1

RLC A

XCH A,R1

JBC CY,DIVLOOPHERE4

SUBB A,R3

MOV A,R1

SUBB A,R2

JC DIVLOOPHERES

DIVLOOPHERE4:

MOV A,R4

SUBB A,R3

MOV R4,A

MOV A,R1

SUBB A,R2

MOV RI,A

INC R7

DIVLOOPHERE5:

DJNZ R0,DIVLOOPHERE3

CLRA

XCH A,R1

MOV R2,A

CLR A

XCH A,R4

MOV R3,A

RET

DIVLOOP1:

MOV B,#10H

DIVLOOPHERE6:

MOV A,R7

ADD A,R7

MOV R7,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R5

RLC A

MOV R5,A

XCHA,R4

RLC A

XCHA,R4

XCHA,R0

RLC A

XCH A,R0

JBC CY,QIULINHUI

SUBB A,R3

MOV A,R4

SUBB A,R2

MOV A,R0

SUBB A,R1

JC DIVLOOPQIU

QIULINHUl:

MOV A,R5

SUBB A,R3

MOV R5,A

MOV A,R4

MOV R4,A

MOV A,R0

SUBB A,R1

MOV R0,A

INC R7

DIVLOOPQlU:

DJNZ B,DIVLOOPHERE6

CLR A

XCHA,R5

MOV R3,A

CLR A

XCHA,R4

CLR A

XCH A,R0

MOV R1,A

RET

;ENDDIV

END

 

 


路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

返回頂部
主站蜘蛛池模板: 日韩高清一区 | 国产精品亚洲欧美日韩一区在线 | 欧美日韩在线一区二区三区 | 91久久精品一区二区二区 | 国产一级免费在线观看 | 夜夜操操操| 欧洲国产精品视频 | 粉色午夜视频 | 欧美午夜精品久久久久久浪潮 | 亚洲一区二区三区视频在线 | 精品久久久久久亚洲综合网 | 国产精品日日夜夜 | 国产精品一区久久久 | 国产精品亚洲片在线播放 | 久久久综合精品 | 美女三区| 欧美日韩国产一区二区三区 | 2019天天干夜夜操 | 欧美在线观看一区 | 亚洲国产高清高潮精品美女 | 中日韩欧美一级片 | 一二三区视频 | 免费在线观看一区二区三区 | 福利网站在线观看 | 黄色一级大片在线免费看产 | 蜜桃在线播放 | 精品国产网 | 久久天堂网 | 福利视频一二区 | 国产激情小视频 | 久久久女女女女999久久 | 亚洲成av人片在线观看无码 | 国产一区二区高清在线 | 国产一区二区三区精品久久久 | 日本一区二区在线视频 | 日韩亚洲视频 | 欧洲亚洲视频 | 精品一区二区三区四区在线 | 日日操操 | 欧美一区二区激情三区 | www.成人在线视频 |