⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display.lis

📁 著名的RF射频芯片nRF2401应用程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module display.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\programme\nrf2401\display.c
 0000                   .dbfunc e display4 _display4 fV
                        .area func_lit(rom, con, rel)
 0000           L14:
 0000 3100              .word `L5
 0002 3100              .word `L5
 0004 3100              .word `L5
 0006 3100              .word `L5
 0008 3100              .word `L5
 000A 3100              .word `L5
 000C 3100              .word `L5
 000E 3100              .word `L5
 0010 3100              .word `L5
 0012 3100              .word `L5
 0014 7400              .word `L2
 0016 7400              .word `L2
 0018 7400              .word `L2
 001A 3800              .word `L6
 001C 4200              .word `L7
 001E 4C00              .word `L8
 0020 5600              .word `L9
                        .area text(rom, con, rel)
 0000                   .dbfile F:\programme\nrf2401\display.c
 0000           ;             kk -> R20
                        .even
 0000           _display4::
 0000 00D0              rcall push_gset2
 0002 402F              mov R20,R16
 0004                   .dbline -1
 0004                   .dbline 12
 0004           ; //************************************************************//
 0004           ; //本模块用于显示程序运行过程中需要显示的一些数据,可按需要改动
 0004           ; //注意:将要显示的数据设为外部变量
 0004           ; //周金广做
 0004           ; //**********************************************************//
 0004           ; #include <stdio.h>
 0004           ; #include <iom8v.h>
 0004           ; #include <macros.h>
 0004           ; 
 0004           ; 
 0004           ; void display4(unsigned char kk)  //临时少麻烦
 0004           ; { 
 0004                   .dbline 13
 0004           ;   lcd_write_comm(0x30);
 0004 00E3              ldi R16,48
 0006 10E0              ldi R17,0
 0008 00D0              rcall _lcd_write_comm
 000A                   .dbline 14
 000A           ;   lcd_write_comm(0x0c);
 000A 0CE0              ldi R16,12
 000C 10E0              ldi R17,0
 000E 00D0              rcall _lcd_write_comm
 0010                   .dbline 15
 0010           ;   switch(kk)
 0010 642F              mov R22,R20
 0012 7727              clr R23
 0014 6332              cpi R22,35
 0016 E0E0              ldi R30,0
 0018 7E07              cpc R23,R30
 001A 09F4              brne X1
 001C 5BC0              rjmp L11
 001E           X1:
 001E 83E2              ldi R24,35
 0020 90E0              ldi R25,0
 0022 8617              cp R24,R22
 0024 9707              cpc R25,R23
 0026 BCF0              brlt L13
 0028           L12:
 0028 6030              cpi R22,0
 002A E0E0              ldi R30,0
 002C 7E07              cpc R23,R30
 002E 0CF4              brge X2
 0030 5BC0              rjmp L2
 0032           X2:
 0032 80E1              ldi R24,16
 0034 90E0              ldi R25,0
 0036 8617              cp R24,R22
 0038 9707              cpc R25,R23
 003A 0CF4              brge X3
 003C 55C0              rjmp L2
 003E           X3:
 003E 80E0              ldi R24,<L14
 0040 90E0              ldi R25,>L14
 0042 062F              mov R16,R22
 0044 172F              mov R17,R23
 0046 000F              lsl R16
 0048 111F              rol R17
 004A 080F              add R16,R24
 004C 191F              adc R17,R25
 004E 00D0              rcall lpm16
 0050 E02F              mov R30,R16
 0052 F12F              mov R31,R17
 0054 0994              ijmp
 0056           L13:
 0056 6A32              cpi R22,42
 0058 E0E0              ldi R30,0
 005A 7E07              cpc R23,R30
 005C 09F4              brne X4
 005E 30C0              rjmp L10
 0060           X4:
 0060 43C0              rjmp L2
 0062           X0:
 0062                   .dbline 16
 0062           ;        {case 1: 
 0062           L5:
 0062                   .dbline 25
 0062           ;         case 2: 
 0062           ;         case 3: 
 0062           ;         case 4:
 0062           ;         case 5:
 0062           ;         case 6:  
 0062           ;         case 7: 
 0062           ;         case 8:
 0062           ;         case 9:                 
 0062           ;         case 0:  lcd_write_comm(0x98); displaybyte2(kk); break;       
 0062 08E9              ldi R16,152
 0064 10E0              ldi R17,0
 0066 00D0              rcall _lcd_write_comm
 0068                   .dbline 25
 0068 042F              mov R16,R20
 006A 1127              clr R17
 006C 77D0              rcall _displaybyte2
 006E                   .dbline 25
 006E 45C0              rjmp L3
 0070           L6:
 0070                   .dbline 26
 0070           ;         case 13: lcd_write_comm(0x98);lcd_write_data('F');lcd_write_data('1'); break;         
 0070 08E9              ldi R16,152
 0072 10E0              ldi R17,0
 0074 00D0              rcall _lcd_write_comm
 0076                   .dbline 26
 0076 06E4              ldi R16,70
 0078 10E0              ldi R17,0
 007A 00D0              rcall _lcd_write_data
 007C                   .dbline 26
 007C 01E3              ldi R16,49
 007E 10E0              ldi R17,0
 0080 00D0              rcall _lcd_write_data
 0082                   .dbline 26
 0082 3BC0              rjmp L3
 0084           L7:
 0084                   .dbline 27
 0084           ;         case 14: lcd_write_comm(0x98);lcd_write_data('F');lcd_write_data('2'); break; 
 0084 08E9              ldi R16,152
 0086 10E0              ldi R17,0
 0088 00D0              rcall _lcd_write_comm
 008A                   .dbline 27
 008A 06E4              ldi R16,70
 008C 10E0              ldi R17,0
 008E 00D0              rcall _lcd_write_data
 0090                   .dbline 27
 0090 02E3              ldi R16,50
 0092 10E0              ldi R17,0
 0094 00D0              rcall _lcd_write_data
 0096                   .dbline 27
 0096 31C0              rjmp L3
 0098           L8:
 0098                   .dbline 28
 0098           ;         case 15: lcd_write_comm(0x98);lcd_write_data('F');lcd_write_data('2'); break;   
 0098 08E9              ldi R16,152
 009A 10E0              ldi R17,0
 009C 00D0              rcall _lcd_write_comm
 009E                   .dbline 28
 009E 06E4              ldi R16,70
 00A0 10E0              ldi R17,0
 00A2 00D0              rcall _lcd_write_data
 00A4                   .dbline 28
 00A4 02E3              ldi R16,50
 00A6 10E0              ldi R17,0
 00A8 00D0              rcall _lcd_write_data
 00AA                   .dbline 28
 00AA 27C0              rjmp L3
 00AC           L9:
 00AC                   .dbline 29
 00AC           ;         case 16: lcd_write_comm(0x98);lcd_write_data('F');lcd_write_data('4');  break; 
 00AC 08E9              ldi R16,152
 00AE 10E0              ldi R17,0
 00B0 00D0              rcall _lcd_write_comm
 00B2                   .dbline 29
 00B2 06E4              ldi R16,70
 00B4 10E0              ldi R17,0
 00B6 00D0              rcall _lcd_write_data
 00B8                   .dbline 29
 00B8 04E3              ldi R16,52
 00BA 10E0              ldi R17,0
 00BC 00D0              rcall _lcd_write_data
 00BE                   .dbline 29
 00BE 1DC0              rjmp L3
 00C0           L10:
 00C0                   .dbline 30
 00C0           ;         case '*':lcd_write_comm(0x98);lcd_write_data(' ');lcd_write_data('*'); break;         
 00C0 08E9              ldi R16,152
 00C2 10E0              ldi R17,0
 00C4 00D0              rcall _lcd_write_comm
 00C6                   .dbline 30
 00C6 00E2              ldi R16,32
 00C8 10E0              ldi R17,0
 00CA 00D0              rcall _lcd_write_data
 00CC                   .dbline 30
 00CC 0AE2              ldi R16,42
 00CE 10E0              ldi R17,0
 00D0 00D0              rcall _lcd_write_data
 00D2                   .dbline 30
 00D2 13C0              rjmp L3
 00D4           L11:
 00D4                   .dbline 31
 00D4           ;         case '#':lcd_write_comm(0x98);lcd_write_data(' ');lcd_write_data('#');   break;
 00D4 08E9              ldi R16,152
 00D6 10E0              ldi R17,0
 00D8 00D0              rcall _lcd_write_comm
 00DA                   .dbline 31
 00DA 00E2              ldi R16,32
 00DC 10E0              ldi R17,0
 00DE 00D0              rcall _lcd_write_data
 00E0                   .dbline 31
 00E0 03E2              ldi R16,35
 00E2 10E0              ldi R17,0
 00E4 00D0              rcall _lcd_write_data
 00E6                   .dbline 31
 00E6 09C0              rjmp L3
 00E8           L2:
 00E8                   .dbline 32
 00E8 08E9              ldi R16,152
 00EA 10E0              ldi R17,0
 00EC 00D0              rcall _lcd_write_comm
 00EE                   .dbline 32
 00EE 0EE4              ldi R16,78
 00F0 10E0              ldi R17,0
 00F2 00D0              rcall _lcd_write_data
 00F4                   .dbline 32
 00F4 0FE4              ldi R16,79
 00F6 10E0              ldi R17,0
 00F8 00D0              rcall _lcd_write_data
 00FA                   .dbline 32
 00FA           L3:
 00FA                   .dbline -2
 00FA           L1:
 00FA 00D0              rcall pop_gset2
 00FC                   .dbline 0 ; func end
 00FC 0895              ret
 00FE                   .dbsym r kk 20 c
 00FE                   .dbend
 00FE                   .dbfunc e displaybyte _displaybyte fV
 00FE           ;           data -> R20
                        .even
 00FE           _displaybyte::
 00FE 00D0              rcall push_gset1
 0100 402F              mov R20,R16
 0102                   .dbline -1
 0102                   .dbline 38
 0102           ;         default: lcd_write_comm(0x98);lcd_write_data('N');lcd_write_data('O'); break;
 0102           ;      }  
 0102           ;    
 0102           ; }
 0102           ; 
 0102           ; void displaybyte(unsigned char data)
 0102           ; { 
 0102                   .dbline 39
 0102           ;   lcd_write_data(data/100%10+0x30);
 0102 24E6              ldi R18,100
 0104 30E0              ldi R19,0
 0106 042F              mov R16,R20
 0108 1127              clr R17
 010A 00D0              rcall div16s
 010C 2AE0              ldi R18,10
 010E 30E0              ldi R19,0
 0110 00D0              rcall mod16s
 0112 005D              subi R16,208  ; offset = 48
 0114 1F4F              sbci R17,255
 0116 00D0              rcall _lcd_write_data
 0118                   .dbline 40

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -