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

📄 复件 新建 文本文档 (2).txt

📁 信号发生器子程序
💻 TXT
字号:
;****************************************************
;程序名称:信号发生器

ORG     0000H
LJMP    MAIN
ORG     0003H              ;外中断0
LJMP    MINE
ORG     000BH              ;定时器0
LJMP    TIMER
ORG     0013H              ;外中断1
LJMP    HUOER
ORG     001BH              ;定时器1 
LJMP    SPEED		   ;T1中断入口
W0  EQU 80H                ;W0K控制字的低位
W1  EQU 4BH
W2  EQU 10H
W3  EQU 00H                ;W3控制字的高位
W4  EQU 01H                ;W4相位控制,倍频率开
OUT EQU P1.0               ;OUT为AD9850的D7脚
W_CLK EQU P1.1
FQ_UD EQU P1.2
;*******************************************
;DDS初始化 DDS启动,设置
;*******************************************
SETUP_AD9850:
CLR P1.1                  ;初始化信号脚
CLR P1.2
SETB P1.1                 ;设置为串行输入
CLR P1.1
SETB P1.2
SETB P1.2
RET
;*******************************************
;发送数据到DDS
;*******************************************
W_AD9850:
CLR P1.2
MOV A,R0
LCALL SEND_PLL
MOV A,R1
LCALL SEND_PLL
MOV A,R2
LCALL SEND_PLL
MOV A,R3
LCALL SEND_PLL
MOV A,#001B               ;000B关倍频,001B开倍频
;**********************************************
SEND_PLL:
MOV C,ACC.O
MOV DATA7,C
SETB P1.1
CLR  P1.1
MOV  C,ACC.1
MOV DATA7,C
SETB P1.1
CLR  P1.1
MOV C,ACC.2
MOV DATA7,C
SETB P1.1
SETB P1.1
MOV C,ACC.3
MOV DATA7,C
SETB P1.1
CLR P1.1
MOV C,ACC.4
MOV DATA7,C
SETB P1.1
CLR  P1.1
MOV  C,ACC.5
MOV DATA7,C
SETB P1.1
CLR  P1.1
MOV C,ACC.6
MOV DATA7,C
SETB P1.1
SETB P1.1
MOV C,ACC.7
MOV DATA7,C
SETB P1.1
CLR P1.1
RET
START:
ACALL LCD1
MOV A,#01H
LCALL WRTC
LCALL SINSG
LCALL WATS
AJMP $
;*******************************************
;LCD子程序
;*******************************************
LCD1:
MOV A,#101000B          ;4位总线
LCALL WRTC
MOV A,#10B
LCALL WRTC
MOV A,#01H              ;清屏
LCALL WRTC
MOV A,#1111B            ;显示开,光标开,闪烁开
LCALL WRTC
MOV A,#110B             ;光标自动右移,显示文字不动 
LCALL WRTC
MOV A,#10000000B        ;设置显示地址00H
LCALL WRTC
RET
;*******************************************
WRTC:                    ;送指令
LCALL READBUSY
CLR RS
CLR RW
SETB E
MOV C,ACC.7
MOV DB7,C
MOV C,ACC.6
MOV DB6,C
MOV C,ACC.5
MOV DB5,C
MOV C,ACC.4
MOV DB4,C
CLR E
SETB E
MOV C,ACC.3
MOV DB7,C
MOV C,ACC.2
MOV DB6,C
MOV C,ACC.1
MOV DB5,C
MOV C,ACC.0
MOV DB4,C
CLR E
RET
;********************************************
WRTS:                     ;送数据
LCALL READBUSY
SETB RS
CLR RW
SETB E
MOV C,ACC.7
MOV DB7,C
MOV C,ACC.6
MOV DB6,C
MOV C,ACC.5
MOV DB5,C
MOV C,ACC.4
MOV DB4,C
CLR E
SETB E
MOV C,ACC.3
MOV DB7,C
MOV C,ACC.2
MOV DB6,C
MOV C,ACC.1
MOV DB5,C
MOV C,ACC.0
MOV DB4,C
CLR E
RET
;*******************************************
;正弦信号发生
;*******************************************
SINSG:
MOV	R5,#00H					
SIN:
MOV 	A, R5
MOV 	DPTR,#CTABH				
MOV 	R5,#00H					
SIN:
MOV 	A,R5
MOV 	DPTR,#CTABH				
MOVC	A,@A+DPTR				
MOV	DPTR,#0DFFFH				
MOVX 	@DPTR,A					
INC 		R5						
AJMP	SIN						
CTAB:							
DB:		80,83,86,89,8D,90,93,96,99,9C,9F,A2,A5,A8,AB,AE,
DB:		B1,B4,B7,BA,BC,BF,C2,C5,C7, CA,CC,CF,D1,D4,D6,D8,
DB:		DA,DD,DF,E1,E3,E5,E7,E9,EA,EC,EE,EF,F1,F2,F4,F5,
DB:		F6,F7,F8,F9,FA,FB,FC,FD,FD,FE,FF,FF,FF,FF,FF,FF,
DB:		FF,FF,FF,FF,FF,FF,FE,FD,FD,FC,FB,FA,F9,F8,F7,F6,
DB:		F5,F4,F2,F1,EF,EE,EC,EA,E9,E7,E5,E3,E1,DF,DD,DA,
DB:		D8,D6,D4,Dl,CF,CC,CA,C7,C5,C2,BF,BC,BA,B7,B4,B1,
DB:		AE,AB,A8,A5,A2,9F,9C,99,96,93,90,8D,89,86,83,80,
DB:		80,7C,79,76,72,6F,6C,69,66,63,60,5D,5A,57,55,51,
DB:		4E,4C,48,45,43,40,3 D,3A,38,35,33,30,2E,2B,29,27,
DB:		25,22,20,1E,1C,1A,18,16,15,13,11,10,0E,0D,0B,0A,
DB:		09,08,07,06,05,04,03,02,02,01,00,00,00,00,00,00,
DB:		00,00,00,00,00, 00,01,02,02,03,04,05,06,07,08,09,
DB:		0A,0B,0D,0E,10,11,13,15
RET
END

⌨️ 快捷键说明

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