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

📄 grdtx8.asm

📁 信号的调制及对9832的使用
💻 ASM
字号:
P1SAVE		EQU	70H
AUXR		EQU	08EH		;AUXILIARY REGISTER BIT7:T0x12;BIT6:T1x12;BIT5:UARTM0x6
SAVE		EQU	30H
save1		EQU	31H
LOOPN		EQU	31H
framelength	EQU	32H
frequency	EQU	33H

SDA		BIT	P1.1
SCL		BIT	P1.0

DDSSC		BIT	P3.5		;P3.5 AD9835 CHIP SELECT
DDSSK		BIT	P3.3		;P3.3 AD9835'S CLOCK
DDSDT		BIT	P3.4		;P3.4 AD9835'S DATA

ADCLK		bit	p3.3
ADDATA		BIT	P3.4
ADCS1		BIT	P3.5
sdata		BIT	P3.7

D	BIT   	20H.0			;RI interrupt 标志
d1	bit	20H.1
D2	BIT	20H.2
E	BIT   	20H.3			;FUNCTION2标志
F	BIT	20H.4
g 	bit	20h.5			;recurrence
H	BIT	20H.6			;function1标志
	

	ORG   	0000H
	AJMP  	STAR
	ORG	0003H
	NOP
	NOP
	AJMP  	STAR
	ORG	000BH
	AJMP	T0INT
	ORG	001BH
	NOP
	NOP
	AJMP  	STAR
	ORG   	0023H
	NOP
	NOP
	AJMP  	STAR
	ORG   	0040H
	;-------------初始化------------------
star:
	MOV	P1,#0FFH
        MOV	P3,#0FFH
	mov	SP,#090H

	MOV	IE,#10000000B
	SETB	IT0			;外部中断为边沿触发方式,开启串口中断
	SETB	IT1
	clr	ex0
	;clr	IE0
	;clr	IE1
	CLR	TF0
	CLR	TR1
	clr	tr0

	MOV	TMOD,#22H		;串口的232码学习
	MOV	AUXR,#40H
	MOV	PCON,#00H
	MOV	TL1,#0FbH
	MOV	TH1,#0FbH
	MOV	SCON,#01000000B

	MOV	TL0,#0e8H
	MOV	TH0,#0e8H
	MOV	P1SAVE,#00H
	;MOV	T2CON,#00H
	;MOV	TH2,#10H
	;MOV	ADDSAVE,#00H

	CLR	C
	CLR	TI
	CLR	D
	CLR	E
	clr	d1
	CLR	G
	CLR	F
;	mov	a,#10000100b
	
	mov	40h,#0a0H			;wake up dds
	mov	r0,#40h
	LCALL	WRITE_DDS
;       LCALL   DELAY2MS1
        mov	40h,#0c0H
	mov	r0,#40h
	LCALL	WRITE_DDS                       ;DDS IN EXTERNAL SELECTION



	mov	40h,#33h			; as "0" frequency
	MOV	41H,#18H
	mov	r0,#40h
	LCALL	WRITE_DDS

;        LCALL   DELAY2MS1
	mov	42h,#22h
	MOV	43H,#2aH
	mov	r0,#42h
	LCALL	WRITE_DDS

;        LCALL   DELAY2MS1
	mov	44h,#31h
	mov	45h,#0aah
	mov	r0,#44h
	LCALL	WRITE_DDS

        
	MOV	46H,#20H
	MOV	47H,#0abH
	mov	r0,#46h
	LCALL	WRITE_DDS

;        LCALL   DELAY2MS1
	mov	48h,#37h			;as "1" frequency
	MOV	49H,#17H
	mov	r0,#48h
	LCALL	WRITE_DDS

;        LCALL   DELAY2MS1
	mov	4ah,#26h
	MOV	4bH,#047H
	mov	r0,#4ah
	LCALL	WRITE_DDS

;        LCALL   DELAY2MS1
	mov	4ch,#35h
	mov	4dh,#01ch
	mov	r0,#4ch
	LCALL	WRITE_DDS

;        LCALL   DELAY2MS1
	MOV	4eH,#24H
	MOV	4fH,#072H
	mov	r0,#4eh
	LCALL	WRITE_DDS

	;---------------------主程序------------------------
main:	

	LCALL	function
	AJMP	main



	;---------------------子程序------------------------
	
function:
	MOV	R0,#40H
	MOV	R5,#00H
	MOV	A,R5
	MOV	DPTR,#CDOETB
	MOVC	A,@A+DPTR
	MOV	@R0,A
	MOV	R4,40H
function_LOOP:	
	INC	R5
	MOV	A,R5
	MOVC	A,@A+DPTR
	INC	R0
	MOV	@R0,A
	DJNZ	R4,function_LOOP
	


fun4senddata:
	lcall	SENDframe
	setb	sdata
	RET

;------sendframe---------		;判断接收区有无数据
SENDframe:				;40h  framelength  41  framedata
	SETB	ET0
	MOV	R3,40H
	MOV	R1,#41H
SENDframe1:

	MOV	A,@R1
	INC	R1
	SETB	TR0
	JNB	D,$
	CLR	D
	DJNZ	R3,SENDframe1
	CLR	TR0
	ret




	;----------interrupt program----------
	;----------interrupt program----------
;R5接收最大字节数				;debug  DDS

;-------------------------------------
T0INT:
	MOV	R2,#08H
	CLR	TF0
T0_LOOP:
	RLC	A
	MOV	SDATA,C
	
	DJNZ	R2,T0_LOOP1
	SETB	D
	RETI
T0_LOOP1:	
	JNB	TF0,$
	CLR	TF0
	AJMP	T0_LOOP
;-------------------------------------
;-------------------------------------


WRITE_DDS:
	CLR     DDSSC           ;AD9835'S CHIP SELECT ="0"
        PUSH    ACC
        PUSH    PSW
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        SETB    DDSSK

        MOV     R3,     #8
DSSENT2:MOV     A,      @R0     ;R0=SENT DATA BUFFER POINTER
        RLC     A
        MOV     DDSDT,  C
        NOP
        NOP
        NOP
        NOP
        MOV     @R0,    A
        CLR     DDSSK
        NOP
        NOP
        NOP
        NOP
        NOP
        SETB    DDSSK
        NOP
        NOP
        NOP
        NOP
        NOP

        DJNZ    R3,     DSSENT2
        INC     R0
        MOV     R3,     #8
DSSENT3:MOV     A,      @R0
        RLC     A
        MOV     DDSDT,  C
        MOV     @R0,    A
        NOP
        NOP
        NOP
        NOP
        CLR     DDSSK
        NOP
        NOP
      	NOP
        NOP
        SETB    DDSSK
        NOP
        NOP
        NOP
        NOP

        DJNZ    R3,     DSSENT3

        SETB    DDSSC
        POP     PSW
        POP     ACC
        RET
;**********************************************
CDOETB:	DB	0BH,0x7E,0x29,0x30,0x08,0x00,0x00,0x00,0x95,0x66, 0x7E,0xFF  ;   P3  R	  8
;**********************************************


	END


⌨️ 快捷键说明

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