📄 pwmtest.lst
字号:
0000dc 6abb CLRF 0xbb,0x0 CCPR2L=0; //* CCP2高电平值高8位为1000 0000=80,占空比0 */ F:\PWMTest\PWM3.c
0000de 0ef9 MOVLW 0xf9 TRISC=TRISC&0XF9; //* 设置CCP1(RC2)引脚为输出方式 */ F:\PWMTest\PWM3.c
0000e0 1494 ANDWF 0x94,0x0,0x0
0000e2 6e94 MOVWF 0x94,0x0
//TRISC=TRISC&0XFD; //* 设置CCP2(RC1)引脚为输出方式 */ F:\PWMTest\PWM3.c
0000e4 0e0c MOVLW 0xc CCP1CON=0X0C; //* CCP1模块为PWM工作方式,高电平值低2位为00*/ F:\PWMTest\PWM3.c
0000e6 6ebd MOVWF 0xbd,0x0
0000e8 6eba MOVWF 0xba,0x0 CCP2CON=0X0C; //* CCP2模块为PWM工作方式,高电平值低2位为00*/ F:\PWMTest\PWM3.c
0000ea 0e04 MOVLW 0x4 T2CON=0X04; //* 打开TMR2,且使其前后分频为1,同时开始输出PWM波形 */ F:\PWMTest\PWM3.c
0000ec 6eca MOVWF 0xca,0x0
0000ee 9a9d BCF 0x9d,0x5,0x0 PIE1bits.RCIE=0; //CCP1IE=0; //* CCP1中断禁止 */ F:\PWMTest\PWM3.c
0000f0 0012 RETURN 0x0 } F:\PWMTest\PWM3.c
0000f2 cfd9 MOVFF 0xfd9,0xfe6 void PWMSet1(unsigned char speed) F:\PWMTest\PWM3.c
0000f4 ffe6
0000f6 cfe1 MOVFF 0xfe1,0xfd9
0000f8 ffd9
{ F:\PWMTest\PWM3.c
0000fa 0efe MOVLW 0xfe CCPR1L=speed; //* CCP1高电平值高8位为speed */ F:\PWMTest\PWM3.c
0000fc 50db MOVF 0xdb,0x0,0x0
0000fe 6ebe MOVWF 0xbe,0x0
000100 52e5 MOVF 0xe5,0x1,0x0 } F:\PWMTest\PWM3.c
000102 cfe7 MOVFF 0xfe7,0xfd9
000104 ffd9
000106 0012 RETURN 0x0
F:\PWMTest\PWM3.c
000108 cfd9 MOVFF 0xfd9,0xfe6 void PWMSet2(unsigned char speed) F:\PWMTest\PWM3.c
00010a ffe6
00010c cfe1 MOVFF 0xfe1,0xfd9
00010e ffd9
{ F:\PWMTest\PWM3.c
000110 0efe MOVLW 0xfe CCPR2L=speed; //* CCP2高电平值高8位为speed */ F:\PWMTest\PWM3.c
000112 50db MOVF 0xdb,0x0,0x0
000114 6ebb MOVWF 0xbb,0x0
000116 52e5 MOVF 0xe5,0x1,0x0 } F:\PWMTest\PWM3.c
000118 cfe7 MOVFF 0xfe7,0xfd9
00011a ffd9
00011c 0012 RETURN 0x0
F:\PWMTest\PWM3.c
void main(void) F:\PWMTest\PWM3.c
{ F:\PWMTest\PWM3.c
00011e dfd5 RCALL 0xca initial(); //* 系统初始化子程序 */ F:\PWMTest\PWM3.c
000120 dfda RCALL 0xd6 PWMinit(); F:\PWMTest\PWM3.c
000122 8ed0 BSF 0xd0,0x7,0x0 RCONbits.IPEN=1; // 使能中断高低优先级 F:\PWMTest\PWM3.c
000124 0ec0 MOVLW 0xc0 INTCON=INTCON|0xc0; // 开总中断、开外围接口中断 F:\PWMTest\PWM3.c
000126 10f2 IORWF 0xf2,0x0,0x0
000128 6ef2 MOVWF 0xf2,0x0
F:\PWMTest\PWM3.c
00013a d7f7 BRA 0x12a while(1) F:\PWMTest\PWM3.c
{ F:\PWMTest\PWM3.c
00012a 0e46 MOVLW 0x46 PWMSet1(70); F:\PWMTest\PWM3.c
00012c 6ee6 MOVWF 0xe6,0x0
00012e dfe1 RCALL 0xf2
000130 52e5 MOVF 0xe5,0x1,0x0
000132 0e7f MOVLW 0x7f PWMSet2(127); F:\PWMTest\PWM3.c
000134 6ee6 MOVWF 0xe6,0x0
000136 dfe8 RCALL 0x108
000138 52e5 MOVF 0xe5,0x1,0x0
} F:\PWMTest\PWM3.c
00013c 0012 RETURN 0x0 } F:\PWMTest\PWM3.c
LIST P=18F452 C:\MCC18\SRC\TRADIT~1\PROC\p18f452.asm
LIST C:\MCC18\SRC\TRADIT~1\PROC\p18f452.asm
END C:\MCC18\SRC\TRADIT~1\PROC\p18f452.asm
; RCS Header $Id: cmath18.asm,v 1.1 2003/12/09 22:53:19 GrosbaJ Exp $ C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
; CMATH18 DATA DEFINITION FILE C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
;******************************************************************************* C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
; VARIABLE ALLOCATION - Core math library routines C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
;******************************************************************************* C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
MATH_DATA UDATA_ACS C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
SIGN RES 1 ; save location for sign in MSB C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
FPFLAGS RES 1 ; floating point library exception flags C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
GLOBAL SIGN, FPFLAGS C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
END C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -