📄 nrf_main.lis
字号:
.module nrf_main.c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\Administrator\桌面\nrftest\nrf_main.c
0000 .dbfunc e led_on _led_on fV
.even
0000 _led_on::
0000 .dbline -1
0000 .dbline 8
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; #include "nrf905.h"
0000 ; #include "lcd.h"
0000 ; #include "delay.h"
0000 ;
0000 ; void led_on( void )
0000 ; {
0000 .dbline 9
0000 ; DDRD |= ( 1 << PD0 );
0000 889A sbi 0x11,0
0002 .dbline 10
0002 ; PORTD &=~ ( 1 << PB0 );
0002 9098 cbi 0x12,0
0004 .dbline -2
0004 L1:
0004 .dbline 0 ; func end
0004 0895 ret
0006 .dbend
0006 .dbfunc e led_of _led_of fV
.even
0006 _led_of::
0006 .dbline -1
0006 .dbline 13
0006 ; }
0006 ; void led_of( void )
0006 ; {
0006 .dbline 14
0006 ; DDRD |= ( 1 << PB0 );
0006 889A sbi 0x11,0
0008 .dbline 15
0008 ; PORTD |= ( 1 << PB0 );
0008 909A sbi 0x12,0
000A .dbline -2
000A L2:
000A .dbline 0 ; func end
000A 0895 ret
000C .dbend
000C .dbfunc e port_key_init _port_key_init fV
.even
000C _port_key_init::
000C .dbline -1
000C .dbline 19
000C ; }
000C ;
000C ; void port_key_init( void )
000C ; {
000C .dbline 20
000C ; DDRA = 0X00;
000C 2224 clr R2
000E 2ABA out 0x1a,R2
0010 .dbline 21
0010 ; PORTA = 0XFF;
0010 8FEF ldi R24,255
0012 8BBB out 0x1b,R24
0014 .dbline -2
0014 L3:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbend
0016 .dbfunc e get_key _get_key fV
.even
0016 _get_key::
0016 4A93 st -y,R20
0018 5A93 st -y,R21
001A 2197 sbiw R28,1
001C .dbline -1
001C .dbline 25
001C ; }
001C ;
001C ; void get_key( void )
001C ; {
001C .dbline 26
001C ; switch( PINA & 0xff )
001C 49B3 in R20,0x19
001E 5527 clr R21
0020 5070 andi R21,0
0022 4F3D cpi R20,223
0024 E0E0 ldi R30,0
0026 5E07 cpc R21,R30
0028 09F4 brne X12
002A 67C0 xjmp L14
002C X12:
002C X0:
002C 8FED ldi R24,223
002E 90E0 ldi R25,0
0030 8417 cp R24,R20
0032 9507 cpc R25,R21
0034 84F0 brlt L18
0036 X1:
0036 L17:
0036 4F37 cpi R20,127
0038 E0E0 ldi R30,0
003A 5E07 cpc R21,R30
003C 09F4 brne X13
003E 71C0 xjmp L16
0040 X13:
0040 X2:
0040 4F37 cpi R20,127
0042 E0E0 ldi R30,0
0044 5E07 cpc R21,R30
0046 0CF4 brge X14
0048 75C0 xjmp L5
004A X14:
004A X3:
004A L19:
004A 4F3B cpi R20,191
004C E0E0 ldi R30,0
004E 5E07 cpc R21,R30
0050 09F4 brne X15
0052 5DC0 xjmp L15
0054 X15:
0054 X4:
0054 6FC0 xjmp L5
0056 L18:
0056 4F3E cpi R20,239
0058 E0E0 ldi R30,0
005A 5E07 cpc R21,R30
005C 09F4 brne X16
005E 43C0 xjmp L13
0060 X16:
0060 X5:
0060 4F3E cpi R20,239
0062 E0E0 ldi R30,0
0064 5E07 cpc R21,R30
0066 0CF4 brge X17
0068 65C0 xjmp L5
006A X17:
006A X6:
006A L20:
006A 473F cpi R20,247
006C E0E0 ldi R30,0
006E 5E07 cpc R21,R30
0070 81F1 breq L12
0072 X7:
0072 4B3F cpi R20,251
0074 E0E0 ldi R30,0
0076 5E07 cpc R21,R30
0078 11F1 breq L11
007A X8:
007A 4D3F cpi R20,253
007C E0E0 ldi R30,0
007E 5E07 cpc R21,R30
0080 A1F0 breq L10
0082 X9:
0082 4E3F cpi R20,254
0084 E0E0 ldi R30,0
0086 5E07 cpc R21,R30
0088 31F0 breq L9
008A X10:
008A 4F3F cpi R20,255
008C E0E0 ldi R30,0
008E 5E07 cpc R21,R30
0090 09F4 brne X18
0092 50C0 xjmp L6
0094 X18:
0094 X11:
0094 4FC0 xjmp L5
0096 L9:
0096 .dbline 29
0096 ; {
0096 ; case 0b11111111: break;
0096 ; case 0b11111110: nrf905_SendData('0'); LCD_write_char( 1, 8, '0' ); break;
0096 00E3 ldi R16,48
0098 0E940000 xcall _nrf905_SendData
009C .dbline 29
009C 80E3 ldi R24,48
009E 8883 std y+0,R24
00A0 28E0 ldi R18,8
00A2 01E0 ldi R16,1
00A4 0E940000 xcall _LCD_write_char
00A8 .dbline 29
00A8 45C0 xjmp L6
00AA L10:
00AA .dbline 30
00AA ; case 0b11111101: nrf905_SendData('1'); LCD_write_char( 1, 8, '1' ); break;
00AA 01E3 ldi R16,49
00AC 0E940000 xcall _nrf905_SendData
00B0 .dbline 30
00B0 81E3 ldi R24,49
00B2 8883 std y+0,R24
00B4 28E0 ldi R18,8
00B6 01E0 ldi R16,1
00B8 0E940000 xcall _LCD_write_char
00BC .dbline 30
00BC 3BC0 xjmp L6
00BE L11:
00BE .dbline 31
00BE ; case 0b11111011: nrf905_SendData('2'); LCD_write_char( 1, 8, '2' ); break;
00BE 02E3 ldi R16,50
00C0 0E940000 xcall _nrf905_SendData
00C4 .dbline 31
00C4 82E3 ldi R24,50
00C6 8883 std y+0,R24
00C8 28E0 ldi R18,8
00CA 01E0 ldi R16,1
00CC 0E940000 xcall _LCD_write_char
00D0 .dbline 31
00D0 31C0 xjmp L6
00D2 L12:
00D2 .dbline 32
00D2 ; case 0b11110111: nrf905_SendData('3'); LCD_write_char( 1, 8, '3' ); break;
00D2 03E3 ldi R16,51
00D4 0E940000 xcall _nrf905_SendData
00D8 .dbline 32
00D8 83E3 ldi R24,51
00DA 8883 std y+0,R24
00DC 28E0 ldi R18,8
00DE 01E0 ldi R16,1
00E0 0E940000 xcall _LCD_write_char
00E4 .dbline 32
00E4 27C0 xjmp L6
00E6 L13:
00E6 .dbline 33
00E6 ; case 0b11101111: nrf905_SendData('4'); LCD_write_char( 1, 8, '4' ); break;
00E6 04E3 ldi R16,52
00E8 0E940000 xcall _nrf905_SendData
00EC .dbline 33
00EC 84E3 ldi R24,52
00EE 8883 std y+0,R24
00F0 28E0 ldi R18,8
00F2 01E0 ldi R16,1
00F4 0E940000 xcall _LCD_write_char
00F8 .dbline 33
00F8 1DC0 xjmp L6
00FA L14:
00FA .dbline 34
00FA ; case 0b11011111: nrf905_SendData('5'); LCD_write_char( 1, 8, '5' ); break;
00FA 05E3 ldi R16,53
00FC 0E940000 xcall _nrf905_SendData
0100 .dbline 34
0100 85E3 ldi R24,53
0102 8883 std y+0,R24
0104 28E0 ldi R18,8
0106 01E0 ldi R16,1
0108 0E940000 xcall _LCD_write_char
010C .dbline 34
010C 13C0 xjmp L6
010E L15:
010E .dbline 35
010E ; case 0b10111111: nrf905_SendData('6'); LCD_write_char( 1, 8, '6' ); break;
010E 06E3 ldi R16,54
0110 0E940000 xcall _nrf905_SendData
0114 .dbline 35
0114 86E3 ldi R24,54
0116 8883 std y+0,R24
0118 28E0 ldi R18,8
011A 01E0 ldi R16,1
011C 0E940000 xcall _LCD_write_char
0120 .dbline 35
0120 09C0 xjmp L6
0122 L16:
0122 .dbline 36
0122 ; case 0b01111111: nrf905_SendData('7'); LCD_write_char( 1, 8, '7' ); break;
0122 07E3 ldi R16,55
0124 0E940000 xcall _nrf905_SendData
0128 .dbline 36
0128 87E3 ldi R24,55
012A 8883 std y+0,R24
012C 28E0 ldi R18,8
012E 01E0 ldi R16,1
0130 0E940000 xcall _LCD_write_char
0134 .dbline 36
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -