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

📄 ex10-1.lst

📁 《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘
💻 LST
📖 第 1 页 / 共 2 页
字号:

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:	EX10-1.ASM
	Object File:	EX10-1.HEX
	List File:	EX10-1.LST



 Line  I  Addr  Code            Source

    1:		N      0000		org	0000h				;单片机复位地址
    2:	  0000	21 00			ajmp 	main				;转移到主程序处
    3:		N      0100		org	0100h				;main被定位在0x0100处
    4:	  0100	75 81 80	main:  mov 	sp,#80h	    		;初始化堆栈指针
    5:	  0103	30 90 06		jnb	P1.0,cr
    6:	  0106	30 91 10		jnb	P1.1,cv
    7:	  0109	30 92 1A		jnb	P1.2,ca
    8:	  010C	7F 00		cr:	mov	R7,#00h
    9:	  010E	12 01 33		lcall   adc
   10:	  0111	12 02 35		LCALL   RDAT
   11:	  0114	12 02 AA		lcall	DISPLAY
   12:	  0117	80 E7			sjmp 	main
   13:	  0119	7F 01		CV:	MOV	R7,#01H
   14:	  011B	12 01 33		LCALL	ADC
   15:	  011E	12 01 3D		LCALL   VDAT
   16:	  0121	12 02 AA		LCALL	DISPLAY
   17:	  0124	80 DA			SJMP	MAIN
   18:	  0126	7F 02		CA:	MOV	R7,#02H
   19:	  0128	12 01 33		LCALL	ADC
   20:	  012B	12 01 B4		LCALL	ADAT
   21:	  012E	12 02 AA		LCALL	DISPLAY
   22:	  0131	80 CD			SJMP	MAIN
   23:
   24:	  0133	EF		ADC: 	MOV    A,R7        ;0808 A/D转换子程序
   25:	  0134	90 7F FF		MOV    DPTR,#7FFFH
   26:	  0137	F0			MOVX   @DPTR,A
   27:	  0138	20 B3 FD		JB     P3.3,$
   28:	  013B	E0			MOVX   A,@DPTR    ;输入转换结果
   29:	  013C	22			RET
   30:
   31:
   32:	  013D			vdat:
   33:	  013D	7A 00				mov	R2,#00h
   34:	  013F	FB				mov	R3,A
   35:	  0140	7E 01				mov	R6,#01h
   36:	  0142	7F F4				mov	R7,#0F4h
   37:	  0144	12 02 E7			call	MULD2				;乘以500
   38:	  0147	C3				clr	C
   39:	  0148	ED				mov	A,r5
   40:	  0149	24 60				add	A,#60h				;加96修正
   41:	  014B	FD				mov	r5,A
   42:	  014C	EC				mov	A,r4
   43:	  014D	34 00				addc	A,#00h

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  014F	FC				mov	r4,A
   45:	  0150	EB				mov	A,r3
   46:	  0151	34 00				addc	A,#00h
   47:	  0153	FB				mov	r3,A
   48:	  0154	EA				mov	A,r2
   49:	  0155	34 00				addc	A,#00h
   50:	  0157	FA				mov	r2,A
   51:	  0158	78 30				mov	r0,#30h
   52:	  015A	79 34				mov	r1,#34h
   53:	  015C	EA				mov	A,R2
   54:	  015D	F7				mov	@r1,A
   55:	  015E	09				inc	r1
   56:	  015F	EB				mov	A,R3
   57:	  0160	F7				mov	@r1,A
   58:	  0161	09				inc	r1
   59:	  0162	EC				mov	A,R4
   60:	  0163	F7				mov	@r1,A
   61:	  0164	09				inc	r1
   62:	  0165	ED				mov	A,R5
   63:	  0166	F7				mov	@r1,A
   64:	  0167	09				inc	r1
   65:	  0168	77 00				mov	@r1,#00h
   66:	  016A	09				inc	r1
   67:	  016B	77 00				mov	@r1,#00h
   68:	  016D	09				inc	r1
   69:	  016E	77 00				mov	@r1,#00h
   70:	  0170	09				inc	r1
   71:	  0171	77 FF				mov	@r1,#0FFh
   72:	  0173	12 03 17			call	DIVD4				;除以255
   73:	  0176	79 38				mov	r1,#38h
   74:	  0178	77 00				mov	@r1,#00h
   75:	  017A	09				inc	r1
   76:	  017B	77 00				mov	@r1,#00h
   77:	  017D	09				inc	r1
   78:	  017E	77 00				mov	@r1,#00h
   79:	  0180	09				inc	r1
   80:	  0181	77 0A				mov	@r1,#0Ah
   81:	  0183	12 03 17			call	DIVD4
   82:	  0186	85 33 43			mov	43h,33h
   83:	  0189	12 03 17			call	DIVD4
   84:	  018C	85 33 42			mov	42h,33h
   85:	  018F	12 03 17			call	DIVD4
   86:	  0192	85 33 41			mov	41h,33h
   87:	  0195	78 40				mov	r0,#40h
   88:	  0197	76 00				mov	@r0,#00h
   89:	  0199	08				inc	r0
   90:	  019A	E5 41				mov	A,41h
   91:	  019C	90 02 A0			mov	DPTR,#SEGMENT7
   92:	  019F	93				movc	A,@A+DPTR
   93:	  01A0	44 80				orl	A,#80h
   94:	  01A2	F6				mov	@r0,A
   95:	  01A3	08				inc	r0
   96:	  01A4	E5 42				mov	A,42h
   97:	  01A6	90 02 A0			mov	DPTR,#SEGMENT7
   98:	  01A9	93				movc	A,@A+DPTR
   99:	  01AA	F6				mov	@r0,A

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 3



 Line  I  Addr  Code            Source

  100:	  01AB	08				inc	r0
  101:	  01AC	E5 43				mov	A,43h
  102:	  01AE	90 02 A0			mov	DPTR,#SEGMENT7
  103:	  01B1	93				movc	A,@A+DPTR
  104:	  01B2	F6				mov	@r0,A
  105:	  01B3	22				ret
  106:
  107:	  01B4			ADAT:
  108:	  01B4	F5 F0				mov	B,A
  109:	  01B6	74 B6				mov	A,#0B6h
  110:	  01B8	C3				clr	C				;以下根据范围设置数值以防溢出
  111:	  01B9	95 F0				subb	A,B
  112:	  01BB	40 08				jc	LARGERA
  113:	  01BD	E5 F0				mov	A,B
  114:	  01BF	94 16				subb	A,#16h
  115:	  01C1	40 06				jc	LESSA
  116:	  01C3	21 CD				ajmp	MIDDLEA
  117:	  01C5	74 B6		LARGERA:	mov	A,#0B6h
  118:	  01C7	21 CF				ajmp	CALCULATEA
  119:	  01C9	74 16		LESSA:		mov	A,#16h
  120:	  01CB	21 CF				ajmp	CALCULATEA
  121:	  01CD	E5 F0		MIDDLEA:	mov	A,B
  122:	  01CF	7A C3		CALCULATEA:	mov	r2,#0C3h
  123:	  01D1	7B 50				mov	r3,#50h
  124:	  01D3	7E 00				mov	r6,#00h
  125:	  01D5	FF				mov	r7,A
  126:	  01D6	12 02 E7			call	MULD2			;乘以50000
  127:	  01D9	C3				clr	C
  128:	  01DA	ED				mov	A,r5
  129:	  01DB	94 70				subb	A,#70h			;以下减去102000
  130:	  01DD	FD				mov	r5,A
  131:	  01DE	F5 37				mov	37h,A
  132:	  01E0	EC				mov	A,r4
  133:	  01E1	94 8E				subb	A,#8Eh
  134:	  01E3	FC				mov	r4,A
  135:	  01E4	F5 36				mov	36h,A
  136:	  01E6	EB				mov	A,r3
  137:	  01E7	94 01				subb	A,#01h
  138:	  01E9	FB				mov	r3,A
  139:	  01EA	F5 35				mov	35h,A
  140:	  01EC	EA				mov	A,r2
  141:	  01ED	94 00				subb	A,#00h
  142:	  01EF	FA				mov	r2,A
  143:	  01F0	F5 34				mov	34h,A
  144:	  01F2	78 30				mov	r0,#30h
  145:	  01F4	79 38				mov	r1,#38h
  146:	  01F6	77 00				mov	@r1,#00h
  147:	  01F8	09				inc	r1
  148:	  01F9	77 01				mov	@r1,#01h
  149:	  01FB	09				inc	r1
  150:	  01FC	77 5E				mov	@r1,#5Eh
  151:	  01FE	09				inc	r1
  152:	  01FF	77 A0				mov	@r1,#0A0h
  153:	  0201	12 03 17			call	DIVD4			;除以89760
  154:	  0204	79 38				mov	r1,#38h
  155:	  0206	77 00				mov	@r1,#00h

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 4



 Line  I  Addr  Code            Source

  156:	  0208	09				inc	r1
  157:	  0209	77 00				mov	@r1,#00h
  158:	  020B	09				inc	r1
  159:	  020C	77 00				mov	@r1,#00h
  160:	  020E	09				inc	r1
  161:	  020F	77 0A				mov	@r1,#0Ah
  162:	  0211	90 02 A0			mov	DPTR,#SEGMENT7
  163:	  0214	12 03 17			call	DIVD4
  164:	  0217	E5 33				mov	A,33h
  165:	  0219	93				movc	A,@A+DPTR
  166:	  021A	F5 43				mov	43h,A
  167:	  021C	12 03 17			call	DIVD4
  168:	  021F	E5 33				mov	A,33h
  169:	  0221	93				movc	A,@A+DPTR
  170:	  0222	F5 42				mov	42h,A
  171:	  0224	12 03 17			call	DIVD4
  172:	  0227	E5 33				mov	A,33h
  173:	  0229	93				movc	A,@A+DPTR
  174:	  022A	B4 3F 02			cjne	A,#3Fh,NOTEQU
  175:	  022D	74 00				mov	A,#00h
  176:	  022F	F5 41		NOTEQU:		mov	41h,A
  177:	  0231	75 40 00			mov	40h,#00h
  178:	  0234	22				RET
  179:
  180:	  0235			rdat:
  181:	  0235	7A 00				mov	R2,#00h
  182:	  0237	FB				mov	R3,A
  183:	  0238	7E 03				mov	R6,#03h
  184:	  023A	7F E8				mov	R7,#0E8h
  185:	  023C	12 02 E7			call	MULD2		;乘以1000
  186:	  023F	78 30				mov	r0,#30h
  187:	  0241	79 34				mov	r1,#34h
  188:	  0243	EA				mov	A,R2
  189:	  0244	F7				mov	@r1,A
  190:	  0245	09				inc	r1
  191:	  0246	EB				mov	A,R3
  192:	  0247	F7				mov	@r1,A
  193:	  0248	09				inc	r1
  194:	  0249	EC				mov	A,R4
  195:	  024A	F7				mov	@r1,A
  196:	  024B	09				inc	r1
  197:	  024C	ED				mov	A,R5
  198:	  024D	F7				mov	@r1,A
  199:	  024E	09				inc	r1
  200:	  024F	77 00				mov	@r1,#00h
  201:	  0251	09				inc	r1
  202:	  0252	77 00				mov	@r1,#00h
  203:	  0254	09				inc	r1
  204:	  0255	77 00				mov	@r1,#00h
  205:	  0257	09				inc	r1
  206:	  0258	77 FF				mov	@r1,#0FFh
  207:	  025A	12 03 17			call	DIVD4				;除以255
  208:	  025D	79 38				mov	r1,#38h
  209:	  025F	77 00				mov	@r1,#00h
  210:	  0261	09				inc	r1
  211:	  0262	77 00				mov	@r1,#00h

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 5



 Line  I  Addr  Code            Source

  212:	  0264	09				inc	r1
  213:	  0265	77 00				mov	@r1,#00h
  214:	  0267	09				inc	r1
  215:	  0268	77 0A				mov	@r1,#0Ah
  216:	  026A	90 02 A0			mov	DPTR,#SEGMENT7
  217:	  026D	12 03 17			call	DIVD4				;连续进行4次除以10的操作
  218:	  0270	E5 33				mov	A,33h				;取得10进制值
  219:	  0272	93				movc	A,@A+DPTR
  220:	  0273	F5 43				mov	43h,A
  221:	  0275	12 03 17			call	DIVD4
  222:	  0278	E5 33				mov	A,33h
  223:	  027A	93				movc	A,@A+DPTR
  224:	  027B	F5 42				mov	42h,A
  225:	  027D	12 03 17			call	DIVD4
  226:	  0280	E5 33				mov	A,33h
  227:	  0282	93				movc	A,@A+DPTR
  228:	  0283	F5 41				mov	41h,A
  229:	  0285	12 03 17			call	DIVD4
  230:	  0288	E5 33				mov	A,33h
  231:	  028A	93				movc	A,@A+DPTR
  232:	  028B	B4 3F 02			cjne	A,#3Fh,NONZERO
  233:	  028E	74 00				mov	A,#00h
  234:	  0290	F5 40		NONZERO:	mov	40h,A
  235:	  0292	22				ret
  236:
  237:	  0293	7D 01		DELAY_5ms:	mov	R5,#01h				;设置R5初始计数值
  238:	  0295	7E 16		DELAY_5ms1:	mov	R6,#16h				;设置R6初始计数值
  239:	  0297	7F 70		DELAY_5ms2:	mov	R7,#70h				;设置R7初始计数值
  240:	  0299	DF FE		DELAY_5ms3:	djnz	R7,DELAY_5ms3		;延时时间为 Time=( ( (R7*2)+2+1 )*R6+2+1 )*R5+1
  241:	  029B	DE FA				djnz	R6,DELAY_5ms2		;
  242:	  029D	DD F6				djnz	R5,DELAY_5ms1		;
  243:	  029F	22				ret
  244:
  245:
  246:	  02A0	3F		SEGMENT7:	DB	3Fh	;7段数码管字符0的abcdefg的值,a在最低位,最高位始终保留为0
  247:	  02A1	06				DB	06h
  248:	  02A2	5B				DB	5Bh
  249:	  02A3	4F				DB	4Fh
  250:	  02A4	66				DB	66h
  251:	  02A5	6D				DB	6Dh
  252:	  02A6	7D				DB	7Dh
  253:	  02A7	07				DB	07h
  254:	  02A8	7F				DB	7Fh
  255:	  02A9	6F				DB	6Fh
  256:
  257:	  02AA	90 FE FF	DISPLAY:	mov	DPTR,#0fEffh		;写第一位数码管
  258:	  02AD	79 40				mov	r1,#40h
  259:	  02AF	E7				mov	A,@r1
  260:	  02B0	F0				movx	@DPTR,A
  261:	  02B1	D3				setb	C
  262:	  02B2	92 94				mov	P1.4,C
  263:	  02B4	C3				clr	C
  264:	  02B5	92 94				mov	P1.4,C
  265:	  02B7	51 93				call	DELAY_5ms
  266:	  02B9	D3				setb	C
  267:	  02BA	92 94				mov	P1.4,C

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 6



 Line  I  Addr  Code            Source

  268:	  02BC	09				inc	r1
  269:	  02BD	E7				mov	A,@r1				;写第二位数码管
  270:	  02BE	F0				movx	@DPTR,A
  271:	  02BF	D3				setb	C

⌨️ 快捷键说明

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