淮阴工学院毕业设计说明书(论文)
WLP1: DJNZ R0,WLP
RET
WR1: SETB VSDA
第 31 页 共 45 页
WR0: CLR VSDA
RDBYT: MOV R0,#08H RLP: SETB VSDA
WRNBYT: MOV R3,NUMBYT
SETB VSCL NOP NOP NOP NOP
CLR VSCL CLR VSDA AJMP WLP1
SETB VSCL NOP NOP NOP NOP
CLR VSCL AJMP WLP1
SETB VSCL MOV C,VSDA MOV A,R2 RLC A MOV R2,A CLR VSCL DJNZ R0,RLP RET
淮阴工学院毕业设计说明书(论文)
第 32 页 共 45 页
WRDA: MOV A,@R1
RDNBYT: MOV R3,NUMBYT
RDN: MOV R1,#MRD RDN1: LCALL RDBYT
ACK: LCALL MACK
LCALL STA MOV A,SLA LCALL WRBYT LCALL CACK JB F0,WRNBYT MOV R1,#MTD
LCALL WRBYT LCALL CACK JB F0,WRNBYT INC R1 DJNZ R3,WRDA LCALL STOP RET
LCALL STA MOV A,SLA LCALL WRBYT LCALL CACK JB F0,RDNBYT
MOV @R1,A DJNZ R3,ACK LCALL MNACK LCALL STOP RET
INC R1 SJMP RDN1
淮阴工学院毕业设计说明书(论文)
;DISPLAY PROGRAM
第 33 页 共 45 页
;**************************************************************
;显示程序,显示BCD在70H-73H单元内,采用LED共阳数码管
;*************************************************************** DISPLAY: MOV DPTR ,#TAB
MOV A,SJGW1 MOVC A,@A+DPTR SETB GW1 MOV P0,A ACALL DLMS1 CLR GW1 MOV A,SJSW1 MOVC A,@A+DPTR SETB SW1 MOV P0,A ACALL DLMS1 CLR SW1 MOV A,SJBW1 MOVC A,@A+DPTR SETB BW1 MOV P0,A ACALL DLMS1 CLR BW1 RET
;****************************** ; 共阳段码表(0-9)
;********************************;
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
,;****************************************** ;SSS PROGRAM
淮阴工学院毕业设计说明书(论文)
;里程处理程序,将车圈数换算成公里数
;*********************************************; SSS: MOV 18H,#64H ; 除数赋值
MOV 17H,#00H ; 除数赋值 MOV 16H,#00H ; 除数赋值 MOV 11H,#00H ; 被除数赋值 MOV 12H,#00H ; 被除数赋值 MOV 13H,62H ; 被除数赋值 MOV 14H,61H ; 被除数赋值 MOV 15H,60H ; 被除数赋值 LCALL DIVST ; 调除法程序
LCALL BCDST ; 调二进制转BCD码程序 MOV A,25H ; 结果处理,将25H数移入A ANL A,#0FH ; 将高四位置为0 MOV 70H,A ; 放入70H单元 MOV A,25H ; 25H数移入A SWAP A ; 高低四位交换 ANL A, #0FH ; 将高四位置为0 MOV 71H,A ; 放入71H单元 MOV A,24H ; 24H数移入A ANL A, #0FH ; 将高四位置为0 MOV 72H,A ; 放入72H单元 RET
;****************************************** ;VVV PROGRAM
;时速处理程序,最大显示速度为99Km/h
;*********************************************; VVV: MOV 18H,68H ; 除数赋值
MOV 17H,69H ; 除数赋值 MOV 16H,6AH ; 除数赋值
第 34 页 共 45 页
淮阴工学院毕业设计说明书(论文)
MOV 11H,#00H ; 被除数赋值 MOV 12H,#00H ; 被除数赋值 MOV 13H,#36H ; 被除数赋值 MOV 14H,#0EEH ; 被除数赋值 MOV 15H,#80H ; 被除数赋值 LCALL DIVST ; 调除法程序 MOV 14H,#00H ; 舍去一位
LCALL BCDST ;二进制转BCD码程序 MOV A,25H ;以下将速度值放入显示单元 ANL A,#0FH ;高四位为0 MOV 70H,A ;放入70H内 MOV A,25H ;再取数 SWAP A ;高低四交换 ANL A,#0FH ;高四位为0 MOV 71H,A ;放入71H内 MOV 72H,#00H RET
;****************************************** ;延时程序
;*********************************************; DLMS1: MOV R6,#10H DL1: MOV R7,#248 DL2: DJNZ R7,DL2
DJNZ R6,DL1 RET
第 35 页 共 45 页
;************************************************************** ;除法子程序
;除法子程序,用作四位除法,除数在16H-19H,被除数在11H-15H ;****************************************************************; DIVST: CLR C