?? int_device02.lis
字號:
.module int_device02.c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\Administrator.1B4135EF7FF9405\桌面\電機試用\time0_ctc---電機調試\int_device02.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 7
0000 ; //ICC-AVR application builder : 2006-9-7 0:27:10
0000 ; // Target : M32
0000 ; // Crystal: 7.3728Mhz
0000 ; #include "config.h"
0000 ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 8
0000 ; PORTA = 0x00;
0000 2224 clr R2
0002 2BBA out 0x1b,R2
0004 .dbline 9
0004 ; DDRA = 0x00;
0004 2ABA out 0x1a,R2
0006 .dbline 10
0006 ; PORTB = 0x00;
0006 28BA out 0x18,R2
0008 .dbline 11
0008 ; DDRB = 0xFF;
0008 8FEF ldi R24,255
000A 87BB out 0x17,R24
000C .dbline 12
000C ; PORTC = 0x00;
000C 25BA out 0x15,R2
000E .dbline 13
000E ; DDRC = 0x00;
000E 24BA out 0x14,R2
0010 .dbline 14
0010 ; PORTD = 0x00;
0010 22BA out 0x12,R2
0012 .dbline 15
0012 ; DDRD = 0x80;
0012 80E8 ldi R24,128
0014 81BB out 0x11,R24
0016 .dbline -2
0016 L1:
0016 .dbline 0 ; func end
0016 0895 ret
0018 .dbend
0018 .dbfunc e timer0_init _timer0_init fV
.even
0018 _timer0_init::
0018 .dbline -1
0018 .dbline 23
0018 ; }
0018 ;
0018 ; //============timer1 PWM輸出==================//
0018 ; //TIMER0 initialize - prescale:1024
0018 ; // desired value: 25mSec
0018 ; // actual value: 25.000mSec (0.0%)
0018 ; void timer0_init(void)
0018 ; {
0018 .dbline 24
0018 ; TCCR0 = 0x00; //stop
0018 2224 clr R2
001A 23BE out 0x33,R2
001C .dbline 25
001C ; TCNT0= 0x01; //set count
001C 81E0 ldi R24,1
001E 82BF out 0x32,R24
0020 .dbline 26
0020 ; OCR0 = 0x66; //set compare
0020 86E6 ldi R24,102
0022 8CBF out 0x3c,R24
0024 .dbline 27
0024 ; TCCR0 = (1<<WGM00)|(1<<WGM01)|(1<<COM01)|0x04;//0x04 0100B 代表256預分頻
0024 8CE6 ldi R24,108
0026 83BF out 0x33,R24
0028 .dbline -2
0028 L2:
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbend
002A .dbfunc e init_devices _init_devices fV
.even
002A _init_devices::
002A .dbline -1
002A .dbline 34
002A ; }
002A ;
002A ; //TIMER1 initialize - prescale:8
002A ; // desired value: 50mSec
002A ; // actual value: 50mSec (0.0%)
002A ; void init_devices(void)
002A ; {
002A .dbline 35
002A ; CLI(); //disable all interrupts
002A F894 cli
002C .dbline 36
002C ; port_init();
002C E9DF xcall _port_init
002E .dbline 37
002E ; timer0_init();
002E F4DF xcall _timer0_init
0030 .dbline 39
0030 ;
0030 ; MCUCR = 0x00;
0030 2224 clr R2
0032 25BE out 0x35,R2
0034 .dbline 40
0034 ; GICR = 0x00;
0034 2BBE out 0x3b,R2
0036 .dbline 41
0036 ; TIMSK|=(1<<TOIE0)|(1<<OCIE0); //允許溢出中斷和比較匹配中斷
0036 89B7 in R24,0x39
0038 8360 ori R24,3
003A 89BF out 0x39,R24
003C .dbline 42
003C ; SEI(); //re-enable interrupts
003C 7894 sei
003E .dbline -2
003E L3:
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbend
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -