📄 time2.lis
字号:
.module time2.c
.area text(rom, con, rel)
0000 .dbfile E:\TWINTI~1\time2.c
0000 .dbfunc e timer2_init _timer2_init fV
.even
0000 _timer2_init::
0000 .dbline -1
0000 .dbline 30
0000 ; /********************************************************************************/
0000 ; //
0000 ; // builder : 2007-04-10
0000 ; // Target : ATMEAG 48V
0000 ; // Crystal : 内部 8.00 MHz
0000 ; //
0000 ; // PWM 模块
0000 ;
0000 ; /********************************************************************************/
0000 ;
0000 ;
0000 ; #include <iom48v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ;
0000 ; #define CLR_REV1 PORTD &= ~(1<<PD6)
0000 ; #define SET_REV1 PORTD |= (1<<PD6)
0000 ;
0000 ; #define CLR_JUST1 PORTB &= ~(1<<PB4)
0000 ; #define SET_JUST1 PORTB |= (1<<PB4)
0000 ;
0000 ;
0000 ;
0000 ; //TIMER0 initialize - prescale:8
0000 ; // desired value: 1Hz
0000 ; // actual value: Out of range
0000 ; extern void timer2_init(void)
0000 ; {
0000 .dbline 31
0000 ; TCCR2B = 0x00; //stop
0000 2224 clr R2
0002 2092B100 sts 177,R2
0006 .dbline 32
0006 ; ASSR = 0x00; //set async mode
0006 2092B600 sts 182,R2
000A .dbline 33
000A ; TCNT2 = 0x01; //setup
000A 81E0 ldi R24,1
000C 8093B200 sts 178,R24
0010 .dbline 34
0010 ; TCCR2A = 0xA1;
0010 81EA ldi R24,161
0012 8093B000 sts 176,R24
0016 .dbline 35
0016 ; OCR2B = 0x00;
0016 2092B400 sts 180,R2
001A .dbline 36
001A ; TCCR2B = 0x02;
001A 82E0 ldi R24,2
001C 8093B100 sts 177,R24
0020 .dbline -2
0020 L1:
0020 .dbline 0 ; func end
0020 0895 ret
0022 .dbend
0022 .dbfunc e Pwm_set _Pwm_set fV
0022 ; rev -> R18
0022 ; pwm -> R16
.even
0022 _Pwm_set::
0022 .dbline -1
0022 .dbline 44
0022 ; }
0022 ;
0022 ; /*---------------------------------------------------------------
0022 ; PWM 占空比设置
0022 ; ----------------------------------------------------------------*/
0022 ;
0022 ; extern void Pwm_set(uchar pwm,uchar rev)
0022 ; {
0022 .dbline 45
0022 ; if(rev==2)
0022 2230 cpi R18,2
0024 41F4 brne L3
0026 .dbline 46
0026 ; {
0026 .dbline 47
0026 ; OCR2A = 0;
0026 2224 clr R2
0028 2092B300 sts 179,R2
002C .dbline 48
002C ; OCR2B = pwm;
002C 0093B400 sts 180,R16
0030 .dbline 49
0030 ; CLR_REV1;
0030 5E98 cbi 0xb,6
0032 .dbline 50
0032 ; SET_JUST1;
0032 2C9A sbi 0x5,4
0034 .dbline 51
0034 ; }
0034 1AC0 rjmp L4
0036 L3:
0036 .dbline 52
0036 ; else if(rev==1)
0036 2130 cpi R18,1
0038 41F4 brne L5
003A .dbline 53
003A ; {
003A .dbline 54
003A ; OCR2A = pwm;
003A 0093B300 sts 179,R16
003E .dbline 55
003E ; OCR2B = 0;
003E 2224 clr R2
0040 2092B400 sts 180,R2
0044 .dbline 56
0044 ; SET_REV1;
0044 5E9A sbi 0xb,6
0046 .dbline 57
0046 ; CLR_JUST1;
0046 2C98 cbi 0x5,4
0048 .dbline 58
0048 ; }
0048 10C0 rjmp L6
004A L5:
004A .dbline 59
004A ; else if(rev==3)
004A 2330 cpi R18,3
004C 39F4 brne L7
004E .dbline 60
004E ; {
004E .dbline 61
004E ; OCR2A = pwm;
004E 0093B300 sts 179,R16
0052 .dbline 62
0052 ; OCR2B = pwm;
0052 0093B400 sts 180,R16
0056 .dbline 63
0056 ; CLR_REV1;
0056 5E98 cbi 0xb,6
0058 .dbline 64
0058 ; CLR_JUST1;
0058 2C98 cbi 0x5,4
005A .dbline 65
005A ; }
005A 07C0 rjmp L8
005C L7:
005C .dbline 67
005C ; else
005C ; {
005C .dbline 68
005C ; OCR2A = 0;
005C 2224 clr R2
005E 2092B300 sts 179,R2
0062 .dbline 69
0062 ; OCR2B = 0;
0062 2092B400 sts 180,R2
0066 .dbline 70
0066 ; CLR_REV1;
0066 5E98 cbi 0xb,6
0068 .dbline 71
0068 ; CLR_JUST1;
0068 2C98 cbi 0x5,4
006A .dbline 72
006A ; }
006A L8:
006A L6:
006A L4:
006A .dbline -2
006A L2:
006A .dbline 0 ; func end
006A 0895 ret
006C .dbsym r rev 18 c
006C .dbsym r pwm 16 c
006C .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -