📄 pwm.lis
字号:
.module pwm.c
.area text(rom, con, rel)
0000 .dbfile pwm.c
0000 .dbfile E:\课件\128最小系统板\AVR程序\pwm.c
0000 .dbfunc e PWM _PWM fV
.even
0000 _PWM::
0000 .dbline -1
0000 .dbline 15
0000 ; #include<iom128v.h>
0000 ; #include"PWM.h"
0000 ; //#include<macros.h>
0000 ; /********pwm产生函数*********/
0000 ; /*-----------------------------------------
0000 ; 程序名称: PWM波形产生
0000 ; 程序功能: 产生1k频率,占空比可调
0000 ; 注意事项:
0000 ; 提示说明: 通道对应IO:PE3 PE4 PE5 PB7
0000 ; 输 入: 各个通道的占空比
0000 ; 返 回: 无
0000 ; -----------------------------------------*/
0000 ;
0000 ; void PWM(void)//unsigned char ta,unsigned char tb,unsigned char tc,unsigned char td
0000 ; {
0000 .dbline 17
0000 ;
0000 ; TIMSK =0x00;
0000 2224 clr R2
0002 27BE out 0x37,R2
0004 .dbline 18
0004 ; ETIMSK=0x00;
0004 20927D00 sts 125,R2
0008 .dbline 20
0008 ;
0008 ; DDRE|= 0xff;//设置为输出 38
0008 82B1 in R24,0x2
000A 8F6F ori R24,255
000C 82B9 out 0x2,R24
000E .dbline 21
000E ; TCNT3=0x0000;
000E 3324 clr R3
0010 30928900 sts 136+1,R3
0014 20928800 sts 136,R2
0018 .dbline 22
0018 ; TCCR3A=0xff;//设置波形模式 十位快速PWM
0018 8FEF ldi R24,255
001A 80938B00 sts 139,R24
001E .dbline 23
001E ; TCCR3B=0X0a;//以及时钟选择,8分频
001E 8AE0 ldi R24,10
0020 80938A00 sts 138,R24
0024 .dbline 24
0024 ; OCR3A=490;//通道1的占空比
0024 8AEE ldi R24,490
0026 91E0 ldi R25,1
0028 90938700 sts 134+1,R25
002C 80938600 sts 134,R24
0030 .dbline 25
0030 ; OCR3B=222;//通道2的占空比
0030 8EED ldi R24,222
0032 90E0 ldi R25,0
0034 90938500 sts 132+1,R25
0038 80938400 sts 132,R24
003C .dbline 26
003C ; OCR3C=400;//通道3的占空比
003C 80E9 ldi R24,400
003E 91E0 ldi R25,1
0040 90938300 sts 130+1,R25
0044 80938200 sts 130,R24
0048 .dbline 28
0048 ;
0048 ; DDRB|=0xF0;
0048 87B3 in R24,0x17
004A 806F ori R24,240
004C 87BB out 0x17,R24
004E .dbline 29
004E ; TCNT1=0x0000;
004E 3DBC out 0x2d,R3
0050 2CBC out 0x2c,R2
0052 .dbline 30
0052 ; TCCR1A=0xFF;//设置波形模式 十位快速PWM
0052 8FEF ldi R24,255
0054 8FBD out 0x2f,R24
0056 .dbline 31
0056 ; TCCR1B=0X0a;//以及时钟选择,8分频
0056 8AE0 ldi R24,10
0058 8EBD out 0x2e,R24
005A .dbline 32
005A ; OCR1A=490;//通道1的占空比
005A 8AEE ldi R24,234
005C 9BBD out 0x2b,R25
005E 8ABD out 0x2a,R24
0060 .dbline 33
0060 ; OCR1B=222;//通道2的占空比
0060 8EED ldi R24,222
0062 90E0 ldi R25,0
0064 99BD out 0x29,R25
0066 88BD out 0x28,R24
0068 .dbline 34
0068 ; OCR1C=600;//(unsigned long int)(1024)*td/100;//通道4的占空比
0068 88E5 ldi R24,600
006A 92E0 ldi R25,2
006C 90937900 sts 120+1,R25
0070 80937800 sts 120,R24
0074 .dbline -2
0074 L1:
0074 .dbline 0 ; func end
0074 0895 ret
0076 .dbend
0076 ;
0076 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -