单片机用TDS-ICE仿真器的试验程序。

源代码在线查看: pwm.lst

软件大小: 5502 K
上传用户: RSY527
关键词: TDS-ICE 单片机 仿真器 程序
下载地址: 免注册下载 普通下载 VIP

相关代码

				A51 MACRO ASSEMBLER  PWM                                                                  09/17/2004 11:21:13 PAGE     1
				
				
				MACRO ASSEMBLER A51 V7.09
				OBJECT MODULE PLACED IN pwm.OBJ
				ASSEMBLER INVOKED BY: C:\KEIL\C51\BIN\A51.EXE pwm.asm SET(SMALL) DEBUG EP
				
				LOC  OBJ            LINE     SOURCE
				
				  0030                 1     PWMH    DATA    30H                             ;高电平脉冲的个数
				  0031                 2     PWM     DATA    31H                             ;PWM周期
				  0032                 3     COUNTER DATA    32H
				  0033                 4     TEMP    DATA    33H
				                       5     
				0000                   6             ORG     0000H
				0000 2100              7             AJMP    MAIN
				000B                   8             ORG     000BH
				000B 216A              9             AJMP    INTT0
				                      10     
				0100                  11             ORG     0100H
				0100                  12     MAIN:   
				0100 758160           13             MOV     SP,#60H                         ;给堆栈指针赋初值
				0103 753002           14             MOV     PWMH,#02H                       ;
				0106 753201           15             MOV     COUNTER,#01H
				0109 753115           16             MOV     PWM,#15H
				010C 758902           17             MOV     TMOD,#02H                       ;定时器0在模式2下工作
				010F 758A38           18             MOV     TL0,#38H                        ;定时器每200us产生一次溢出
				0112 758C38           19             MOV     TH0,#38H                        ;自动重装的值
				0115 D2A9             20             SETB    ET0                             ;使能定时器0中断
				0117 D2AF             21             SETB    EA                              ;使能总中断
				0119 D28C             22             SETB    TR0                             ;开始计时
				011B                  23     KSCAN:  
				011B 309105           24             JNB     P1.1,K1CHECK                    ;扫描KEY1,
				011E 309223           25             JNB     P1.2,K2CHECK                    ;扫描KEY2,如果按下KEY2,跳转到KEY2处理程序
				0121 80F8             26             SJMP    KSCAN                           
				                      27     
				0123                  28     K1CHECK:
				0123 209102           29             JB      P1.1,K1HANDLE                   ;去抖动,如果按下KEY1,跳转到KEY1处理程序
				0126 80FB             30             SJMP    K1CHECK
				0128                  31     K1HANDLE:
				0128 E530             32             MOV     A,PWMH                          
				012A B53102           33             CJNE    A,PWM,K1H0                      ;判断是否到达上边界
				012D 80EC             34             SJMP    KSCAN                           ;是,则不进行任何操作
				012F                  35     K1H0:
				012F E530             36             MOV     A,PWMH
				0131 04               37             INC     A
				0132 B53106           38             CJNE    A,PWM,K1H1                      ;如果在加1后到达最大值
				0135 C28C             39             CLR     TR0                             ;定时器停止
				0137 D290             40             SETB    P1.0                            ;P1.0为高电平
				0139 8005             41             SJMP    K1H2                            
				013B                  42     K1H1:
				013B B40202           43             CJNE    A,#02H,K1H2                     ;如果加1后到达下边界
				013E D28C             44             SETB    TR0                             ;重开定时器
				0140                  45     K1H2:
				0140 0530             46             INC     PWMH                            ;增加占空比
				0142 80D7             47             SJMP    KSCAN
				                      48     
				0144                  49     K2CHECK:
				0144 209202           50             JB      P1.2,K2HANDLE                   ;去抖动,如果按下KEY2,跳转到KEY2处理程序
				0147 80FB             51             SJMP    K2CHECK
				0149                  52     K2HANDLE:
				0149 E530             53             MOV     A,PWMH
				014B B40102           54             CJNE    A,#01H,K2H0                     ;判断是否到达下边界
				014E 80CB             55             SJMP    KSCAN                           ;是,则不进行任何操作
				0150                  56     K2H0:
				0150 E530             57             MOV     A,PWMH
				0152 853133           58             MOV     TEMP,PWM
				A51 MACRO ASSEMBLER  PWM                                                                  09/17/2004 11:21:13 PAGE     2
				
				0155 14               59             DEC     A
				0156 B40106           60             CJNE    A,#01H,K2H1                     ;如果在减1后到达下边界
				0159 C28C             61             CLR     TR0                             ;定时器停止
				015B C290             62             CLR     P1.0                            ;P1.0为低电平
				015D 8007             63             SJMP    K2H2
				015F                  64     K2H1:
				015F 1533             65             DEC     TEMP
				0161 B53302           66             CJNE    A,TEMP,K2H2                     ;如果到达上边界
				0164 D28C             67             SETB    TR0                             ;启动定时器
				0166                  68     K2H2:
				0166 1530             69             DEC     PWMH                            ;降低占空比
				0168 80B1             70             SJMP    KSCAN
				                      71             
				                      72     
				016A                  73     INTT0:
				016A C0D0             74             PUSH    PSW                             ;现场保护
				016C C0E0             75             PUSH    ACC
				016E 0532             76             INC     COUNTER                         ;计数值加1
				0170 E532             77             MOV     A,COUNTER
				0172 B53002           78             CJNE    A,PWMH,INTT01                   ;如果等于高电平脉冲数
				0175 C290             79             CLR     P1.0                            ;P1.0变为低电平
				0177 B53105           80     INTT01: CJNE    A,PWM,INTT02                    ;如果等于周期数
				017A 753201           81             MOV     COUNTER,#01H                    ;计数器复位
				017D D290             82             SETB    P1.0                            ;P1.0为高电平
				017F D0E0             83     INTT02: POP     ACC                             ;出栈
				0181 D0D0             84             POP     PSW
				0183 32               85             RETI
				                      86             
				                      87             END
				A51 MACRO ASSEMBLER  PWM                                                                  09/17/2004 11:21:13 PAGE     3
				
				SYMBOL TABLE LISTING
				------ ----- -------
				
				
				N A M E             T Y P E  V A L U E   ATTRIBUTES
				
				ACC. . . . . . . .  D ADDR   00E0H   A   
				COUNTER. . . . . .  D ADDR   0032H   A   
				EA . . . . . . . .  B ADDR   00A8H.7 A   
				ET0. . . . . . . .  B ADDR   00A8H.1 A   
				INTT0. . . . . . .  C ADDR   016AH   A   
				INTT01 . . . . . .  C ADDR   0177H   A   
				INTT02 . . . . . .  C ADDR   017FH   A   
				K1CHECK. . . . . .  C ADDR   0123H   A   
				K1H0 . . . . . . .  C ADDR   012FH   A   
				K1H1 . . . . . . .  C ADDR   013BH   A   
				K1H2 . . . . . . .  C ADDR   0140H   A   
				K1HANDLE . . . . .  C ADDR   0128H   A   
				K2CHECK. . . . . .  C ADDR   0144H   A   
				K2H0 . . . . . . .  C ADDR   0150H   A   
				K2H1 . . . . . . .  C ADDR   015FH   A   
				K2H2 . . . . . . .  C ADDR   0166H   A   
				K2HANDLE . . . . .  C ADDR   0149H   A   
				KSCAN. . . . . . .  C ADDR   011BH   A   
				MAIN . . . . . . .  C ADDR   0100H   A   
				P1 . . . . . . . .  D ADDR   0090H   A   
				PSW. . . . . . . .  D ADDR   00D0H   A   
				PWM. . . . . . . .  D ADDR   0031H   A   
				PWMH . . . . . . .  D ADDR   0030H   A   
				SP . . . . . . . .  D ADDR   0081H   A   
				TEMP . . . . . . .  D ADDR   0033H   A   
				TH0. . . . . . . .  D ADDR   008CH   A   
				TL0. . . . . . . .  D ADDR   008AH   A   
				TMOD . . . . . . .  D ADDR   0089H   A   
				TR0. . . . . . . .  B ADDR   0088H.4 A   
				
				
				REGISTER BANK(S) USED: 0 
				
								ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)
							

相关资源