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

📄 main.lis

📁 12864液晶不带字库的各种刷屏显示方式
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\SOURCE~1\手持gps测量仪\main.c
 0000                   .dbfile D:\SOURCE~1\手持gps测量仪\delay.h
 0000                   .dbfunc e Delay_1us _Delay_1us fV
                        .even
 0000           _Delay_1us::
 0000                   .dbline -1
 0000                   .dbline 53
 0000           ; #ifndef       _DELAY_H
 0000           ; #define       _DELAY_H
 0000           ; 
 0000           ; // mcu:avr   crystal=8MHz
 0000           ; 
 0000           ; /**************************************************************
 0000           ; **函数功能:延时1us
 0000           ; **输入参数:无
 0000           ; **返回值:无
 0000           ; **在本函数外定义变量:无
 0000           ; **调用的函数:NOP()
 0000           ; **************************************************************/
 0000           ; void Delay_1us(void);
 0000           ; 
 0000           ; /**************************************************************
 0000           ; **函数功能:us级延时
 0000           ; **输入参数:xus:延时us数
 0000           ; **返回值:无
 0000           ; **在本函数外定义变量:无
 0000           ; **调用的函数:Delay_1us()
 0000           ; **************************************************************/
 0000           ; void Delay_Us(unsigned char xus);
 0000           ; 
 0000           ; /**************************************************************
 0000           ; **函数功能:延时1ms
 0000           ; **输入参数:无
 0000           ; **返回值:无
 0000           ; **在本函数外定义变量:无
 0000           ; **调用的函数:NOP()
 0000           ; **************************************************************/
 0000           ; void Delay_1ms(void);
 0000           ; 
 0000           ; /**************************************************************
 0000           ; **函数功能:ms级延时
 0000           ; **输入参数:xms:延时ms数
 0000           ; **返回值:无
 0000           ; **在本函数外定义变量:无
 0000           ; **调用的函数:Delay_1ms()
 0000           ; **************************************************************/
 0000           ; void Delay_Ms(unsigned int xms);
 0000           ; 
 0000           ; /**************************************************************
 0000           ; **函数功能:10us级延时
 0000           ; **输入参数:x10us:延时x10us数
 0000           ; **返回值:无
 0000           ; **在本函数外定义变量:无
 0000           ; **调用的函数:无
 0000           ; **************************************************************/
 0000           ; void Delay10us(Word x10us);
 0000           ; 
 0000           ; 
 0000           ; void Delay_1us()
 0000           ; {
 0000                   .dbline 54
 0000           ;       NOP();
 0000 0000              nop
 0002                   .dbline -2
 0002           L1:
 0002                   .dbline 0 ; func end
 0002 0895              ret
 0004                   .dbend
 0004                   .dbfunc e Delay_Us _Delay_Us fV
 0004           ;              i -> R10
 0004           ;            xus -> R12
                        .even
 0004           _Delay_Us::
 0004 AA92              st -y,R10
 0006 CA92              st -y,R12
 0008 C02E              mov R12,R16
 000A                   .dbline -1
 000A                   .dbline 58
 000A           ; }
 000A           ; 
 000A           ; void Delay_Us(unsigned char xus)
 000A           ; {
 000A                   .dbline 60
 000A           ;       unsigned char i;
 000A           ;       for(i=0;i<xus;i++)
 000A AA24              clr R10
 000C 02C0              xjmp L6
 000E           L3:
 000E                   .dbline 61
 000E           ;               Delay_1us();
 000E F8DF              xcall _Delay_1us
 0010           L4:
 0010                   .dbline 60
 0010 A394              inc R10
 0012           L6:
 0012                   .dbline 60
 0012 AC14              cp R10,R12
 0014 E0F3              brlo L3
 0016           X0:
 0016                   .dbline -2
 0016           L2:
 0016                   .dbline 0 ; func end
 0016 C990              ld R12,y+
 0018 A990              ld R10,y+
 001A 0895              ret
 001C                   .dbsym r i 10 c
 001C                   .dbsym r xus 12 c
 001C                   .dbend
 001C                   .dbfunc e Delay_1ms _Delay_1ms fV
 001C           ;              i -> R16,R17
                        .even
 001C           _Delay_1ms::
 001C                   .dbline -1
 001C                   .dbline 65
 001C           ; }
 001C           ; 
 001C           ; void Delay_1ms(void)
 001C           ; {
 001C                   .dbline 67
 001C           ;       unsigned int i;
 001C           ;       for(i=0;i<1142;i++)
 001C 0027              clr R16
 001E 1127              clr R17
 0020 02C0              xjmp L11
 0022           L8:
 0022                   .dbline 68
 0022           ;               ;
 0022           L9:
 0022                   .dbline 67
 0022 0F5F              subi R16,255  ; offset = 1
 0024 1F4F              sbci R17,255
 0026           L11:
 0026                   .dbline 67
 0026 0637              cpi R16,118
 0028 E4E0              ldi R30,4
 002A 1E07              cpc R17,R30
 002C D0F3              brlo L8
 002E           X1:
 002E                   .dbline -2
 002E           L7:
 002E                   .dbline 0 ; func end
 002E 0895              ret
 0030                   .dbsym r i 16 i
 0030                   .dbend
 0030                   .dbfunc e Delay_Ms _Delay_Ms fV
 0030           ;              i -> R20,R21
 0030           ;              j -> R22,R23
 0030           ;            xms -> R16,R17
                        .even
 0030           _Delay_Ms::
 0030 0E940000          xcall push_xgsetF000
 0034                   .dbline -1
 0034                   .dbline 72
 0034           ; }
 0034           ; 
 0034           ; void Delay_Ms(Word xms) //crystal=8MHz
 0034           ; {
 0034                   .dbline 74
 0034           ;       Word i,j; //variable:declare Word
 0034           ;       for(i=0; i<xms; i++)
 0034 4427              clr R20
 0036 5527              clr R21
 0038 14C0              xjmp L16
 003A           L13:
 003A                   .dbline 75
 003A           ;               for(j=0; j<498;j++)
 003A 6627              clr R22
 003C 7727              clr R23
 003E 0BC0              xjmp L20
 0040           L17:
 0040                   .dbline 76
 0040           ;               {
 0040                   .dbline 77
 0040           ;                       NOP();
 0040 0000              nop
 0042                   .dbline 78
 0042           ;                       NOP();
 0042 0000              nop
 0044                   .dbline 79
 0044           ;                       NOP();
 0044 0000              nop
 0046                   .dbline 80
 0046           ;                       NOP();
 0046 0000              nop
 0048                   .dbline 81
 0048           ;                       NOP();
 0048 0000              nop
 004A                   .dbline 82
 004A           ;                       NOP();
 004A 0000              nop
 004C                   .dbline 83
 004C           ;                       NOP();
 004C 0000              nop
 004E                   .dbline 84
 004E           ;                       NOP();
 004E 0000              nop
 0050                   .dbline 85
 0050           ;                       NOP();
 0050 0000              nop
 0052                   .dbline 86
 0052           ;               }
 0052           L18:
 0052                   .dbline 75
 0052 6F5F              subi R22,255  ; offset = 1
 0054 7F4F              sbci R23,255
 0056           L20:
 0056                   .dbline 75
 0056 623F              cpi R22,242
 0058 E1E0              ldi R30,1
 005A 7E07              cpc R23,R30
 005C 88F3              brlo L17
 005E           X2:
 005E           L14:
 005E                   .dbline 74
 005E 4F5F              subi R20,255  ; offset = 1
 0060 5F4F              sbci R21,255
 0062           L16:
 0062                   .dbline 74
 0062 4017              cp R20,R16
 0064 5107              cpc R21,R17
 0066 48F3              brlo L13
 0068           X3:
 0068                   .dbline -2
 0068           L12:
 0068                   .dbline 0 ; func end
 0068 0C940000          xjmp pop_xgsetF000
 006C                   .dbsym r i 20 i
 006C                   .dbsym r j 22 i
 006C                   .dbsym r xms 16 i
 006C                   .dbend
 006C                   .dbfunc e Delay10us _Delay10us fV
 006C           ;              i -> R20,R21
 006C           ;              j -> R22
 006C           ;          x10us -> R16,R17
                        .even
 006C           _Delay10us::
 006C 0E940000          xcall push_xgsetF000
 0070                   .dbline -1
 0070                   .dbline 90
 0070           ; }
 0070           ; 
 0070           ; void Delay10us(Word x10us)//crystal=8MHz
 0070           ; {
 0070                   .dbline 92
 0070           ;       Word i;Byte j; //variable:declare Word
 0070           ;       for(i=0; i<x10us; i++)
 0070 4427              clr R20
 0072 5527              clr R21
 0074 0AC0              xjmp L25
 0076           L22:
 0076                   .dbline 93
 0076           ;       {
 0076                   .dbline 94
 0076           ;                       for(j=0;j<2;j++)
 0076 6627              clr R22
 0078 04C0              xjmp L29
 007A           L26:
 007A                   .dbline 95
 007A           ;                       {
 007A                   .dbline 96
 007A           ;                               NOP();
 007A 0000              nop
 007C                   .dbline 97
 007C           ;                               NOP();
 007C 0000              nop
 007E                   .dbline 98
 007E           ;                               NOP();
 007E 0000              nop
 0080                   .dbline 99
 0080           ;                       }
 0080           L27:
 0080                   .dbline 94
 0080 6395              inc R22
 0082           L29:
 0082                   .dbline 94
 0082 6230              cpi R22,2
 0084 D0F3              brlo L26
 0086           X4:
 0086                   .dbline 100
 0086           ;       }
 0086           L23:
 0086                   .dbline 92
 0086 4F5F              subi R20,255  ; offset = 1
 0088 5F4F              sbci R21,255
 008A           L25:
 008A                   .dbline 92
 008A 4017              cp R20,R16
 008C 5107              cpc R21,R17
 008E 98F3              brlo L22
 0090           X5:
 0090                   .dbline -2
 0090           L21:
 0090                   .dbline 0 ; func end
 0090 0C940000          xjmp pop_xgsetF000
 0094                   .dbsym r i 20 i
 0094                   .dbsym r j 22 c
 0094                   .dbsym r x10us 16 i
 0094                   .dbend
 0094                   .dbfile D:\SOURCE~1\手持gps测量仪\usart128.h
 0094                   .dbfunc e Uart0_Init _Uart0_Init fV
                        .even
 0094           _Uart0_Init::
 0094                   .dbline -1
 0094                   .dbline 15
 0094           ; #ifndef _USART_H
 0094           ; #define _USART_H
 0094           ; 
 0094           ; void Uart0_Init(void);
 0094           ; void Usart_tarnsmit0(Byte x);
 0094           ; void Uart1_Init(void);
 0094           ; void Usart_tarnsmit1(Byte x);
 0094           ; 
 0094           ; //UART0 initialize
 0094           ; // desired baud rate: 9600
 0094           ; // actual: baud rate:9615 (0.2%)
 0094           ; // char size: 5 bits
 0094           ; // parity: Disabled
 0094           ; void Uart0_Init(void)
 0094           ; {
 0094                   .dbline 16
 0094           ;       UCSR0B = 0x00; //disable while setting baud rate
 0094 2224              clr R2
 0096 2AB8              out 0xa,R2
 0098                   .dbline 17
 0098           ;       UCSR0A = 0x00;
 0098 2BB8              out 0xb,R2
 009A                   .dbline 18
 009A           ;       UCSR0C = 0x06;
 009A 86E0              ldi R24,6
 009C 80939500          sts 149,R24
 00A0                   .dbline 19
 00A0           ;       UBRR0L = 0x33; //set baud rate lo    baud rate = 19200   0.2%
 00A0 83E3              ldi R24,51
 00A2 89B9              out 0x9,R24
 00A4                   .dbline 20
 00A4           ;       UBRR0H = 0x00; //set baud rate hi
 00A4 20929000          sts 144,R2
 00A8                   .dbline 22
 00A8           ;       //UCSR0B = 0x98;
 00A8           ;       UCSR0B |= BIT(TXEN0) | BIT(RXEN0) | BIT(RXCIE0);
 00A8 8AB1              in R24,0xa
 00AA 8869              ori R24,152
 00AC 8AB9              out 0xa,R24
 00AE                   .dbline -2
 00AE           L30:
 00AE                   .dbline 0 ; func end
 00AE 0895              ret
 00B0                   .dbend
 00B0                   .dbfunc e Usart_tarnsmit0 _Usart_tarnsmit0 fV

⌨️ 快捷键说明

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