📄 num-tiner0.lis
字号:
.module num-tiner0.c
.area data(ram, con, rel)
0000 _lednum::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
0001 .dbsym e lednum _lednum c
0001 _lednum1::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
0002 .dbsym e lednum1 _lednum1 c
0002 _lednum2::
0002 .blkb 1
.area idata
0002 00 .byte 0
.area data(ram, con, rel)
0003 .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
0003 .dbsym e lednum2 _lednum2 c
0003 _lednum3::
0003 .blkb 1
.area idata
0003 00 .byte 0
.area data(ram, con, rel)
0004 .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
0004 .dbsym e lednum3 _lednum3 c
0004 _lednum4::
0004 .blkb 1
.area idata
0004 00 .byte 0
.area data(ram, con, rel)
0005 .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
0005 .dbsym e lednum4 _lednum4 c
0005 _num::
0005 .blkb 2
.area idata
0005 3F06 .byte 63,6
.area data(ram, con, rel)
0007 .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
0007 .blkb 2
.area idata
0007 5B4F .byte 91,'O
.area data(ram, con, rel)
0009 .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
0009 .blkb 2
.area idata
0009 666D .byte 'f,'m
.area data(ram, con, rel)
000B .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
000B .blkb 2
.area idata
000B 7D07 .byte 125,7
.area data(ram, con, rel)
000D .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
000D .blkb 2
.area idata
000D 7F6F .byte 127,'o
.area data(ram, con, rel)
000F .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
000F .dbsym e num _num A[10:10]c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 19
0000 ; //ICC-AVR application builder : 2005-3-8 下午 04:53:49
0000 ; // Target : M8
0000 ; // Crystal: 11.059Mhz
0000 ;
0000 ; #include <iom8v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; //lednum全局变量
0000 ; char lednum = 0;
0000 ; char lednum1 = 0;
0000 ; char lednum2 = 0;
0000 ; char lednum3 = 0;
0000 ; char lednum4 = 0;
0000 ; //码表
0000 ; char num[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
0000 ;
0000 ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 20
0000 ; PORTB = 0xFF;
0000 8FEF ldi R24,255
0002 88BB out 0x18,R24
0004 .dbline 21
0004 ; DDRB = 0xFF;
0004 87BB out 0x17,R24
0006 .dbline 22
0006 ; PORTC = 0x7F; //m103 output only
0006 8FE7 ldi R24,127
0008 85BB out 0x15,R24
000A .dbline 23
000A ; DDRC = 0x7F;
000A 84BB out 0x14,R24
000C .dbline 24
000C ; PORTD = 0x00;
000C 2224 clr R2
000E 22BA out 0x12,R2
0010 .dbline 25
0010 ; DDRD = 0xFF;
0010 8FEF ldi R24,255
0012 81BB out 0x11,R24
0014 .dbline -2
0014 .dbline 26
0014 ; }
0014 L1:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbend
0016 .dbfunc e timer0_init _timer0_init fV
.even
0016 _timer0_init::
0016 .dbline -1
0016 .dbline 33
0016 ;
0016 ; //TIMER0 initialisation - prescale:1024
0016 ; // WGM: Normal
0016 ; // desired value: 20mSec
0016 ; // actual value: 19.908mSec (0.5%)
0016 ; void timer0_init(void)
0016 ; {
0016 .dbline 34
0016 ; TCCR0 = 0x00; //stop
0016 2224 clr R2
0018 23BE out 0x33,R2
001A .dbline 35
001A ; TCNT0 = 0x29; //set count
001A 89E2 ldi R24,41
001C 82BF out 0x32,R24
001E .dbline 36
001E ; TCCR0 = 0x04; //start timer
001E 84E0 ldi R24,4
0020 83BF out 0x33,R24
0022 .dbline -2
0022 .dbline 37
0022 ; }
0022 L2:
0022 .dbline 0 ; func end
0022 0895 ret
0024 .dbend
.area vector(rom, abs)
.org 18
0012 12C0 rjmp _timer0_ovf_isr
.area text(rom, con, rel)
0024 .dbfile C:\DOCUME~1\alf\MYDOCU~1\开发板\调试程序\num_led\num-tiner0.c
0024 .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
.even
0024 _timer0_ovf_isr::
0024 2A92 st -y,R2
0026 8A93 st -y,R24
0028 9A93 st -y,R25
002A 2FB6 in R2,0x3f
002C 2A92 st -y,R2
002E .dbline -1
002E .dbline 41
002E ;
002E ; #pragma interrupt_handler timer0_ovf_isr:10
002E ; void timer0_ovf_isr(void)
002E ; {
002E .dbline 42
002E ; TCNT0 = 0x29; //reload counter value
002E 89E2 ldi R24,41
0030 82BF out 0x32,R24
0032 .dbline 43
0032 ; TCCR0 = 0x04; //start timer
0032 84E0 ldi R24,4
0034 83BF out 0x33,R24
0036 .dbline 45
0036 ;
0036 ; PORTB |= 0x30;
0036 88B3 in R24,0x18
0038 8063 ori R24,48
003A 88BB out 0x18,R24
003C .dbline 46
003C ; PORTC |= 0x30;
003C 85B3 in R24,0x15
003E 8063 ori R24,48
0040 85BB out 0x15,R24
0042 .dbline 47
0042 ; if(lednum == 0) //更新PB4数码管;
0042 20900000 lds R2,_lednum
0046 2220 tst R2
0048 29F4 brne L4
004A .dbline 48
004A ; { PORTB &= ~0x10;
004A .dbline 48
004A C498 cbi 0x18,4
004C .dbline 49
004C ; PORTD = lednum4;
004C 20900400 lds R2,_lednum4
0050 22BA out 0x12,R2
0052 .dbline 50
0052 ; }
0052 16C0 rjmp L5
0054 L4:
0054 .dbline 51
0054 ; else if(lednum ==1) //更新PB5数码管;
0054 80910000 lds R24,_lednum
0058 8130 cpi R24,1
005A 29F4 brne L6
005C .dbline 52
005C ; { PORTB &= ~0x20;
005C .dbline 52
005C C598 cbi 0x18,5
005E .dbline 53
005E ; PORTD = lednum3;
005E 20900300 lds R2,_lednum3
0062 22BA out 0x12,R2
0064 .dbline 54
0064 ; }
0064 0DC0 rjmp L7
0066 L6:
0066 .dbline 55
0066 ; else if(lednum ==2) //更新PC4数码管;
0066 80910000 lds R24,_lednum
006A 8230 cpi R24,2
006C 29F4 brne L8
006E .dbline 56
006E ; { PORTC &= ~0x10;
006E .dbline 56
006E AC98 cbi 0x15,4
0070 .dbline 57
0070 ; PORTD = lednum2;
0070 20900200 lds R2,_lednum2
0074 22BA out 0x12,R2
0076 .dbline 58
0076 ; }
0076 04C0 rjmp L9
0078 L8:
0078 .dbline 60
0078 ; else //更新PC5数码管;
0078 ; { PORTC &= ~0x20;
0078 .dbline 60
0078 AD98 cbi 0x15,5
007A .dbline 61
007A ; PORTD = lednum1;
007A 20900100 lds R2,_lednum1
007E 22BA out 0x12,R2
0080 .dbline 62
0080 ; }
0080 L9:
0080 L7:
0080 L5:
0080 .dbline 64
0080 ;
0080 ; lednum++;
0080 80910000 lds R24,_lednum
0084 8F5F subi R24,255 ; addi 1
0086 80930000 sts _lednum,R24
008A 05C0 rjmp L11
008C L10:
008C .dbline 65
008C 80910000 lds R24,_lednum
0090 8450 subi R24,4
0092 80930000 sts _lednum,R24
0096 L11:
0096 .dbline 65
0096 ; while(lednum >= 4) lednum = lednum - 4;
0096 80910000 lds R24,_lednum
009A 8430 cpi R24,4
009C B8F7 brsh L10
009E .dbline -2
009E .dbline 67
009E ;
009E ; }
009E L3:
009E 2990 ld R2,y+
00A0 2FBE out 0x3f,R2
00A2 9991 ld R25,y+
00A4 8991 ld R24,y+
00A6 2990 ld R2,y+
00A8 .dbline 0 ; func end
00A8 1895 reti
00AA .dbend
00AA .dbfunc e init_devices _init_devices fV
.even
00AA _init_devices::
00AA .dbline -1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -