?? main.lis
字號:
.module main.c
.area text(rom, con, rel)
0000 .dbfile D:\桌面\avr程序設計\電機控制\main.c
0000 .dbfunc e main _main fV
.even
0000 _main::
0000 .dbline -1
0000 .dbline 7
0000 ; //文件名 main.c 工程主文件
0000 ;
0000 ; #include "config.h"
0000 ;
0000 ;
0000 ; void main(void)
0000 ; {
0000 .dbline 12
0000 ;
0000 ; /******************************************************************************/
0000 ; //初始工作
0000 ; /******************************************************************************/
0000 ; init_devices();
0000 0E940000 xcall _init_devices
0004 22C0 xjmp L3
0006 L2:
0006 .dbline 15
0006 .dbline 16
0006 0027 clr R16
0008 0E940000 xcall _for_ward
000C .dbline 17
000C 05E0 ldi R16,5
000E 10E0 ldi R17,0
0010 0E940000 xcall _Delay1s
0014 .dbline 18
0014 0E940000 xcall _motor_stop
0018 .dbline 19
0018 05E0 ldi R16,5
001A 10E0 ldi R17,0
001C 0E940000 xcall _Delay1s
0020 .dbline 20
0020 0027 clr R16
0022 0E940000 xcall _back_ward
0026 .dbline 21
0026 05E0 ldi R16,5
0028 10E0 ldi R17,0
002A 0E940000 xcall _Delay1s
002E .dbline 22
002E 04E1 ldi R16,20
0030 0E940000 xcall _speed_add
0034 .dbline 23
0034 05E0 ldi R16,5
0036 10E0 ldi R17,0
0038 0E940000 xcall _Delay1s
003C .dbline 24
003C 04E1 ldi R16,20
003E 0E940000 xcall _speed_subtract
0042 .dbline 25
0042 05E0 ldi R16,5
0044 10E0 ldi R17,0
0046 0E940000 xcall _Delay1s
004A .dbline 26
004A L3:
004A .dbline 14
004A DDCF xjmp L2
004C X0:
004C .dbline -2
004C L1:
004C .dbline 0 ; func end
004C 0895 ret
004E .dbend
.area vector(rom, abs)
.org 16
0010 0C942700 jmp _timer2_comp_isr
.area text(rom, con, rel)
004E .dbfile D:\桌面\avr程序設計\電機控制\main.c
004E .dbfunc e timer2_comp_isr _timer2_comp_isr fV
.even
004E _timer2_comp_isr::
004E .dbline -1
004E .dbline 37
004E ;
004E ; while(1)
004E ; {
004E ; for_ward(0); //默認速度運轉 正
004E ; Delay1s(5); //延時5s
004E ; motor_stop(); //停止
004E ; Delay1s(5); //延時5s
004E ; back_ward(0); //默認速度運轉 反
004E ; Delay1s(5); //延時5s
004E ; speed_add(20); //加速
004E ; Delay1s(5); //延時5s
004E ; speed_subtract(20); //減速
004E ; Delay1s(5); //延時5s
004E ; }
004E ;
004E ; }
004E ;
004E ; /******************************************************************************/
004E ; // T2 控制PWM輸出
004E ; // timer2_comp_isr不需要用,但是必須允許中斷,在中斷時有信號輸出變化
004E ; /******************************************************************************/
004E ;
004E ; #pragma interrupt_handler timer2_comp_isr:5
004E ; void timer2_comp_isr(void)
004E ; {
004E .dbline -2
004E L5:
004E .dbline 0 ; func end
004E 1895 reti
0050 .dbend
.area vector(rom, abs)
.org 20
0014 0C942800 jmp _timer2_ovf_isr
.area text(rom, con, rel)
0050 .dbfile D:\桌面\avr程序設計\電機控制\main.c
0050 .dbfunc e timer2_ovf_isr _timer2_ovf_isr fV
.even
0050 _timer2_ovf_isr::
0050 8A93 st -y,R24
0052 8FB7 in R24,0x3f
0054 8A93 st -y,R24
0056 .dbline -1
0056 .dbline 42
0056 ; //compare occured TCNT0=OCR0
0056 ; }
0056 ; #pragma interrupt_handler timer2_ovf_isr:6
0056 ; void timer2_ovf_isr(void)
0056 ; {
0056 .dbline 43
0056 ; TCNT2 = 0x01;//reload counter value
0056 81E0 ldi R24,1
0058 84BD out 0x24,R24
005A .dbline -2
005A L6:
005A 8991 ld R24,y+
005C 8FBF out 0x3f,R24
005E 8991 ld R24,y+
0060 .dbline 0 ; func end
0060 1895 reti
0062 .dbend
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -