DAC0832的波形发生器(汇编)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ORG 0000H

KB:MOV P1,#0FFH;置P0口为输入方式MOV A,P1;读键值

CPL A

ANL A,#1FH;屏蔽高三位

JZ KB;无键闭合继续检测

ACALL DL Y_10MS;延时10ms,去抖动MOV A,P1;再次检测有无键闭合

CPL A

ANL A,#1FH

JZ KB

CJNE A,#01H,KB01

LCALL FANGBO;调用方波子程序SJMP KB

KB01:CJNE A,#02H,KB02

LCALL JVCHI;调用锯齿波子程序SJMP KB

KB02:CJNE A,#04H,KB03

LCALL TIXING;调用梯形波子程序SJMP KB

KB03:CJNE A,#08H,KB04

LCALL SANJIAO;调用三角波子程序SJMP KB

KB04:CJNE A,#10H,KB

LCALL ZHENGXIAN;调用正弦波子程序SJMP KB

;方波子程序//////////////

FANGBO:

MOV DPTR,#0FFFEH

LP1:

MOV A,0

MOVX @DPTR,A

LCALL DELAY1

MOV A,#0FFH

MOVX @DPTR,A

LCALL DELAY1

AJMP LP1

;锯齿波子程序/////////////

JVCHI:

MOV DPTR,#0FFFEH

MOV A,#0FFH

WW:MOVX @DPTR,A

DEC A

NOP

NOP

NOP

AJMP WW

;梯形波子程序

TIXING:

MOV DPTR,#0FFFEH MOV R2,#07DH

MOV R4,#0AFH

MOV A,#00H

D1:MOVX @DPTR,A LCALL DELAY2

ADD A,R2

DJNZ R4,D1

AJMP D1

;三角波子程序/////////////// SANJIAO:

MOV DPTR,#0FFFEH MOV R6,#10H

MOV A,#00H

LOOP1:

MOVX @DPTR,A

ADD A,R6

CJNE A,#0FFH,LOOP1 LOOP2:

MOVX @DPTR,A

SUBB A,R6

CJNE A,#07H,LOOP2 AJMP LOOP1

;正弦波子程序///////////////// ZHENGXIAN:

MOV R1,#00H

QZ:MOV A,R1

MOV DPTR,#SETTAB MOVC A,@A+DPTR MOV DPTR,#0FFFEH MOVX @DPTR,A

INC R1

AJMP QZ

;延时程序2

DELAY2:MOV 31H,#02H PW:DJNZ 31H,PW

RET

;延时子程序1

DELAY1: MOV 30H,#0FFH

DL: DJNZ 30H,DL

RET

;消除抖动延时*********

DL Y_10MS:MOV R5,#250

DY1: MOV R7,#40

DY2: DJNZ R7,DY2

DJNZ R5,DY1

RET

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

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

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

相关文档
最新文档