⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 模拟数据传输(主机).asm

📁 关于ADUC841(51内核)的各种实验程序,有串口,ADC,DAC,PWM,的应用及基于ADUC841设计的万用表源程序
💻 ASM
字号:
   $MOD841
   SP0    EQU    50H
   KEYVAL EQU    30H
   CLK81  EQU    P3.5
   DAT81  EQU    P3.3
   CSEG
;------------------------
    ORG   0000H
    LJMP  MAIN
    ORG   0003H
    LJMP  INT0_INT
    ORG   002BH
    LJMP  T2_INT
    ORG   0060H
MAIN:   MOV    R0,#0FFH
        CLR    A
QING:   MOV    @R0,A
        DJNZ   R0,QING
        MOV    SP,#SP0
        LCALL  YS
        LCALL  INI8281
        LCALL  INI841
HERE:   LJMP   HERE
;------------------------------
INI8281:SETB   CLK81
        SETB   DAT81
        MOV    A,#12H
        LCALL  WTO81
        MOV    A,#80H
        LCALL  WTO81
        RET
;----------------------------------
INI841: MOV ADCCON1,#80H
        MOV DACCON,#0DH
        SETB  EA
        SETB EX0
        SETB ET2
        SETB PT2
        MOV  RCAP2H,#0D4H
        MOV  RCAP2L,#0CDH
        MOV  TH2,#0D4H
        MOV  TL2,#0CDH
        MOV  R0,#20H
        MOV  R1,#16
        MOV   20H,#00H
        MOV   21H,#11H
        MOV   22H,#22H
        MOV   23H,#33H
        MOV   24H,#44H
        MOV   25H,#55H
        MOV   26H,#66H
        MOV   27H,#77H
        MOV   28H,#88H
        MOV   29H,#99H
        MOV   2AH,#0AAH
        MOV   2BH,#0BBH
        MOV   2CH,#0CCH
        MOV   2DH,#0DDH
        MOV   2EH,#0EEH
        MOV   2FH,#0FFH
        RET
;-------------------------------
INT0_INT: MOV   A,#93H
          LCALL  WTO81
          LCALL  RDKVAL
          SETB   TR2
          RETI
;-------------------------------
T2_INT: CLR  TF2
        MOV  A,#00H
        MOV  DAC0H,A
        MOV  A,@R0
        MOV  DAC0L,A
        LCALL DELAY1
        LCALL DELAY1
        LCALL DELAY1
        LCALL DELAY1
        CLR  P3.4
        INC   R0
        DJNZ  R1,OVER
        MOV   R0,#20H
        MOV   R1,#16
        MOV   T2CON,#00H
 OVER:  SETB  P3.4
        RETI
;--------------------------------
WTO81:	MOV	R6,#08H
WAT:	CLR	CLK81
	LCALL	DELAY1
	SETB	CLK81
	JB	DAT81,WAT
	CLR	CLK81
	LCALL	DELAY1
	SETB	CLK81
	JNB	DAT81,$
WTB81:	RLC	A
	MOV	DAT81,C
        CLR	CLK81
	LCALL	DELAY1
	SETB	CLK81
	LCALL	DELAY1
	LCALL	DELAY1
	DJNZ	R6,WTB81
	SETB	DAT81
        RET
;-----------------------------------
RDKVAL: CLR	CLK81
	LCALL	DELAY1
	SETB	CLK81
	JB	DAT81,$
        CLR	CLK81
	LCALL	DELAY1
	SETB	CLK81
        MOV	R6,#08H
RD1:
        LCALL	DELAY1
        LCALL	DELAY1
        LCALL	DELAY1
        MOV	C,DAT81
	 LCALL	DELAY1
	 RLC	A
        CLR	CLK81
	 LCALL	DELAY1
	 SETB	CLK81
        DJNZ	R6,RD1
        MOV	KEYVAL,A
        RET
;---------------------------------
DELAY1: NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        RET
;----------------------------------------
YS:	MOV	R5,#00H
	MOV	R4,#50H
YS1:	DJNZ	R5,$
	DJNZ	R4,YS1
	RET
        END

















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -