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

📄 13.lst

📁 单片机实验程序-13种-17.4M-pdf.zip
💻 LST
📖 第 1 页 / 共 4 页
字号:
                                                                    01-29-03
                                                                    02:14:23
伟福汇编器 V5.00                             Copyright (c) 1989, 2001 by CHY

地址  机器码 源程序

02C6 00     		    NOP
02C7 02040D                     LJMP 	ERR              ;软件陷阱
02CA C2B7               ACTF3:  CLR   SWITCH            ;工作模式三(或四): 开继电器
02CC C297                       CLR   BELL               ;蜂鸣器短鸣一声
02CE 9103                       ACALL DL1S
02D0 D297                       SETB  BELL
02D2 753FFF                     MOV   R_MOD, #0FFH    ;响铃模式参数#0FFH
02D5 7A96                       MOV   R2, #96H          ;响铃时间参数#96H
02D7 7102   	    	ACTF31: 	ACALL  RING		    ;调用响铃子程序
02D9 30B114                     JNB   MKEY,  ENDACT  ;等待键按下
02DC 30B011                     JNB   FKEY,  ENDACT   ;  有键按下则结束
02DF DAF6                       DJNZ  R2,   ACTF31    ;次数未满继续
02E1 7A96                       MOV   R2, #96H         ;重新赋值
02E3 C297                       CLR   BELL             ;短鸣一声(说明: 响铃模式参数#0FFH使
02E5 71E9                       ACALL DL100            ; 响铃程序无效,仅起延时作用,
02E7 D297                       SETB  BELL             ; 每延时一段时间短鸣一声,以
02E9 41D7                       AJMP  ACTF31          ; 提醒使用者继电器仍在工作)
02EB 00                         NOP
02EC 00     		    NOP
02ED 02040D                     LJMP 	ERR             ;软件陷阱
02F0 D2B7              ENDACT: SETB  	SWITCH         ;关继电器
02F2 711F              AWAITF: ACALL	 DISPLY         ;调用显示
02F4 30B0FB                    JNB   FKEY,  AWAITF     ;等待键释放
02F7 711F              AWAITM: ACALL DISPLY           ;调用显示
02F9 30B1FB                     JNB   MKEY,  AWAITM   ;等待键释放
02FC 22                         RET
02FD 00                         NOP
02FE 00     		    NOP
02FF 02040D                     LJMP 	ERR             ;软件陷阱
                        ;
                    ;**************
            	    ;   响铃程序  ;
                    ;**************
0302 7D18               RING:   MOV   R5, #18H           ;R5为循环控制变量
0304 30B110             RING1:  JNB   MKEY  , R_EXIT    ;键扫描
0307 30B00D                     JNB   FKEY  , R_EXIT     ;有键按下则退出
030A E53F                       MOV   A, R_MOD          ;移入响铃模式参数
030C A2E7                       MOV   C, ACC.7           ;根据响铃模式参数改变响铃
030E 9297                       MOV   BELL, C
0310 23                         RL    A
0311 F53F                       MOV   R_MOD, A
0313 71E9                       ACALL DL100             ;延时
0315 DDED                       DJNZ  R5, RING1          ;循环次数控制
0317 D297               R_EXIT: SETB  BELL              ;关闭响铃
0319 22                         RET
031A 00                         NOP
031B 00     		    NOP
031C 02040D                     LJMP ERR                 ;软件陷阱


C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例13\13.ASM   
 
                                                                    页    11
                                                                    01-29-03
                                                                    02:14:23
伟福汇编器 V5.00                             Copyright (c) 1989, 2001 by CHY

地址  机器码 源程序

                        ;
                    ;**************
            	    ;   显示程序  ;
                    ;**************
031F C0E0   	    	DISPLY: PUSH  ACC                   ;数据压栈保护
0321 C0D0                           PUSH  PSW
0323 75D010 		    	MOV   PSW,    #10H         ;选用寄存器组2
0326 A83A                   	MOV   R0,  DSPLYP          ;移入显示指针
0328 7AFD   		    	MOV   R2,  #0FDH           ;R2寄存的是数码管选通数
032A E53B                   	MOV   A,  PLYTS            ;移入显示循环控制量
032C 7005   	            	JNZ   PLAY                  ;不为0则转PLAY
032E 753B64 		    	MOV   PLYTS,  #64H         ;否则从新赋值
0331 B23B   		    	CPL   BRIGHT                ;亮灭指示位取反
0333 153B   	   PLAY:   DEC   PLYTS                  ;显示循环控制量减1
0335 30390C                 	JNB   LPLMOD, PLAYL        ;低两位数码管不闪则"PLAYL"
0338 203B09 		    	JB    BRIGHT, PLAYL         ;亮灭指示为1也"PLAYL"
033B 71B4   		    	ACALL NOPLAY               ;否则灭灯延时
033D 615C                   	AJMP  PLAY1                ;转显示高位数码管
033F 00                     	NOP
0340 00     		    	NOP
0341 02040D                 	LJMP ERR                    ;软件陷阱
            	    ;用来显示低位
0344 43907F 	         PLAYL:  ORL   P1,  #7FH            ;清原显示数据
0347 43B03C                         ORL   P3,  #3CH            ;清原选通数据
034A EA     		    	MOV   A,   R2            ;移入数码管位选数
034B 23                     	RL    A                   ;换一位
034C 52B0                   	ANL   P3,  A              ;选通低位的个位数码管
034E FA                     	MOV   R2,  A             ;暂存位选数
034F E6     		    	MOV   A,  @R0           ;移入显示数值
0350 90039D 		    	MOV   DPTR,  #TABLE1   ;移入表首地址
0353 93     		    	MOVC  A,  @A+DPTR     ;查表
0354 5290   		    	ANL   P1,  A              ;送显示数据
0356 71C4   		    	ACALL DL1MS             ;延时
0358 08     		    	INC   R0                  ;指向低位的十位数
0359 20B3E8 		    	JB    P3.3,  PLAYL         ;显示低位的十位数
                        ;
035C 303A0C 	    	PLAY1:  JNB   HPLMOD, PLAYH      ;高两位数码管不闪则"PLAYH"
035F 203B09 		    	JB    BRIGHT, PLAYH        ;亮灭指示为1也"PLAYH"
0362 71B4   		    	ACALL NOPLAY              ;  否则灭灯延时
0364 6193                   	AJMP  OUTPLY              ;转结束
0366 00                     	NOP
0367 00     		    	NOP
0368 02040D                 	LJMP ERR                    ;软件陷阱
            ;
            	    ;用来显示高位
036B 43907F 	    	PLAYH:  ORL   P1,  #7FH           ;清原显示数据
036E 43B03C                 	ORL   P3,  #3CH            ;清原选通数据
0371 53B0EF                 	ANL   P3,  #0EFH           ;选通高位的个位数数码管


C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例13\13.ASM   
 
                                                                    页    12
                                                                    01-29-03
                                                                    02:14:23
伟福汇编器 V5.00                             Copyright (c) 1989, 2001 by CHY

地址  机器码 源程序

0374 E6     		    	MOV   A,  @R0             ;移入显示数值
0375 90039D 		    	MOV   DPTR,  #TABLE1     ;移入表首地址
0378 93     		    	MOVC  A,  @A+DPTR       ;查表
0379 5290   		        ANL   P1,  A                   ;送显示数据
037B 71C4   		        ACALL DL1MS                  ;延时
037D 08     		        INC   R0                       ;指向高位的十位数
                        ;                               ;显示高位的十位数
037E 43907F                     ORL   P1,  #7FH               ;清原显示数据
0381 43B03C                     ORL   P3,  #3CH               ;清原选通数据
0384 53B0DF 		    ANL   P3,  #0DFH             ;选通高位的十位数
0387 E6     		    MOV   A,  @R0               ;移入显示数值
0388 A230   		    MOV	C,  LED4	           ;指针放大+小灯状态
038A 33     		    RLC   A                       ;
038B 9003AA 		    MOV   DPTR,  #TABLE2       ;移入表首地址
038E 93     		    MOVC  A,  @A+DPTR         ;查表
038F 5290   		    ANL   P1,  A                 ;送显示数据
0391 71C4   		    ACALL DL1MS                ;延时
                        ;
0393 D0D0      OUTPLY: POP   PSW                   ;恢复数据
0395 D0E0               POP   ACC
0397 22     	    RET
0398 00                 NOP
0399 00     	    NOP
039A 02040D             LJMP ERR                    ;软件陷阱
            ;
039D C0F9A4 
03A0 B09992 
03A3 82F880 
03A6 90BF8E 
03A9 FF     TABLE1: DB  0C0H,0F9H,0A4H,0B0H, 99H, 92H, 82H,0F8H, 80H, 90H,0BFH, 8EH,0FFH
            ;   	  "0", "1",	...	...                      "9",   "-", "F", " "
            ;
03AA FFDFF9 
03AD D9A484 
03B0 B090BF 
03B3 9F     TABLE2: DB  0FFH, 0DFH, 0F9H, 0D9H, 0A4H,  84H, 0B0H,  90H, 0BFH, 09FH
            ;	 "  ",  " :",   "1 ",  "1:",  "2 ",    "2:",  "3 ",  "3:",  "- ",  "-:"
                    ;
                ;
            		;
                    ;**********************
                    ;    无显示(灭灯)程序   ;
                    ;**********************
03B4 43907F 	    NOPLAY:   ORL   P1,  #7FH            ;清显示数据
03B7 43B03C                     ORL   P3,  #3CH           ;清选通数据
03BA 08                         INC   R0                   ;指针自增2
03BB 08                         INC   R0
03BC 71C4   		    ACALL DL1MS              ;延时


C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例13\13.ASM   
 
                                                                    页    13
                                                                    01-29-03
                                                                    02:14:23
伟福汇编器 V5.00                             Copyright (c) 1989, 2001 by CHY

地址  机器码 源程序

03BE 22                         RET
03BF 00                         NOP
03C0 00     		    NOP
03C1 02040D                     LJMP ERR                    ;软件陷阱
                        ;
                    ;******************
                    ;     延时程序    ;
            	;******************
03C4 7BF9   	    DL1MS:  MOV   R3, #0F9H       ;延时 1250US  只为DISPLY所调用
03C6 00     	    DL1MS1: NOP
03C7 00     		    NOP
03C8 00     		    NOP
03C9 DBFB   		    DJNZ  R3, DL1MS1
03CB 22                         RET
03CC 00                         NOP
03CD 00     		    NOP
03CE 02040D                     LJMP ERR              ;软件陷阱
            	    ;
03D1 C297   	    KEYDLY: CLR   BELL		  ; 按键消抖动专用延时程序,
03D3 711F   		    ACALL DISPLY        ; 在消除抖动的同时发出按键提示音
03D5 D297   		    SETB  BELL
03D7 22     		    RET
03D8 00                         NOP
03D9 00     		    NOP
03DA 02040D                     LJMP ERR             ;软件陷阱
            	    ;
03DD 7F0A   	    DL50MS: MOV	  R7, #0AH     ;50毫秒延时程序
03DF 711F   	    DL50M1: ACALL DISPLY	       ; 每调用一次显示程序5MS
03E1 DFFC   		    DJNZ  R7, DL50M1      ; 调用10次
03E3 22     	     	    RET
03E4 00                         NOP
03E5 00     		    NOP
03E6 02040D                     LJMP ERR              ;软件陷阱
            	    ;
03E9 71DD   	    DL100:  ACALL DL50MS          ;延时100毫秒
03EB 71DD   		    ACALL DL50MS
03ED 22     		    RET
03EE 00                         NOP
03EF 00     		    NOP
03F0 02040D                     LJMP ERR               ;软件陷阱
            	    ;
03F3 71E9   	    DL05S:  ACALL DL100           ; 延时0.5秒
03F5 71E9   		    ACALL DL100
03F7 71E9   		    ACALL DL100
03F9 71E9   		    ACALL DL100
03FB 71E9                       ACALL DL100
03FD 22                         RET
03FE 00                         NOP


C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例13\13.ASM   
 
                                                                    页    14
                                                                    01-29-03
                                                                    02:14:23
伟福汇编器 V5.00                             Copyright (c) 1989, 2001 by CHY

地址  机器码 源程序

03FF 00     		    NOP
0400 02040D                     LJMP ERR              ;软件陷阱
            	    ;
0403 71F3   	DL1S:       ACALL DL05S              ;延时1秒
0405 71F3   		    ACALL DL05S
0407 22                         RET
0408 00                         NOP
0409 00     		    NOP
040A 02040D                     LJMP ERR                 ;软件陷阱
                        ;
                        ;****************************
                        ;     ERR(出错处理) 程序    ;
            	    ;****************************
040D C2AF               ERR:    CLR   EA                    ;关中断
040F 900417                     MOV   DPTR, #ERR1          ; 准备返回地址
0412 C082                       PUSH  DPL                   ; 压栈
0414 C083                       PUSH  DPH                   ;
0416 32                         RETI                         ;中断返回
0417 7556AA             ERR1:   MOV   56H, #0AAH           ;建立上电标志(出错标志)
041A 755755                     MOV   57H, #55H
041D 7400                       MOV   A,  #00H             ; 准备返回地址
041F C0E0                       PUSH  A                     ; 压栈
0421 C0E0                       PUSH  A
0423 32                         RETI                         ; 中断返回

⌨️ 快捷键说明

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