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

📄 isp.lis

📁 双龙公司开发版源程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module isp.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\icc\iccavr\mega8\mega8\music\isp.c
 0000                   .dbfunc e uart_init _uart_init fV
                        .even
 0000           _uart_init::
 0000                   .dbline -1
 0000                   .dbline 15
 0000           ; #include <iom8v.h>
 0000           ; #include <macros.h>
 0000           ; #include <eeprom.h>
 0000           ; /*                             位操作宏                               */
 0000           ; #define set_bit(x,y)  (x|=(1<<y))
 0000           ; #define clr_bit(x,y)  (x&=~(1<<y)) 
 0000           ; #define get_bit(x,y)  (x&(1<<y))
 0000           ; #define fosc 8000000
 0000           ; #define baud 19200
 0000           ; #define device 0x76
 0000           ; #define osc_address   0x1ff0
 0000           ; extern unsigned char read_flash(unsigned int add);
 0000           ; /*                    UART初始化                              */      
 0000           ; void uart_init(void)
 0000           ; {
 0000                   .dbline 16
 0000           ;  OSCCAL=read_flash(osc_address);
 0000 00EF              ldi R16,8176
 0002 1FE1              ldi R17,31
 0004 00D0              rcall _read_flash
 0006 01BF              out 0x31,R16
 0008                   .dbline 17
 0008           ;  UCSRB=(1<<RXEN)|(1<<TXEN)|(1<<RXCIE);//允许发送和接收
 0008 88E9              ldi R24,152
 000A 8AB9              out 0xa,R24
 000C                   .dbline 18
 000C           ;  UBRRL=(fosc/16/(baud+1))%256;
 000C 8AE1              ldi R24,26
 000E 89B9              out 0x9,R24
 0010                   .dbline 19
 0010           ;  UBRRH=(fosc/16/(baud+1))/256;
 0010 2224              clr R2
 0012 20BC              out 0x20,R2
 0014                   .dbline 20
 0014           ;  UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);//8位数据+1位STOP位
 0014 86E8              ldi R24,134
 0016 80BD              out 0x20,R24
 0018                   .dbline -2
 0018                   .dbline 21
 0018           ; }
 0018           L1:
 0018                   .dbline 0 ; func end
 0018 0895              ret
 001A                   .dbend
 001A                   .dbfunc e putchar _putchar fV
 001A           ;              c -> R16
                        .even
 001A           _putchar::
 001A                   .dbline -1
 001A                   .dbline 24
 001A           ; /*            字符输出函数             */
 001A           ; void putchar(unsigned char c)
 001A           ;       {        
 001A           L3:
 001A                   .dbline 25
 001A           L4:
 001A                   .dbline 25
 001A           ;      while (!(UCSRA&(1<<UDRE)));
 001A 5D9B              sbis 0xb,5
 001C FECF              rjmp L3
 001E                   .dbline 26
 001E           ;        UDR=c;    
 001E 0CB9              out 0xc,R16
 0020                   .dbline -2
 0020                   .dbline 27
 0020           ;       }
 0020           L2:
 0020                   .dbline 0 ; func end
 0020 0895              ret
 0022                   .dbsym r c 16 c
 0022                   .dbend
 0022                   .dbfunc e getchar _getchar fc
                        .even
 0022           _getchar::
 0022                   .dbline -1
 0022                   .dbline 30
 0022           ; /*            字符输入函数             */     
 0022           ; unsigned char getchar(void)
 0022           ;       {
 0022           L7:
 0022                   .dbline 31
 0022           L8:
 0022                   .dbline 31
 0022           ;        while(!(UCSRA& (1<<RXC)));
 0022 5F9B              sbis 0xb,7
 0024 FECF              rjmp L7
 0026                   .dbline 32
 0026           ;      return UDR;
 0026 0CB1              in R16,0xc
 0028                   .dbline -2
 0028           L6:
 0028                   .dbline 0 ; func end
 0028 0895              ret
 002A                   .dbend
                        .area vector(rom, abs)
                        .org 22
 0016 15C0              rjmp _isp
                        .area text(rom, con, rel)
 002A                   .dbfile E:\icc\iccavr\mega8\mega8\music\isp.c
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\icc\iccavr\mega8\mega8\music\isp.c
 0000           L11:
 0000                   .blkb 2
                        .area text(rom, con, rel)
 002A                   .dbfile E:\icc\iccavr\mega8\mega8\music\isp.c
 002A                   .dbfunc e isp _isp fV
 002A                   .dbsym s adder L11 i
 002A           ;            val -> R20
                        .even
 002A           _isp::
 002A 00D0              rcall push_lset
 002C 00D0              rcall push_gset1
 002E                   .dbline -1
 002E                   .dbline 36
 002E           ;       }       
 002E           ; #pragma interrupt_handler isp:iv_USART_RXC
 002E           ; void isp(void)
 002E           ;        {        
 002E                   .dbline 39
 002E           ;         static unsigned int adder;
 002E           ;         unsigned char val;
 002E           ;         val=UDR;
 002E 4CB1              in R20,0xc
 0030                   .dbline 40
 0030           ;         switch (val)
 0030 5527              clr R21
 0032 4C34              cpi R20,76
 0034 E0E0              ldi R30,0
 0036 5E07              cpc R21,R30
 0038 09F4              brne X1
 003A AFC0              rjmp L22
 003C           X1:
 003C 8CE4              ldi R24,76
 003E 90E0              ldi R25,0
 0040 8417              cp R24,R20
 0042 9507              cpc R25,R21
 0044 D4F0              brlt L36
 0046           L35:
 0046 4B31              cpi R20,27
 0048 E0E0              ldi R30,0
 004A 5E07              cpc R21,R30
 004C 09F4              brne X2
 004E E6C0              rjmp L13
 0050           X2:
 0050 4B31              cpi R20,27
 0052 E0E0              ldi R30,0
 0054 5E07              cpc R21,R30
 0056 0CF4              brge X3
 0058 DFC0              rjmp L12
 005A           X3:
 005A           L37:
 005A 4134              cpi R20,65
 005C E0E0              ldi R30,0
 005E 5E07              cpc R21,R30
 0060 09F4              brne X4
 0062 5FC0              rjmp L19
 0064           X4:
 0064 4434              cpi R20,68
 0066 E0E0              ldi R30,0
 0068 5E07              cpc R21,R30
 006A 09F4              brne X5
 006C 73C0              rjmp L20
 006E           X5:
 006E 4634              cpi R20,70
 0070 E0E0              ldi R30,0
 0072 5E07              cpc R21,R30
 0074 09F4              brne X6
 0076 9FC0              rjmp L26
 0078           X6:
 0078 CFC0              rjmp L12
 007A           L36:
 007A 4136              cpi R20,97
 007C E0E0              ldi R30,0
 007E 5E07              cpc R21,R30
 0080 09F4              brne X7
 0082 4CC0              rjmp L18
 0084           X7:
 0084 4436              cpi R20,100
 0086 E0E0              ldi R30,0
 0088 5E07              cpc R21,R30
 008A 09F4              brne X8
 008C 76C0              rjmp L21
 008E           X8:
 008E 84E6              ldi R24,100
 0090 90E0              ldi R25,0
 0092 8417              cp R24,R20
 0094 9507              cpc R25,R21
 0096 ACF0              brlt L39
 0098           L38:
 0098 4035              cpi R20,80
 009A E0E0              ldi R30,0
 009C 5E07              cpc R21,R30
 009E 09F4              brne X9
 00A0 38C0              rjmp L17
 00A2           X9:
 00A2 4335              cpi R20,83
 00A4 E0E0              ldi R30,0
 00A6 5E07              cpc R21,R30
 00A8 09F4              brne X10
 00AA 8FC0              rjmp L28
 00AC           X10:
 00AC 4435              cpi R20,84
 00AE E0E0              ldi R30,0
 00B0 5E07              cpc R21,R30
 00B2 09F4              brne X11
 00B4 77C0              rjmp L23
 00B6           X11:
 00B6 4635              cpi R20,86
 00B8 E0E0              ldi R30,0
 00BA 5E07              cpc R21,R30
 00BC 09F4              brne X12
 00BE 97C0              rjmp L30
 00C0           X12:
 00C0 ABC0              rjmp L12
 00C2           L39:
 00C2 4D36              cpi R20,109
 00C4 E0E0              ldi R30,0
 00C6 5E07              cpc R21,R30
 00C8 09F4              brne X13
 00CA A3C0              rjmp L34
 00CC           X13:
 00CC 4037              cpi R20,112
 00CE E0E0              ldi R30,0
 00D0 5E07              cpc R21,R30
 00D2 09F4              brne X14
 00D4 89C0              rjmp L29
 00D6           X14:
 00D6 4337              cpi R20,115
 00D8 E0E0              ldi R30,0
 00DA 5E07              cpc R21,R30
 00DC 09F4              brne X15
 00DE 6EC0              rjmp L27
 00E0           X15:
 00E0 4437              cpi R20,116
 00E2 E0E0              ldi R30,0
 00E4 5E07              cpc R21,R30
 00E6 81F0              breq L16
 00E8 4637              cpi R20,118
 00EA E0E0              ldi R30,0
 00EC 5E07              cpc R21,R30
 00EE 09F4              brne X16
 00F0 83C0              rjmp L31
 00F2           X16:
 00F2 4837              cpi R20,120
 00F4 E0E0              ldi R30,0
 00F6 5E07              cpc R21,R30
 00F8 09F4              brne X17
 00FA 83C0              rjmp L32
 00FC           X17:
 00FC 4937              cpi R20,121
 00FE E0E0              ldi R30,0
 0100 5E07              cpc R21,R30
 0102 09F4              brne X18
 0104 82C0              rjmp L33
 0106           X18:
 0106 88C0              rjmp L12
 0108           X0:
 0108                   .dbline 41
 0108           ;                        {
 0108                   .dbline 42
 0108           ;                         case 0x1b:{                                                    
 0108                   .dbline 43
 0108           ;                                                break;
 0108           L16:
 0108                   .dbline 45
 0108           ;                                               }
 0108           ;                         case 't':{
 0108                   .dbline 46
 0108           ;                                               putchar(device);
 0108 06E7              ldi R16,118
 010A 87DF              rcall _putchar
 010C                   .dbline 47
 010C           ;                                               putchar(0x00);
 010C 0027              clr R16
 010E 85DF              rcall _putchar
 0110                   .dbline 48
 0110           ;                                           break;
 0110 85C0              rjmp L13
 0112           L17:
 0112                   .dbline 50
 0112           ;                                          }
 0112           ;                         case 'P':{                                    
 0112                   .dbline 51
 0112           ;                                               clr_bit(DDRC,0);
 0112 A098              cbi 0x14,0
 0114                   .dbline 52
 0114           ;                                               CLI();
 0114 F894              cli
 0116                   .dbline 53
 0116           ;                                               putchar(13);
 0116 0DE0              ldi R16,13
 0118 80DF              rcall _putchar

⌨️ 快捷键说明

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