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

📄 ex8-6.lst

📁 DAC0832的示例程序,希望对大家有帮战哦!
💻 LST
字号:

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 1





       MCS-51 Family Cross Assembler   A S E M - 5 1   V 1.2
       =====================================================



	Source File:	EX8-6.ASM
	Object File:	EX8-6.HEX
	List File:	EX8-6.LST



 Line  I  Addr  Code            Source

    1:		N      0000		ORG 0000H
    2:	  0000	02 00 30	START:	LJMP MAIN
    3:		N      0003		ORG 0003H           ;外部中断 入口
    4:	  0003	02 00 47		LJMP INSER          ;转到中断服务程序
    5:		N      0030		ORG 0030H
    6:	  0030	90 7F FF	MAIN:	MOV DPTR,#7FFFH     ;DAC0832地址
    7:	  0033	D2 A8			SETB EX0            ;允许 中断
    8:	  0035	D2 88		     	SETB IT0            ;负边沿触发方式
    9:	  0037	D2 AF		      	SETB EA             ;开中断
   10:	  0039	20 00 3A	HERE: 	JB 20H.0,ST	    ;阶梯波处理
   11:	  003C	20 01 41		JB 20H.1,TRI        ;三角波处理
   12:	  003F	20 02 50		JB 20H.2,SQ         ;方波处理
   13:	  0042	20 03 5D		JB 20H.3,SIN        ;正弦波处理
   14:	  0045	80 F2			SJMP HERE           ;等待中断
   15:
   16:	  0047	30 90 02	INSER:	JNB P1.0, LL1       ;中断服务程序,查询按键
   17:	  004A	80 07			SJMP L1
   18:	  004C	75 20 00	LL1:   	MOV 20H,#00H
   19:	  004F	D2 00			SETB 20H.0          ;设置阶梯波标志
   20:	  0051	80 22			SJMP RT
   21:	  0053	30 92 02	L1:   	JNB  P1.2, LL2
   22:	  0056	80 07			SJMP L2
   23:	  0058	75 20 00	LL2:   	MOV 20H,#00H
   24:	  005B	D2 01			SETB 20H.1          ;设三角梯波标志
   25:	  005D	80 16			SJMP RT
   26:	  005F	30 94 02	L2:   	JNB P1.4, LL3
   27:	  0062	80 07			SJMP L3
   28:	  0064	75 20 00	LL3:   	MOV 20H,#00H
   29:	  0067	D2 02			SETB 20H.2          ;设置方波标志
   30:	  0069	80 0A			SJMP RT
   31:	  006B	30 96 02	L3:   	JNB P1.6, LL4
   32:	  006E	80 05			SJMP RT
   33:	  0070	75 20 00	LL4:   	MOV 20H,#00H
   34:	  0073	D2 03			SETB 20H.3          ;设置正弦波标志
   35:	  0075	32		RT:   	RETI                ;中断返回
   36:
   37:	  0076	74 00		ST:    MOV    A,#00H        ;阶梯波
   38:	  0078	F0		LOOPP: MOVX   @DPTR,A       ;启动D/A转换
   39:	  0079	04		       INC    A
   40:	  007A	20 00 FB	       JB     20H.0,LOOPP   ;连续输出波形
   41:	  007D	02 00 39	       LJMP   HERE
   42:
   43:	  0080	74 00		TRI:   MOV    A,#00H        ;三角波

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  0082	F0		UP:    MOVX   @DPTR,A       ;启动D/A转换
   45:	  0083	04		       INC    A             ;上升沿
   46:	  0084	B4 FF FB	       CJNE   A,#0FFH,UP
   47:	  0087	F0		DOWN:  MOVX   @DPTR,A       ;启动D/A转换
   48:	  0088	14		       DEC    A             ;下降沿
   49:	  0089	B4 00 FB	       CJNE   A,#00H,DOWN
   50:	  008C	20 01 F3	       JB     20H.1,  UP        ;连续输出波形
   51:	  008F	02 00 39	       LJMP   HERE
   52:
   53:	  0092	74 00		SQ:    MOV    A,#00H        ;方波
   54:	  0094	F0		       MOVX   @DPTR,A       ;DAC输出低电平
   55:	  0095	11 E7		       ACALL  DELAY         ;延时1
   56:	  0097	74 FF		       MOV    A,#0FFH
   57:	  0099	F0		       MOVX   @DPTR,A       ;DAC输出高电平
   58:	  009A	11 E7		       ACALL  DELAY         ;延时2
   59:	  009C	20 02 F3	       JB     20H.2, SQ     ;连续输出波形
   60:	  009F	02 00 39	       LJMP   HERE
   61:
   62:	  00A2	90 00 D4	SIN:    MOV DPTR,#SINTAB    ;正弦波
   63:	  00A5	78 6D			MOV R0,#6DH
   64:	  00A7	E4		LOOP:   CLR A
   65:	  00A8	93			MOVC A,@A+DPTR
   66:	  00A9	F6			MOV @R0,A
   67:	  00AA	A3			INC DPTR
   68:	  00AB	08			INC R0
   69:	  00AC	B8 80 F8		CJNE R0,#80H,LOOP
   70:	  00AF	90 7F FF		MOV DPTR,#7FFFH	    ;DAC0832端口地址
   71:	  00B2	78 6D			MOV R0,#6DH
   72:	  00B4	E6		LOOP1:  MOV A,@R0	    ;取得第一个1/4周期的数据
   73:	  00B5	F0			MOVX @DPTR,A	    ;送往DAC0832
   74:	  00B6	08			INC R0
   75:	  00B7	B8 7F FA		CJNE R0,#7FH,LOOP1
   76:	  00BA	E6		LOOP2:  MOV A,@R0   	    ;取得第二个1/4周期的数据
   77:	  00BB	F0			MOVX @DPTR,A	    ;送往DAC0832
   78:	  00BC	18			DEC R0
   79:	  00BD	B8 6D FA		CJNE R0,#6DH,LOOP2
   80:	  00C0	E6		LOOP3: MOV A,@R0    	    ;取得第三个1/4周期的数据
   81:	  00C1	F4			CPL A		    ;数据取反
   82:	  00C2	F0			MOVX @DPTR,A	    ;送往DAC0832
   83:	  00C3	08			INC R0
   84:	  00C4	B8 7F F9		CJNE R0,#7FH,LOOP3
   85:	  00C7	E6		LOOP4:  MOV A,@R0    	    ;取得第四个1/4周期的数据
   86:	  00C8	F4			CPL A		    ;数据取反
   87:	  00C9	F0			MOVX @DPTR,A	    ;送往DAC0832
   88:	  00CA	18			DEC R0
   89:	  00CB	B8 6D F9		CJNE R0,#6DH,LOOP4
   90:	  00CE	20 03 E3		JB 20H.3, LOOP1	    ;输出连续波形
   91:	  00D1	02 00 39		LJMP HERE
   92:	  00D4	7F 89 94 9F	SINTAB: DB 7FH,89H,94H,9FH,0AAH,0B4H,0BEH,0C8H,0D1H,0D9H
	  00D8	AA B4 BE C8
	  00DC	D1 D9
   93:	  00DE	E0 E7 ED F2		DB 0E0H,0E7H,0EDH,0F2H,0F7H,0FAH,0FCH,0FEH,0FFH
	  00E2	F7 FA FC FE
	  00E6	FF
   94:
   95:	  00E7	7C 0F		DELAY:  MOV    R4,#0FH         ;延时子程序

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 3



 Line  I  Addr  Code            Source

   96:	  00E9	7D 10		LOOP11: MOV    R5,#10H
   97:	  00EB	00		LOOP22: NOP
   98:	  00EC	00		NOP
   99:	  00ED	00		NOP
  100:	  00EE	DD FB		DJNZ   R5,LOOP22
  101:	  00F0	DC F7		DJNZ   R4,LOOP11
  102:	  00F2	22		RET
  103:
  104:				 	END





                     register banks used:  ---

                     no errors




ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 4





	       L I S T   O F   S Y M B O L S
	       =============================


SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
AC				  BIT	      D6
ACC				  DATA	      E0
B				  DATA	      F0
CY				  BIT	      D7
DELAY				  CODE	    00E7	  95
DOWN				  CODE	    0087	  47
DPH				  DATA	      83
DPL				  DATA	      82
EA				  BIT	      AF
ES				  BIT	      AC
ET0				  BIT	      A9
ET1				  BIT	      AB
EX0				  BIT	      A8
EX1				  BIT	      AA
EXTI0				  CODE	    0003
EXTI1				  CODE	    0013
F0				  BIT	      D5
HERE				  CODE	    0039	  10
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INSER				  CODE	    0047	  16
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
L1				  CODE	    0053	  21
L2				  CODE	    005F	  26
L3				  CODE	    006B	  31
LL1				  CODE	    004C	  18
LL2				  CODE	    0058	  23
LL3				  CODE	    0064	  28
LL4				  CODE	    0070	  33
LOOP				  CODE	    00A7	  64
LOOP1				  CODE	    00B4	  72
LOOP11				  CODE	    00E9	  96
LOOP2				  CODE	    00BA	  76
LOOP22				  CODE	    00EB	  97
LOOP3				  CODE	    00C0	  80
LOOP4				  CODE	    00C7	  85
LOOPP				  CODE	    0078	  38
MAIN				  CODE	    0030	   6
OV				  BIT	      D2
P				  BIT	      D0
P0				  DATA	      80
P1				  DATA	      90
P2				  DATA	      A0
P3				  DATA	      B0
PCON				  DATA	      87

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 5



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
PS				  BIT	      BC
PSW				  DATA	      D0
PT0				  BIT	      B9
PT1				  BIT	      BB
PX0				  BIT	      B8
PX1				  BIT	      BA
RB8				  BIT	      9A
RD				  BIT	      B7
REN				  BIT	      9C
RESET				  CODE	    0000
RI				  BIT	      98
RS0				  BIT	      D3
RS1				  BIT	      D4
RT				  CODE	    0075	  35
RXD				  BIT	      B0
SBUF				  DATA	      99
SCON				  DATA	      98
SIN				  CODE	    00A2	  62
SINT				  CODE	    0023
SINTAB				  CODE	    00D4	  92
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
SQ				  CODE	    0092	  53
ST				  CODE	    0076	  37
START				  CODE	    0000	   2
T0				  BIT	      B4
T1				  BIT	      B5
TB8				  BIT	      9B
TCON				  DATA	      88
TF0				  BIT	      8D
TF1				  BIT	      8F
TH0				  DATA	      8C
TH1				  DATA	      8D
TI				  BIT	      99
TIMER0				  CODE	    000B
TIMER1				  CODE	    001B
TL0				  DATA	      8A
TL1				  DATA	      8B
TMOD				  DATA	      89
TR0				  BIT	      8C
TR1				  BIT	      8E
TRI				  CODE	    0080	  43
TXD				  BIT	      B1
UP				  CODE	    0082	  44
WR				  BIT	      B6

⌨️ 快捷键说明

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