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

📄 da.asm

📁 周立功开发板源代码,里面包含了各种关于周立功dp51开发板的源代码
💻 ASM
字号:
;************************************************************************************
; File: adcdac3.asm
;功能:使用DAC输出控制实现正弦波发生器,DAC数据采用查表方法得到。
;      将J1  2-3跳线短接,使DAC电路变为双极性输出,输出点为JP7的DAOUT2。
;***********************************************************************************
DAC0832		EQU		6000H

		ORG		8000H
		AJMP	START

		ORG		8100H
START:	MOV	SP,#60H
       	MOV	R0,#0		;定义指向正弦波DAC数据的指针,因为有361个数据,所以用了R0
  		MOV	R1,#0		;和R1两个寄存器。

LOOP:   	MOV	A,R0
         	MOV	DPTR,# SINE_DATA
		CJNE	R1,#1,LOW_TAB
		INC		DPH			;判断指针的高位字节R1是否为1,若是,则DPH加1
LOW_TAB:MOVC	A,@A+DPTR	;取出正弦波DAC数据
		MOV	DPTR,#DAC0832
		MOVX	@DPTR,A		;启动DA转换

		INC		R0			;指针低8位加1处理
		CJNE	R1,#1,INC_LOW
		CJNE	R0,#105,INC_OK
		MOV	R0,#0		;若已经取完数据并输出,则重新设置指针
		MOV	R1,#0
		SJMP	INC_OK
INC_LOW:CJNE	R0,#0,INC_OK	;判断是否要进位
		MOV	R1,#1		
INC_OK:	ACALL	DELAY		;延时子程序中不能修改R0、DPTR
		AJMP	LOOP

;**********************************************
;通过设置延时时间的长短来改变锯齿波的周期
;*********************************************
DELAY:	MOV	R7,#10
		DJNZ	R7,$
		RET	

;***********************************
;正弦波数据表,8位DAC的数据
;***********************************
SINE_DATA: 	DB 128, 130, 132, 135, 137, 139, 141, 144, 146, 148
            	DB 150, 152, 155, 157, 159, 161, 163, 165, 168, 170
 	       	DB 172, 174, 176, 178, 180, 182, 184, 186, 188, 190
 			DB 192, 194, 196, 198, 200, 201, 203, 205, 207, 209
 			DB 210, 212, 214, 215, 217, 219, 220, 222, 223, 225
 			DB 226, 227, 229, 230, 232, 233, 234, 235, 237, 238
 			DB 239, 240, 241, 242, 243, 244, 245, 246, 247, 247
 			DB 248, 249, 250, 250, 251, 252, 252, 253, 253, 254
 			DB 254, 254, 255, 255, 255, 255, 255, 255, 255, 255
 			DB 255, 255, 255, 255, 255, 255, 255, 255, 255, 254
 			DB 254, 254, 253, 253, 252, 252, 251, 250, 250, 249
 			DB 248, 247, 247, 246, 245, 244, 243, 242, 241, 240
 			DB 239, 238, 237, 235, 234, 233, 232, 230, 229, 227
 			DB 226, 225, 223, 222, 220, 219, 217, 215, 214, 212
 			DB 210, 209, 207, 205, 203, 201, 200, 198, 196, 194
 			DB 192, 190, 188, 186, 184, 182, 180, 178, 176, 174
 			DB 172, 170, 168, 165, 163, 161, 159, 157, 155, 152
 			DB 150, 148, 146, 144, 141, 139, 137, 135, 132, 130
 			DB 128, 126, 124, 121, 119, 117, 115, 112, 110, 108
 			DB 106, 104, 101, 99, 97, 95, 93, 91, 88, 86
 			DB 84, 82, 80, 78, 76, 74, 72, 70, 68, 66
 			DB 64, 62, 60, 58, 56, 55, 53, 51, 49, 47
 			DB 46, 44, 42, 41, 39, 37, 36, 34, 33, 31
 			DB 30, 29, 27, 26, 24, 23, 22, 21, 19, 18
 			DB 17, 16, 15, 14, 13, 12, 11, 10, 9, 9
 			DB 8, 7, 6, 6, 5, 4, 4, 3, 3, 2
 			DB 2, 2, 1, 1, 1, 0, 0, 0, 0, 0
DB 0, 0, 0, 0, 0, 0, 1, 1, 1, 2
 			DB 2, 2, 3, 3, 4, 4, 5, 6, 6, 7
 			DB 8, 9, 9, 10, 11, 12, 13, 14, 15, 16
 			DB 17, 18, 19, 21, 22, 23, 24, 26, 27, 29
 			DB 30, 31, 33, 34, 36, 37, 39, 41, 42, 44
 			DB 46, 47, 49, 51, 53, 55, 56, 58, 60, 62
 			DB 64, 66, 68, 70, 72, 74, 76, 78, 80, 82
 			DB 84, 86, 88, 91, 93, 95, 97, 99, 101, 104
 			DB 106, 108, 110, 112, 115, 117, 119, 121, 124, 126
 			DB 128
			;
END

⌨️ 快捷键说明

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