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

📄 xianshi.lis

📁 1602液晶显示模块
💻 LIS
字号:
                        .module xianshi.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\实验\DS1302\显示/delay.c
 0000                   .dbfunc e delay_1us _delay_1us fV
                        .even
 0000           _delay_1us::
 0000                   .dbline -1
 0000                   .dbline 4
 0000           ; //ICC-AVR application builder : 2006-12-8 21:26:52
 0000           ; // Target : M32
 0000           ; // Crystal: 4.0000Mhz
 0000           ; 
 0000                   .dbline 5
 0000           ; #include <iom16v.h>
 0000 0000              nop
 0002                   .dbline -2
 0002           L1:
 0002                   .dbline 0 ; func end
 0002 0895              ret
 0004                   .dbend
 0004                   .dbfunc e delay_nus _delay_nus fV
 0004           ;              i -> R20,R21
 0004           ;              n -> R22,R23
                        .even
 0004           _delay_nus::
 0004 0E940000          xcall push_gset2
 0008 B801              movw R22,R16
 000A                   .dbline -1
 000A                   .dbline 9
 000A           ; #include <macros.h>
 000A           ; #include "delay.c"
 000A           ; #include "disp.h"
 000A           ; void port_init(void)
 000A                   .dbline 10
 000A           ; {
 000A 4427              clr R20
 000C 5527              clr R21
 000E                   .dbline 11
 000E           ;  PORTA = 0x00;
 000E 03C0              xjmp L6
 0010           L3:
 0010                   .dbline 12
 0010 F7DF              xcall _delay_1us
 0012           L4:
 0012                   .dbline 11
 0012 4F5F              subi R20,255  ; offset = 1
 0014 5F4F              sbci R21,255
 0016           L6:
 0016                   .dbline 11
 0016 4617              cp R20,R22
 0018 5707              cpc R21,R23
 001A D0F3              brlo L3
 001C                   .dbline -2
 001C           L2:
 001C 0E940000          xcall pop_gset2
 0020                   .dbline 0 ; func end
 0020 0895              ret
 0022                   .dbsym r i 20 i
 0022                   .dbsym r n 22 i
 0022                   .dbend
 0022                   .dbfunc e delay_1ms _delay_1ms fV
 0022           ;              i -> R16,R17
                        .even
 0022           _delay_1ms::
 0022                   .dbline -1
 0022                   .dbline 16
 0022           ;  DDRA  = 0xFF;
 0022           ;  PORTB = 0x00;
 0022           ;  DDRB  = 0xFF;
 0022           ;  PORTC = 0x00; 
 0022           ;  DDRC  = 0x00;
 0022                   .dbline 18
 0022 0027              clr R16
 0024 1127              clr R17
 0026 02C0              xjmp L11
 0028           L8:
 0028                   .dbline 18
 0028           L9:
 0028                   .dbline 18
 0028 0F5F              subi R16,255  ; offset = 1
 002A 1F4F              sbci R17,255
 002C           L11:
 002C                   .dbline 18
 002C           ;  PORTD = 0x00;
 002C           ;  DDRD  = 0xFE;
 002C 0D38              cpi R16,141
 002E E0E0              ldi R30,0
 0030 1E07              cpc R17,R30
 0032 D0F3              brlo L8
 0034                   .dbline -2
 0034           L7:
 0034                   .dbline 0 ; func end
 0034 0895              ret
 0036                   .dbsym r i 16 i
 0036                   .dbend
 0036                   .dbfunc e delay_nms _delay_nms fV
 0036           ;              i -> R20,R21
 0036           ;              n -> R22,R23
                        .even
 0036           _delay_nms::
 0036 0E940000          xcall push_gset2
 003A B801              movw R22,R16
 003C                   .dbline -1
 003C                   .dbline 22
 003C           ; }
 003C           ; //UART0 initialize
 003C           ; // desired baud rate: 9600
 003C           ; // actual: baud rate:9615 (0.2%)
 003C                   .dbline 23
 003C           ; // char size: 8 bit
 003C 4427              clr R20
 003E 5527              clr R21
 0040                   .dbline 24
 0040           ; // parity: Disabled
 0040 03C0              xjmp L16
 0042           L13:
 0042                   .dbline 25
 0042                   .dbline 26
 0042 EFDF              xcall _delay_1ms
 0044                   .dbline 27
 0044           L14:
 0044                   .dbline 24
 0044 4F5F              subi R20,255  ; offset = 1
 0046 5F4F              sbci R21,255
 0048           L16:
 0048                   .dbline 24
 0048 4617              cp R20,R22
 004A 5707              cpc R21,R23
 004C D0F3              brlo L13
 004E                   .dbline -2
 004E           L12:
 004E 0E940000          xcall pop_gset2
 0052                   .dbline 0 ; func end
 0052 0895              ret
 0054                   .dbsym r i 20 i
 0054                   .dbsym r n 22 i
 0054                   .dbend
                        .area lit(rom, con, rel)
 0000           _SEG_table::
 0000 C0F9              .byte 192,249
 0002 A4B0              .byte 164,176
 0004 9992              .byte 153,146
 0006 82F8              .byte 130,248
 0008 8090              .byte 128,144
 000A                   .dbfile E:\实验\DS1302\显示/disp.h
 000A                   .dbsym e SEG_table _SEG_table A[10:10]kc
                        .area data(ram, con, rel)
 0000                   .dbfile E:\实验\DS1302\显示/disp.h
 0000           _led_bit8Buff::
 0000                   .blkb 2
                        .area idata
 0000 0000              .byte 0,0
                        .area data(ram, con, rel)
 0002                   .dbfile E:\实验\DS1302\显示/disp.h
 0002                   .blkb 2
                        .area idata
 0002 0000              .byte 0,0
                        .area data(ram, con, rel)
 0004                   .dbfile E:\实验\DS1302\显示/disp.h
 0004                   .blkb 2
                        .area idata
 0004 0000              .byte 0,0
                        .area data(ram, con, rel)
 0006                   .dbfile E:\实验\DS1302\显示/disp.h
 0006                   .blkb 2
                        .area idata
 0006 0000              .byte 0,0
                        .area data(ram, con, rel)
 0008                   .dbfile E:\实验\DS1302\显示/disp.h
 0008                   .dbsym e led_bit8Buff _led_bit8Buff A[8:8]c
 0008           _led_bit6Buff::
 0008                   .blkb 2
                        .area idata
 0008 0000              .byte 0,0
                        .area data(ram, con, rel)
 000A                   .dbfile E:\实验\DS1302\显示/disp.h
 000A                   .blkb 2
                        .area idata
 000A 0000              .byte 0,0
                        .area data(ram, con, rel)
 000C                   .dbfile E:\实验\DS1302\显示/disp.h
 000C                   .blkb 2
                        .area idata
 000C 0000              .byte 0,0
                        .area data(ram, con, rel)
 000E                   .dbfile E:\实验\DS1302\显示/disp.h
 000E                   .dbsym e led_bit6Buff _led_bit6Buff A[6:6]c
                        .area text(rom, con, rel)
 0054                   .dbfile E:\实验\DS1302\显示/disp.h
 0054                   .dbfunc e disp_bit8 _disp_bit8 fV
                        .even
 0054           _disp_bit8::
 0054                   .dbline -1
 0054                   .dbline 20
 0054                   .dbline 21
 0054 81E0              ldi R24,1
 0056 88BB              out 0x18,R24
 0058                   .dbline 22
 0058 80E0              ldi R24,<_SEG_table
 005A 90E0              ldi R25,>_SEG_table
 005C E0910000          lds R30,_led_bit8Buff
 0060 FF27              clr R31
 0062 E80F              add R30,R24
 0064 F91F              adc R31,R25
 0066 E491              lpm R30,Z
 0068 E8BB              out 0x18,R30
 006A                   .dbline 23
 006A 82E0              ldi R24,2
 006C 88BB              out 0x18,R24
 006E                   .dbline 24
 006E 80E0              ldi R24,<_SEG_table
 0070 90E0              ldi R25,>_SEG_table
 0072 E0910100          lds R30,_led_bit8Buff+1
 0076 FF27              clr R31
 0078 E80F              add R30,R24
 007A F91F              adc R31,R25
 007C E491              lpm R30,Z
 007E E8BB              out 0x18,R30
 0080                   .dbline 25
 0080           ; void uart0_init(void)
 0080 84E0              ldi R24,4
 0082 88BB              out 0x18,R24
 0084                   .dbline 26
 0084           ; {
 0084 80E0              ldi R24,<_SEG_table
 0086 90E0              ldi R25,>_SEG_table
 0088 E0910200          lds R30,_led_bit8Buff+2
 008C FF27              clr R31
 008E E80F              add R30,R24
 0090 F91F              adc R31,R25
 0092 E491              lpm R30,Z
 0094 E8BB              out 0x18,R30
 0096                   .dbline 27
 0096           ;  UCSRB = 0x00; //disable while setting baud rate
 0096 88E0              ldi R24,8
 0098 88BB              out 0x18,R24
 009A                   .dbline 28
 009A           ;  UCSRA = 0x00;
 009A 80E0              ldi R24,<_SEG_table
 009C 90E0              ldi R25,>_SEG_table
 009E E0910300          lds R30,_led_bit8Buff+3
 00A2 FF27              clr R31
 00A4 E80F              add R30,R24
 00A6 F91F              adc R31,R25
 00A8 E491              lpm R30,Z
 00AA E8BB              out 0x18,R30
 00AC                   .dbline -2
 00AC           L17:
 00AC                   .dbline 0 ; func end
 00AC 0895              ret
 00AE                   .dbend
 00AE                   .dbfile E:\实验\DS1302\显示\xianshi.c
 00AE                   .dbfunc e port_init _port_init fV
                        .even
 00AE           _port_init::
 00AE                   .dbline -1
 00AE                   .dbline 10
 00AE                   .dbline 11
 00AE 2224              clr R2
 00B0 2BBA              out 0x1b,R2
 00B2                   .dbline 12
 00B2 8FEF              ldi R24,255
 00B4 8ABB              out 0x1a,R24
 00B6                   .dbline 13
 00B6 28BA              out 0x18,R2
 00B8                   .dbline 14
 00B8 87BB              out 0x17,R24
 00BA                   .dbline 15
 00BA 25BA              out 0x15,R2
 00BC                   .dbline 16
 00BC 24BA              out 0x14,R2
 00BE                   .dbline 17
 00BE 22BA              out 0x12,R2
 00C0                   .dbline 18
 00C0 8EEF              ldi R24,254
 00C2 81BB              out 0x11,R24
 00C4                   .dbline -2
 00C4           L21:
 00C4                   .dbline 0 ; func end
 00C4 0895              ret
 00C6                   .dbend
 00C6                   .dbfunc e uart0_init _uart0_init fV
                        .even
 00C6           _uart0_init::
 00C6                   .dbline -1
 00C6                   .dbline 26
 00C6                   .dbline 27
 00C6 2224              clr R2
 00C8 2AB8              out 0xa,R2
 00CA                   .dbline 28
 00CA 2BB8              out 0xb,R2
 00CC                   .dbline 29
 00CC           ;  UCSRC = BIT(URSEL) | 0x06;
 00CC 86E8              ldi R24,134
 00CE 80BD              out 0x20,R24
 00D0                   .dbline 30
 00D0           ;  UBRRL = 0x19; //set baud rate lo
 00D0 89E1              ldi R24,25
 00D2 89B9              out 0x9,R24
 00D4                   .dbline 31
 00D4           ;  UBRRH = 0x00; //set baud rate hi
 00D4 20BC              out 0x20,R2
 00D6                   .dbline 32
 00D6           ;  UCSRB = 0x98;
 00D6 88E9              ldi R24,152
 00D8 8AB9              out 0xa,R24
 00DA                   .dbline -2
 00DA           L22:
 00DA                   .dbline 0 ; func end
 00DA 0895              ret
 00DC                   .dbend
                        .area vector(rom, abs)
                        .org 52
 0034 0C946E00          jmp _uart0_rx_isr
                        .area text(rom, con, rel)
 00DC                   .dbfile E:\实验\DS1302\显示\xianshi.c
 00DC                   .dbfunc e uart0_rx_isr _uart0_rx_isr fV
                        .even
 00DC           _uart0_rx_isr::
 00DC                   .dbline -1
 00DC                   .dbline 37
 00DC           ; }
 00DC           ; 
 00DC           ; #pragma interrupt_handler uart0_rx_isr:14
 00DC           ; void uart0_rx_isr(void)
 00DC           ; {
 00DC                   .dbline -2
 00DC           L23:
 00DC                   .dbline 0 ; func end
 00DC 1895              reti
 00DE                   .dbend
 00DE                   .dbfunc e init_devices _init_devices fV
                        .even
 00DE           _init_devices::
 00DE                   .dbline -1
 00DE                   .dbline 43
 00DE           ;  //uart has received a character in UDR
 00DE           ; }
 00DE           ; 
 00DE           ; //call this routine to initialize all peripherals
 00DE           ; void init_devices(void)
 00DE           ; {
 00DE                   .dbline 45
 00DE           ;  //stop errant interrupts until set up
 00DE           ;  CLI(); //disable all interrupts
 00DE F894              cli
 00E0                   .dbline 46
 00E0           ;  port_init();
 00E0 E6DF              xcall _port_init
 00E2                   .dbline 47
 00E2           ;  uart0_init();
 00E2 F1DF              xcall _uart0_init
 00E4                   .dbline 49
 00E4           ; 
 00E4           ;  MCUCR = 0x00;
 00E4 2224              clr R2
 00E6 25BE              out 0x35,R2
 00E8                   .dbline 50
 00E8           ;  GICR  = 0x00;
 00E8 2BBE              out 0x3b,R2
 00EA                   .dbline 51
 00EA           ;  TIMSK = 0x00; //timer interrupt sources
 00EA 29BE              out 0x39,R2
 00EC                   .dbline 52
 00EC           ;  SEI(); //re-enable interrupts
 00EC 7894              sei
 00EE                   .dbline -2
 00EE           L24:
 00EE                   .dbline 0 ; func end
 00EE 0895              ret
 00F0                   .dbend
 00F0                   .dbfunc e main _main fV
                        .even
 00F0           _main::
 00F0                   .dbline -1
 00F0                   .dbline 57
 00F0           ;  //all peripherals are now initialized
 00F0           ; }
 00F0           ; 
 00F0           ; void main()
 00F0           ; {init_devices();
 00F0                   .dbline 57
 00F0 F6DF              xcall _init_devices
 00F2 04C0              xjmp L27
 00F4           L26:
 00F4                   .dbline 59
 00F4                   .dbline 60
 00F4 AFDF              xcall _disp_bit8
 00F6                   .dbline 61
 00F6 0AE0              ldi R16,10
 00F8 10E0              ldi R17,0
 00FA 9DDF              xcall _delay_nms
 00FC                   .dbline 62
 00FC           L27:
 00FC                   .dbline 58
 00FC FBCF              xjmp L26
 00FE           X0:
 00FE                   .dbline -2
 00FE           L25:
 00FE                   .dbline 0 ; func end
 00FE 0895              ret
 0100                   .dbend

⌨️ 快捷键说明

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