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

📄 pwmtest.lst

📁 PIC18F452 PWM程序,CCP1 CCP2模拟程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
00008a   cff8     MOVFF     0xff8,0x89                                                                                      
00008c   f089                                                                                                               
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                 /* now assign the source address to the table pointer */                   C:\mcc18\src\traditional\startup\c018i.c
00008e   c080     MOVFF     0x80,0xff6           TBLPTR = prom;                                                             C:\mcc18\src\traditional\startup\c018i.c
000090   fff6                                                                                                               
000092   c081     MOVFF     0x81,0xff7                                                                                      
000094   fff7                                                                                                               
000096   c082     MOVFF     0x82,0xff8                                                                                      
000098   fff8                                                                                                               
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                 /* do the copy loop */                                                     C:\mcc18\src\traditional\startup\c018i.c
                                                 _asm                                                                       C:\mcc18\src\traditional\startup\c018i.c
                                                   // determine if we have any more bytes to copy                           C:\mcc18\src\traditional\startup\c018i.c
00009a   0100     MOVLB     0x0            	movlb curr_byte                                                                 C:\mcc18\src\traditional\startup\c018i.c
00009c   5383     MOVF      0x83,0x1,0x1   	movf curr_byte, 1, 1                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           copy_loop:                                                                       C:\mcc18\src\traditional\startup\c018i.c
00009e   e102     BNZ       0xa4           	bnz 2 // copy_one_byte                                                          C:\mcc18\src\traditional\startup\c018i.c
0000a0   5384     MOVF      0x84,0x1,0x1   	movf curr_byte + 1, 1, 1                                                        C:\mcc18\src\traditional\startup\c018i.c
0000a2   e007     BZ        0xb2           	bz 7 // done_copying                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           copy_one_byte:                                                                   C:\mcc18\src\traditional\startup\c018i.c
0000a4   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
0000a6   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
0000a8   6eee     MOVWF     0xee,0x0       	movwf POSTINC0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           	// decrement byte counter                                                       C:\mcc18\src\traditional\startup\c018i.c
0000aa   0783     DECF      0x83,0x1,0x1   	decf curr_byte, 1, 1                                                            C:\mcc18\src\traditional\startup\c018i.c
0000ac   e2f8     BC        0x9e           	bc -8 // copy_loop                                                              C:\mcc18\src\traditional\startup\c018i.c
0000ae   0784     DECF      0x84,0x1,0x1           decf curr_byte + 1, 1, 1                                                 C:\mcc18\src\traditional\startup\c018i.c
0000b0   d7f9     BRA       0xa4           	bra -7 // copy_one_byte                                                         C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           done_copying:                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                 _endasm                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                 /* restore the table pointer for the next entry */                         C:\mcc18\src\traditional\startup\c018i.c
0000b2   c087     MOVFF     0x87,0xff6           TBLPTR = data_ptr;                                                         C:\mcc18\src\traditional\startup\c018i.c
0000b4   fff6                                                                                                               
0000b6   c088     MOVFF     0x88,0xff7                                                                                      
0000b8   fff7                                                                                                               
0000ba   c089     MOVFF     0x89,0xff8                                                                                      
0000bc   fff8                                                                                                               
                                                 /* next entry... */                                                        C:\mcc18\src\traditional\startup\c018i.c
0000be   0100     MOVLB     0x0                  curr_entry--;                                                              C:\mcc18\src\traditional\startup\c018i.c
0000c0   0785     DECF      0x85,0x1,0x1                                                                                    
0000c2   0e00     MOVLW     0x0                                                                                             
0000c4   5b86     SUBWFB    0x86,0x1,0x1                                                                                    
0000c6   d7bf     BRA       0x46                 goto test;                                                                 C:\mcc18\src\traditional\startup\c018i.c
                                           done:                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           ;                                                                                C:\mcc18\src\traditional\startup\c018i.c
0000c8   0012     RETURN    0x0            }                                                                                C:\mcc18\src\traditional\startup\c018i.c
                                           #include	"p18f452.h"	                                                            F:\PWMTest\PWM3.c
                                           /* ****************************************************************              F:\PWMTest\PWM3.c
                                           ** 函 数 名: initial()                                                           F:\PWMTest\PWM3.c
                                           ** 功能描述: 系统初始化子程序,放在程序首部                                      F:\PWMTest\PWM3.c
                                           *************************************************************** */               F:\PWMTest\PWM3.c
                                           void	initial(void)                                                               F:\PWMTest\PWM3.c
                                           {                                                                                F:\PWMTest\PWM3.c
0000ca   6af2     CLRF      0xf2,0x0       	INTCON=0x00;		//* bit7-bit0:关总中断 */                                         F:\PWMTest\PWM3.c
0000cc   0e07     MOVLW     0x7            	ADCON1=0X07;		//* 设置数字输入输出口 */                                         F:\PWMTest\PWM3.c
0000ce   6ec1     MOVWF     0xc1,0x0                                                                                        
0000d0   6a9d     CLRF      0x9d,0x0       	PIE1=0;				//* PIE1 的中断不使能 */			                                          F:\PWMTest\PWM3.c
0000d2   6aa0     CLRF      0xa0,0x0       	PIE2=0;				//* PIE2 的中断不使能 */	                                            F:\PWMTest\PWM3.c
                                           //	PIE3=0;				//* PIE3 的中断不使能 */	                                          F:\PWMTest\PWM3.c
0000d4   0012     RETURN    0x0            }                                                                                F:\PWMTest\PWM3.c
                                           /* 	**************************************************************               F:\PWMTest\PWM3.c
                                           **	函 数 名: PWMSet()                                                            F:\PWMTest\PWM3.c
                                           **	功    能:CCP1输出PWM设置,设置完成后即输出PWM                                F:\PWMTest\PWM3.c
                                           ****************************************************************** */            F:\PWMTest\PWM3.c
                                           //设置PWM 操作                                                                   F:\PWMTest\PWM3.c
                                           //通过以下步骤将CCP 模块配置为PWM 操作:                                         F:\PWMTest\PWM3.c
                                           //1. 写入PR2 寄存器以设定PWM 周期。                                              F:\PWMTest\PWM3.c
                                           //2. 写入CCPR1L 寄存器和CCP1CON<5:4> 位以设置PWM 占空比。                        F:\PWMTest\PWM3.c
                                           //3. 将TRISC<2> 位清零以将CCP1 引脚设为输出。                                    F:\PWMTest\PWM3.c
                                           //4. 写入T2CON 以设置TMR2 预分频值并使能Timer2。                                 F:\PWMTest\PWM3.c
                                           //5. 将CCP1 模块配置为PWM 模式。                                                 F:\PWMTest\PWM3.c
                                           //6. speed为速度,取值范围从0~127                                               F:\PWMTest\PWM3.c
                                                                                                                            F:\PWMTest\PWM3.c
                                           void PWMinit(void)                                                               F:\PWMTest\PWM3.c
0000d6   0e7f     MOVLW     0x7f           {	PR2=0X7F;		//* 设置PWM工作周期=((PR2)+1)*4*Tosc*(TMR2前分频值);Tosc=fosc/4*/  7F--25K F:\PWMTest\PWM3.c
0000d8   6ecb     MOVWF     0xcb,0x0                                                                                        
0000da   6abe     CLRF      0xbe,0x0       	CCPR1L=0;		//* CCP1高电平值高8位为1000 0000=80,占空比0 */                      F:\PWMTest\PWM3.c

⌨️ 快捷键说明

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