高精度数字电压表原理图及源程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RP1

LCD_CMD_WR EQU 00E0H

LCD_DATA_WR EQU 00E1H

LCD_BUSY_RD EQU 00E2H

LCD_DATA_RD EQU 00E3H

;********************************

AD_12CMD_WR EQU 00E0H ;初始化为12位转换器AD_8CMD_WR EQU 00E8H ;初始化为8位转换器AD_8HB_RD EQU 00E4H ;高8Bit输出

AD_4LB_RD EQU 00ECH ;低4Bit输出

;*********************************

ORG 0000H

LJMP MAIN

ORG 0030H

;=========================================

MAIN: MOV SP,#60H

CLR RS0

CLR RS1

ACALL INIT ;LCD初始化

;=======================================

;参数设置

;=======================================

AD574: MOV DPTR,#AD_12CMD_WR

MOVX @DPTR,A ;启动转换

SETB P3.0

LOOP: NOP

JB P3.0,LOOP

MOV DPTR,#AD_8HB_RD

MOVX A,@DPTR

MOV R2,A

MOV DPTR,#AD_4LB_RD

MOVX A,@DPTR

MOV R3,A

;======================================== ;数据处理(参数)传递

;R2R3=(ABC0)

;处理后R2R3=(0ABC)

;======================================== MOV A,R2

SWAP A ;高低交换

MOV R5,A

ANL A,#0F0H ;

MOV R4,A

MOV A,R3

SWAP A

ORL A,R4

MOV R3,A

MOV A,R5

ANL A,#0FH

MOV R2,A

;======================================== ;入口参数:被减数在R2R3中,减数在R6R7中

;出口参数:差值在R2R3中

;======================================== MOV R6,#08H

MOV R7,#00H

CLR C ;=============

MOV A,R2

SUBB A,R6

JNC SUBI ;无借位,直接运算

SETB 02H

MOV A,R2

CPL A ;取反

ANL A,#0FH

MOV R2,A

MOV A,R3

CPL A

MOV R3,A

;===========================

;计算

;==========================

SUBI: CLR C

MOV A,R3

SUBB A,R7

MOV R3,A

MOV A,R2

SUBB A,R6

MOV R2,A

;========================================== ;乘以10计算

;=========================================== MOV R1,#00H

MOV A,R3

LCALL MUL10

MOV 49H,A

MOV A,R2

LCALL MUL10

MOV 48H,A

;========================================

;============================================ ;除法运算

;============================================ ;============================

;整数部分

;============================

MOV R0,#30H

LCALL DIVD0

MOV A,40H

MOV @R0,A

INC R0

MOV A,#2EH

MOV @R0,A

INC R0

;==========================

;小数部分

;==========================

MOV 45H,#05H

ALUDEF: MOV A,42H

LCALL MUL10

MOV 47H,A

MOV A,41H

LCALL MUL10

MOV 46H,A

;==========================

;确定小数

;==========================

LCALL DIVD1

MOV A,40H

MOV @R0,A

INC R0

DJNZ 45H,ALUDEF

MOV A,#05H

CLR C

SUBB A,40H

JC DV53

SJMP DV54

DV53: INC 40H

DEC R0

MOV A,40H

MOV @R0,A

LOPJ: CJNE @R0,#0AH,DV54

MOV @R0,#00H

DEC R0

INC @R0

INC R0 ;==================== SJMP LOPJ

DV54: CLR OV

INC R0

MOV @R0,#56H

;RET

;===========================

;显示

;===========================

MOV A,#01H

ACALL C51

MOV A,#81H

ACALL C51

MOV DPTR,#TAB1

LCHIN: CLR A

MOVC A,@A+DPTR

INC DPTR

LCALL C51DDR

JNZ LCHIN

MOV A,#0C3H

ACALL C51

JNB 02H,LOP_

MOV A,#2DH

相关文档
最新文档