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

📄 ffff.txt

📁 程序介绍:单片机通过DAC0832转换在LM358的7脚输 出三角波。实际应用如:函数波形发生器。 程序实例(0832shan.asm):
💻 TXT
字号:
DA 转换 

8.1 三角波 

程序介绍:单片机通过DAC0832转换在LM358的7脚输 

出三角波。实际应用如:函数波形发生器。 

程序实例(0832shan.asm): 

ORG 0000H 

MAIN: 

MOV DPTR,#0BFFFH ;选通地址 

STR1: 

MOV R6,#00H 

;通过上升和下降来产生三角波/////////////////// 

;电压随时间上升/////////////////////////////// 

STR2: MOV A,R6 

MOVX @DPTR,A 

INC R6 

CJNE R6,#0FFH,STR2 

;///////////////////////////////////////////// 

;电压随时间下降/////////////////////////////// 

STR3: DEC R6 

MOV A,R6 

MOVX @DPTR,A 

CJNE R6,#00H,STR3 

;///////////////////////////////////////////// 

AJMP STR1 

END 

78 

8.2 方波 

程序介绍:程序介绍:单片机通过DAC0832转换在 

LM358的7脚输出方波。实际应用如:函数波形发生器。 

程序实例(0832fan.asm): 

ORG 0000h 

MAIN: MOV DPTR,#0BFFFH 

;通过高低电平地的变化来输出方波/////////////// 

LOOP1: 

MOV A,0 

MOVX @DPTR,A ;向选通地址送低电平地 

ACALL DELAY 

MOV A,#0FFH 

MOVX @DPTR,A ;向选通地址送高电平 

ACALL DELAY 

AJMP LOOP1 

;///////////////////////////////////////////// 

DELAY: MOV 30H,#0FFH ;延时,通过改变它的大小 

可以改变占空比 

D2: DJNZ 30H,D2 

RET 

END 

8.3 正弦波 

程序介绍:程序介绍:单片机通过DAC0832转换在 

LM358的7脚输出正弦波。实际应用如:函数波形发生器。 

程序实例(0832xuan.asm): 

ORG 000H 

MAIN: MOV R1,#00H ;取表格初值 

79 

LOOP1: 

;在表格里取数送到指定地址///////////////////// 

MOV A,R1 

MOV DPTR,#SETTAB 

MOVC A,@A+DPTR 

MOV DPTR,#0BFFFH 

MOVX @DPTR,A 

;///////////////////////////////////////////// 

INC R1 ;表格加一 

AJMP LOOP1 ;循环 

SETTAB: 

;正弦表格///////////////////////////////////// 

DB 80H,83H,86H,89H,8DH,90H,93H,96H 

DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH 

DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H 

DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H 

DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H 

DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H 

DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH 

DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH 

DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH 

DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H 

DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH 

DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH 

DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H 

DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H 

DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H 

DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H 

80 

DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H 

DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H 

DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH 

DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H 

DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H 

DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH 

DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H 

DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H 

DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H 

DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H 

DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H 

DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H 

DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H 

DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH 

DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H 

DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H 

END 

8.4 梯形波 

程序介绍:程序介绍:单片机通过DAC0832转换在 

LM358的7脚输出梯形波。实际应用如:函数波形发生器。 

程序实例(0832ti.asm): 

ORG 0000h 

MAIN: 

MOV DPTR,#0BFFFH 

STEP: MOV R6,#19H 

MOV R4,#0AH 

MOV A,0 

81 

LOOP1: MOVX @DPTR,A ;选通地址 

ACALL DELAY ;延时 

ADD A,R6 ;每次以19H的梯度增加 

DJNZ R4,LOOP1 ;梯度等待的时间 

AJMP STEP ;循环 

DELAY: 

D2: MOV 31H,#0FFH 

D1: DJNZ 31H,D1 

RET 

END 

 

⌨️ 快捷键说明

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