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

📄 pwm.lis

📁 atmega128串行操作lcd12864
💻 LIS
字号:
                        .module pwm.c
                        .area text(rom, con, rel)
 0000                   .dbfile pwm.c
                        .area data(ram, con, rel)
 0000                   .dbfile pwm.c
 0000           _pwm1::
 0000                   .blkb 2
                        .area idata
 0000 6400              .word 100
                        .area data(ram, con, rel)
 0002                   .dbfile pwm.c
 0002                   .dbfile E:\课件\128最小系统板\AVR程序\pwm\pwm.c
 0002                   .dbsym e pwm1 _pwm1 i
 0002           _pwm2::
 0002                   .blkb 2
                        .area idata
 0002 6400              .word 100
                        .area data(ram, con, rel)
 0004                   .dbfile E:\课件\128最小系统板\AVR程序\pwm\pwm.c
 0004                   .dbsym e pwm2 _pwm2 i
                        .area text(rom, con, rel)
 0000                   .dbfile E:\课件\128最小系统板\AVR程序\pwm\pwm.c
 0000                   .dbfunc e int_io _int_io fV
                        .even
 0000           _int_io::
 0000                   .dbline -1
 0000                   .dbline 5
 0000           ; #include<iom128v.h>
 0000           ; #define uint unsigned int
 0000           ; uint pwm1=100,pwm2=100;
 0000           ; void int_io(void)
 0000           ; {
 0000                   .dbline 6
 0000           ; TCCR1A=0XFF;//三通道
 0000 8FEF              ldi R24,255
 0002 8FBD              out 0x2f,R24
 0004                   .dbline 7
 0004           ; TCCR1B=0X0A;//8分频   0x09不分频
 0004 8AE0              ldi R24,10
 0006 8EBD              out 0x2e,R24
 0008                   .dbline 8
 0008           ; TCNT1=0X0000;
 0008 2224              clr R2
 000A 3324              clr R3
 000C 3DBC              out 0x2d,R3
 000E 2CBC              out 0x2c,R2
 0010                   .dbline 9
 0010           ; TIMSK=0X00;
 0010 27BE              out 0x37,R2
 0012                   .dbline 10
 0012           ; ETIMSK=0X00;
 0012 20927D00          sts 125,R2
 0016                   .dbline 11
 0016           ; DDRB=0XFF;
 0016 8FEF              ldi R24,255
 0018 87BB              out 0x17,R24
 001A                   .dbline 12
 001A           ; OCR1A=pwm1;
 001A 20900000          lds R2,_pwm1
 001E 30900100          lds R3,_pwm1+1
 0022 3BBC              out 0x2b,R3
 0024 2ABC              out 0x2a,R2
 0026                   .dbline 13
 0026           ; OCR1B=pwm2;
 0026 20900200          lds R2,_pwm2
 002A 30900300          lds R3,_pwm2+1
 002E 39BC              out 0x29,R3
 0030 28BC              out 0x28,R2
 0032                   .dbline -2
 0032           L1:
 0032                   .dbline 0 ; func end
 0032 0895              ret
 0034                   .dbend
 0034                   .dbfunc e main _main fV
                        .even
 0034           _main::
 0034                   .dbline -1
 0034                   .dbline 16
 0034           ; }
 0034           ; void main(void)
 0034           ; {
 0034                   .dbline 17
 0034           ; DDRA=0XFF;
 0034 8FEF              ldi R24,255
 0036 8ABB              out 0x1a,R24
 0038                   .dbline 18
 0038           ; PORTA=0XF0;
 0038 80EF              ldi R24,240
 003A 8BBB              out 0x1b,R24
 003C                   .dbline 19
 003C           ; DDRD=0X00;
 003C 2224              clr R2
 003E 21BA              out 0x11,R2
 0040                   .dbline 20
 0040           ; PORTD=0XFF;
 0040 8FEF              ldi R24,255
 0042 82BB              out 0x12,R24
 0044                   .dbline 21
 0044           ; int_io();
 0044 DDDF              xcall _int_io
 0046 54C0              xjmp L4
 0048           L3:
 0048                   .dbline 23
 0048           ; while(1)
 0048           ; {
 0048                   .dbline 25
 0048           ; 
 0048           ; if(PIND==0XFE)
 0048 80B3              in R24,0x10
 004A 8E3F              cpi R24,254
 004C 91F4              brne L6
 004E           X0:
 004E                   .dbline 26
 004E           ; {
 004E                   .dbline 27
 004E           ; pwm1=pwm1-100;
 004E 80910000          lds R24,_pwm1
 0052 90910100          lds R25,_pwm1+1
 0056 8456              subi R24,100
 0058 9040              sbci R25,0
 005A 90930100          sts _pwm1+1,R25
 005E 80930000          sts _pwm1,R24
 0062                   .dbline 28
 0062           ; OCR1A=pwm1;
 0062 9BBD              out 0x2b,R25
 0064 8ABD              out 0x2a,R24
 0066                   .dbline 29
 0066           ; OCR1B=pwm2;
 0066 20900200          lds R2,_pwm2
 006A 30900300          lds R3,_pwm2+1
 006E 39BC              out 0x29,R3
 0070 28BC              out 0x28,R2
 0072                   .dbline 30
 0072           ; }
 0072           L6:
 0072                   .dbline 31
 0072           ; if(PIND==0XFD)
 0072 80B3              in R24,0x10
 0074 8D3F              cpi R24,253
 0076 91F4              brne L8
 0078           X1:
 0078                   .dbline 32
 0078           ; {
 0078                   .dbline 33
 0078           ; pwm2=pwm2-100;
 0078 80910200          lds R24,_pwm2
 007C 90910300          lds R25,_pwm2+1
 0080 8456              subi R24,100
 0082 9040              sbci R25,0
 0084 90930300          sts _pwm2+1,R25
 0088 80930200          sts _pwm2,R24
 008C                   .dbline 34
 008C           ; OCR1A=pwm1;
 008C 20900000          lds R2,_pwm1
 0090 30900100          lds R3,_pwm1+1
 0094 3BBC              out 0x2b,R3
 0096 2ABC              out 0x2a,R2
 0098                   .dbline 35
 0098           ; OCR1B=pwm2;
 0098 99BD              out 0x29,R25
 009A 88BD              out 0x28,R24
 009C                   .dbline 36
 009C           ; }
 009C           L8:
 009C                   .dbline 37
 009C           ; if(PIND==0XFB)
 009C 80B3              in R24,0x10
 009E 8B3F              cpi R24,251
 00A0 91F4              brne L10
 00A2           X2:
 00A2                   .dbline 38
 00A2           ; {
 00A2                   .dbline 39
 00A2           ; pwm1=pwm1+100;
 00A2 80910000          lds R24,_pwm1
 00A6 90910100          lds R25,_pwm1+1
 00AA 8C59              subi R24,156  ; offset = 100
 00AC 9F4F              sbci R25,255
 00AE 90930100          sts _pwm1+1,R25
 00B2 80930000          sts _pwm1,R24
 00B6                   .dbline 40
 00B6           ; OCR1A=pwm1;
 00B6 9BBD              out 0x2b,R25
 00B8 8ABD              out 0x2a,R24
 00BA                   .dbline 41
 00BA           ; OCR1B=pwm2;
 00BA 20900200          lds R2,_pwm2
 00BE 30900300          lds R3,_pwm2+1
 00C2 39BC              out 0x29,R3
 00C4 28BC              out 0x28,R2
 00C6                   .dbline 42
 00C6           ; }
 00C6           L10:
 00C6                   .dbline 43
 00C6           ; if(PIND==0XF7)
 00C6 80B3              in R24,0x10
 00C8 873F              cpi R24,247
 00CA 91F4              brne L12
 00CC           X3:
 00CC                   .dbline 44
 00CC           ; {
 00CC                   .dbline 45
 00CC           ; pwm2=pwm2+100;
 00CC 80910200          lds R24,_pwm2
 00D0 90910300          lds R25,_pwm2+1
 00D4 8C59              subi R24,156  ; offset = 100
 00D6 9F4F              sbci R25,255
 00D8 90930300          sts _pwm2+1,R25
 00DC 80930200          sts _pwm2,R24
 00E0                   .dbline 46
 00E0           ; OCR1A=pwm1;
 00E0 20900000          lds R2,_pwm1
 00E4 30900100          lds R3,_pwm1+1
 00E8 3BBC              out 0x2b,R3
 00EA 2ABC              out 0x2a,R2
 00EC                   .dbline 47
 00EC           ; OCR1B=pwm2;
 00EC 99BD              out 0x29,R25
 00EE 88BD              out 0x28,R24
 00F0                   .dbline 48
 00F0           ; }
 00F0           L12:
 00F0                   .dbline 49
 00F0           ; }
 00F0           L4:
 00F0                   .dbline 22
 00F0 ABCF              xjmp L3
 00F2           X4:
 00F2                   .dbline -2
 00F2           L2:
 00F2                   .dbline 0 ; func end
 00F2 0895              ret
 00F4                   .dbend
 00F4           ; }

⌨️ 快捷键说明

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