基于Proteus的51系列单片机设计与仿真

源代码在线查看: 中断系统的应用(二).lst

软件大小: 4176 K
上传用户: wendaoysh
关键词: Proteus 51系列 单片机设计 仿真
下载地址: 免注册下载 普通下载 VIP

相关代码

				A51 MACRO ASSEMBLER  謃断系统的觃用__二__                                                 05/03/2008 19:02:32 PAGE     1
				
				
				MACRO ASSEMBLER A51 V7.07
				OBJECT MODULE PLACED IN 中断系统的应用(二).OBJ
				ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 中断系统的应用(二).ASM SET(SMALL) DEBUG EP
				
				LOC  OBJ            LINE     SOURCE
				
				0000                   1            ORG   0000H         ;主程序起始地址设置
				0000 0115              2            AJMP  START         ;跳到主程序入口
				0003                   3            ORG   0003H         ; 中断子程序矢量地址(K1键钮)
				0003 0133              4            AJMP  INTR0         ;跳到 中断子程序入口
				0013                   5            ORG   0013H         ; 中断矢量地址(K2键钮)
				0013 0178              6            AJMP  INTR1         ;跳到 中断子程序入口
				0015 75A885            7     START: MOV   IE,#85H       ;设定 和 中断使能
				0018 75B804            8            MOV   IP,#04H       ; 优先设置为最高
				001B 758800            9            MOV   TCON,#00H     ; 和 电平触发
				001E 758160           10            MOV   SP,#60H
				0021 7580FF           11            MOV   P0,#0FFH
				0024 7590FF           12            MOV   P1,#0FFH
				0027 7800             13            MOV   R0,#00H       ;设置K1按键初值
				0029 7400             14            MOV   A,#00H        ;设置D0~D7初始状态
				002B F580             15     LP1:   MOV   P0,A          ;将A送至P0口
				002D 120088           16            LCALL  DELAY
				0030 F4               17            CPL   A              ;D0~D7闪烁
				0031 80F8             18            SJMP  LP1           ;等待按键按下中断
				0033 C0E0             19     INTR0: PUSH  Acc           ;将A压入堆栈暂时保存
				0035 C0D0             20            PUSH  PSW           ;将PSW压入堆栈暂时保存
				0037 D2D3             21            SETB  RS0           ;使用工作寄存器组1
				0039 08               22            INC   R0             ;K1键值加1
				003A 7400             23            MOV   A,#00H        ;判断K1键值的奇偶性
				003C 48               24            ORL   A, R0
				003D 30D011           25            JNB   PSW.0,DOUBLE ;PSW的D0=0,即K1键值为偶数,跳转
				0040 758000           26     SINGLE:MOV   P0,#00H       ;D0~D3、 D4~D7交叉点亮程序
				0043 740F             27            MOV   A,#0FH
				0045 7C03             28            MOV   R4,#03H       ;设定交叉点亮3次
				0047 F580             29     SINGLE1:MOV  P0,A
				0049 120088           30            LCALL DELAY
				004C C4               31            SWAP  A             ;A高、低字节交换
				004D DCF8             32            DJNZ  R4,SINGLE1
				004F 0172             33            AJMP  LP5           ;交叉次数到,退出
				0051 758000           34     DOUBLE:MOV   P0,#00H       ;D0~D7进行左移和右移程序
				0054 7902             35            MOV   R1,#02H       ;设定移动2次
				0056 7401             36     DOUBLE1:MOV  A, #01H
				0058 7A08             37           MOV   R2,#08H       ;左移8个灯
				005A D3               38           SETB  C
				005B F580             39           MOV   P0,A
				005D 33               40     LP2:  RLC   A
				005E 120088           41           LCALL  DELAY
				0061 DAFA             42           DJNZ  R2,LP2
				0063 7401             43           MOV   A, #01H
				0065 7A08             44           MOV   R2,#08H       ;右移8个灯
				0067 C3               45           CLR   C
				0068 F580             46     LP3:  MOV   P0,A
				006A 120088           47           LCALL  DELAY
				006D 13               48           RRC   A
				006E DAF8             49           DJNZ  R2,LP3
				0070 D9E4             50           DJNZ  R1,DOUBLE1    ;判移动次数是否达到,否,继续
				0072 00               51     LP5:  NOP                   ;退出INT0中断子程序
				0073 D0D0             52           POP   PSW            ;取回PSW暂时保存的值
				0075 D0E0             53           POP   Acc            ;取回A暂时保存的值
				0077 32               54           RETI                 ;返回主程序
				0078 C0E0             55     INTR1:PUSH  Acc           ;K2键下时,报警子程序
				007A C0D0             56           PUSH  PSW
				007C C290             57           CLR   P1.0          ;报警
				007E 120088           58           LCALL DELAY         ;延时
				A51 MACRO ASSEMBLER  謃断系统的觃用__二__                                                 05/03/2008 19:02:32 PAGE     2
				
				0081 D290             59           SETB  P1.0
				0083 D0D0             60           POP   PSW
				0085 D0E0             61           POP   Acc
				0087 32               62           RETI                  ; 中断返回
				0088 7F14             63     DELAY:MOV  R7,#20          ;延时0.2s子程序
				008A 7E14             64     DELA1:MOV  R6,#20
				008C 7DF8             65     DELA2:MOV  R5,#248
				008E DDFE             66           DJNZ R5,$
				0090 DEFA             67           DJNZ R6,DELA2
				0092 DFF6             68           DJNZ R7,DELA1
				0094 22               69           RET
				                      70           END
				A51 MACRO ASSEMBLER  謃断系统的觃用__二__                                                 05/03/2008 19:02:32 PAGE     3
				
				SYMBOL TABLE LISTING
				------ ----- -------
				
				
				N A M E             T Y P E  V A L U E   ATTRIBUTES
				
				ACC. . . . . . . .  D ADDR   00E0H   A   
				DELA1. . . . . . .  C ADDR   008AH   A   
				DELA2. . . . . . .  C ADDR   008CH   A   
				DELAY. . . . . . .  C ADDR   0088H   A   
				DOUBLE . . . . . .  C ADDR   0051H   A   
				DOUBLE1. . . . . .  C ADDR   0056H   A   
				IE . . . . . . . .  D ADDR   00A8H   A   
				INTR0. . . . . . .  C ADDR   0033H   A   
				INTR1. . . . . . .  C ADDR   0078H   A   
				IP . . . . . . . .  D ADDR   00B8H   A   
				LP1. . . . . . . .  C ADDR   002BH   A   
				LP2. . . . . . . .  C ADDR   005DH   A   
				LP3. . . . . . . .  C ADDR   0068H   A   
				LP5. . . . . . . .  C ADDR   0072H   A   
				P0 . . . . . . . .  D ADDR   0080H   A   
				P1 . . . . . . . .  D ADDR   0090H   A   
				PSW. . . . . . . .  D ADDR   00D0H   A   
				RS0. . . . . . . .  B ADDR   00D0H.3 A   
				SINGLE . . . . . .  C ADDR   0040H   A   
				SINGLE1. . . . . .  C ADDR   0047H   A   
				SP . . . . . . . .  D ADDR   0081H   A   
				START. . . . . . .  C ADDR   0015H   A   
				TCON . . . . . . .  D ADDR   0088H   A   
				
				
				REGISTER BANK(S) USED: 0 
				
								ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)
							

相关资源