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

📄 lcd.lis

📁 基于AVR单片机的热电偶测量系统源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 00F6                   .dbline -2
 00F6           L7:
 00F6 0E940000          xcall pop_gset4
 00FA                   .dbline 0 ; func end
 00FA 0895              ret
 00FC                   .dbsym r c_column_lsb 20 c
 00FC                   .dbsym r c_column_msb 20 c
 00FC                   .dbsym r start_page 22 c
 00FC                   .dbsym r j 20 c
 00FC                   .dbsym r i 12 c
 00FC                   .dbsym r c_page_end 10 c
 00FC                   .dbsym r c_page_start 12 c
 00FC                   .dbend
 00FC                   .dbfunc e Bmp8x8 _Bmp8x8 fV
 00FC           ;              i -> R20
 00FC           ;          pdata -> R22,R23
 00FC           ;         column -> R20
 00FC           ;           page -> R10
                        .even
 00FC           _Bmp8x8::
 00FC 0E940000          xcall push_gset3
 0100 422F              mov R20,R18
 0102 A02E              mov R10,R16
 0104 6E81              ldd R22,y+6
 0106 7F81              ldd R23,y+7
 0108                   .dbline -1
 0108                   .dbline 169
 0108           ;         {
 0108           ;               Send_Byte(WHITE);       //清除页内所有列显示的数据
 0108           ;         }
 0108           ;         start_page++;   //清除下一页数据
 0108           ;     }
 0108           ; }
 0108           ; 
 0108           ; //////////////////////////////////////////////////////////////////////////
 0108           ; //绘制一个8*8大小的位图
 0108           ; //////////////////////////////////////////////////////////////////////////
 0108           ; void Bmp8x8(unsigned char page,unsigned char column,const unsigned char 
 0108           ; *pdata)
 0108           ; {
 0108                   .dbline 172
 0108           ;         unsigned char i;
 0108           ;         
 0108           ;         Send_Command(Gen_Page(page)); //送页地址
 0108 0A2D              mov R16,R10
 010A B0DF              xcall _Gen_Page
 010C 8ADF              xcall _Send_Command
 010E                   .dbline 173
 010E           ;         Send_Command(Gen_Column_LSB(column)); //送低4位地址
 010E 042F              mov R16,R20
 0110 A4DF              xcall _Gen_Column_LSB
 0112 87DF              xcall _Send_Command
 0114                   .dbline 174
 0114           ;         Send_Command(Gen_Column_MSB(column)); //送高4位地址
 0114 042F              mov R16,R20
 0116 94DF              xcall _Gen_Column_MSB
 0118 84DF              xcall _Send_Command
 011A                   .dbline 175
 011A           ;         for(i=0;i<=7;i++)     //水平宽度为8列
 011A 4427              clr R20
 011C 06C0              xjmp L20
 011E           L17:
 011E                   .dbline 176
 011E                   .dbline 177
 011E FB01              movw R30,R22
 0120 0491              lpm R16,Z
 0122 6EDF              xcall _Send_Byte
 0124                   .dbline 178
 0124 6F5F              subi R22,255  ; offset = 1
 0126 7F4F              sbci R23,255
 0128                   .dbline 179
 0128           L18:
 0128                   .dbline 175
 0128 4395              inc R20
 012A           L20:
 012A                   .dbline 175
 012A 87E0              ldi R24,7
 012C 8417              cp R24,R20
 012E B8F7              brsh L17
 0130                   .dbline -2
 0130           L16:
 0130 0E940000          xcall pop_gset3
 0134                   .dbline 0 ; func end
 0134 0895              ret
 0136                   .dbsym r i 20 c
 0136                   .dbsym r pdata 22 pkc
 0136                   .dbsym r column 20 c
 0136                   .dbsym r page 10 c
 0136                   .dbend
 0136                   .dbfunc e Bmp8x16 _Bmp8x16 fV
 0136           ;              j -> R20
 0136           ;              i -> R14
 0136           ;          pdata -> R10,R11
 0136           ;         column -> R12
 0136           ;           page -> R22
                        .even
 0136           _Bmp8x16::
 0136 0E940000          xcall push_gset5
 013A C22E              mov R12,R18
 013C 602F              mov R22,R16
 013E AA84              ldd R10,y+10
 0140 BB84              ldd R11,y+11
 0142                   .dbline -1
 0142                   .dbline 186
 0142           ;         {
 0142           ;                 Send_Byte(*pdata);
 0142           ;                 pdata++;
 0142           ;         }
 0142           ; }
 0142           ; //////////////////////////////////////////////////////////////////////////
 0142           ; //绘制一个8*16大小的位图
 0142           ; //////////////////////////////////////////////////////////////////////////
 0142           ; void Bmp8x16(unsigned char page,unsigned char column,const unsigned char 
 0142           ; *pdata)
 0142           ; {
 0142                   .dbline 190
 0142           ;          unsigned char i;
 0142           ;          unsigned char j;
 0142           ;          
 0142           ;          for(j=0;j<=1;j++)
 0142 4427              clr R20
 0144 17C0              xjmp L25
 0146           L22:
 0146                   .dbline 191
 0146           ;          {
 0146                   .dbline 192
 0146           ;                  Send_Command(Gen_Page(page));
 0146 062F              mov R16,R22
 0148 91DF              xcall _Gen_Page
 014A 6BDF              xcall _Send_Command
 014C                   .dbline 193
 014C           ;              Send_Command(Gen_Column_LSB(column));
 014C 0C2D              mov R16,R12
 014E 85DF              xcall _Gen_Column_LSB
 0150 68DF              xcall _Send_Command
 0152                   .dbline 194
 0152           ;              Send_Command(Gen_Column_MSB(column));  
 0152 0C2D              mov R16,R12
 0154 75DF              xcall _Gen_Column_MSB
 0156 65DF              xcall _Send_Command
 0158                   .dbline 195
 0158           ;          for(i=0;i<=7;i++)
 0158 EE24              clr R14
 015A 07C0              xjmp L29
 015C           L26:
 015C                   .dbline 196
 015C                   .dbline 197
 015C F501              movw R30,R10
 015E 0491              lpm R16,Z
 0160 4FDF              xcall _Send_Byte
 0162                   .dbline 198
 0162 C501              movw R24,R10
 0164 0196              adiw R24,1
 0166 5C01              movw R10,R24
 0168                   .dbline 199
 0168           L27:
 0168                   .dbline 195
 0168 E394              inc R14
 016A           L29:
 016A                   .dbline 195
 016A 87E0              ldi R24,7
 016C 8E15              cp R24,R14
 016E B0F7              brsh L26
 0170                   .dbline 200
 0170 6395              inc R22
 0172                   .dbline 201
 0172           L23:
 0172                   .dbline 190
 0172 4395              inc R20
 0174           L25:
 0174                   .dbline 190
 0174 81E0              ldi R24,1
 0176 8417              cp R24,R20
 0178 30F7              brsh L22
 017A                   .dbline -2
 017A           L21:
 017A 0E940000          xcall pop_gset5
 017E                   .dbline 0 ; func end
 017E 0895              ret
 0180                   .dbsym r j 20 c
 0180                   .dbsym r i 14 c
 0180                   .dbsym r pdata 10 pkc
 0180                   .dbsym r column 12 c
 0180                   .dbsym r page 22 c
 0180                   .dbend
 0180                   .dbfunc e Bmp8x16_rev _Bmp8x16_rev fV
 0180           ;              j -> R20
 0180           ;              i -> R14
 0180           ;          pdata -> R10,R11
 0180           ;         column -> R12
 0180           ;           page -> R22
                        .even
 0180           _Bmp8x16_rev::
 0180 0E940000          xcall push_gset5
 0184 C22E              mov R12,R18
 0186 602F              mov R22,R16
 0188 AA84              ldd R10,y+10
 018A BB84              ldd R11,y+11
 018C                   .dbline -1
 018C                   .dbline 209
 018C           ;              {
 018C           ;                      Send_Byte(*pdata);
 018C           ;                      pdata++;
 018C           ;              }
 018C           ;              page++;
 018C           ;          }
 018C           ; }
 018C           ; 
 018C           ; //////////////////////////////////////////////////////////////////////////
 018C           ; //绘制一个反白显示8*16大小的位图
 018C           ; //////////////////////////////////////////////////////////////////////////
 018C           ; void Bmp8x16_rev(unsigned char page,unsigned char column,const unsigned char 
 018C           ; *pdata)
 018C           ; {
 018C                   .dbline 213
 018C           ;          unsigned char i;
 018C           ;          unsigned char j;
 018C           ;          
 018C           ;          for(j=0;j<=1;j++)
 018C 4427              clr R20
 018E 18C0              xjmp L34
 0190           L31:
 0190                   .dbline 214
 0190           ;          {
 0190                   .dbline 215
 0190           ;                  Send_Command(Gen_Page(page));
 0190 062F              mov R16,R22
 0192 6CDF              xcall _Gen_Page
 0194 46DF              xcall _Send_Command
 0196                   .dbline 216
 0196           ;              Send_Command(Gen_Column_LSB(column));
 0196 0C2D              mov R16,R12
 0198 60DF              xcall _Gen_Column_LSB
 019A 43DF              xcall _Send_Command
 019C                   .dbline 217
 019C           ;              Send_Command(Gen_Column_MSB(column));  
 019C 0C2D              mov R16,R12
 019E 50DF              xcall _Gen_Column_MSB
 01A0 40DF              xcall _Send_Command
 01A2                   .dbline 218
 01A2           ;          for(i=0;i<=7;i++)
 01A2 EE24              clr R14
 01A4 08C0              xjmp L38
 01A6           L35:
 01A6                   .dbline 219
 01A6                   .dbline 220
 01A6 F501              movw R30,R10
 01A8 0491              lpm R16,Z
 01AA 0095              com R16
 01AC 29DF              xcall _Send_Byte
 01AE                   .dbline 221
 01AE C501              movw R24,R10
 01B0 0196              adiw R24,1
 01B2 5C01              movw R10,R24
 01B4                   .dbline 222
 01B4           L36:
 01B4                   .dbline 218
 01B4 E394              inc R14
 01B6           L38:
 01B6                   .dbline 218
 01B6 87E0              ldi R24,7
 01B8 8E15              cp R24,R14
 01BA A8F7              brsh L35
 01BC                   .dbline 223
 01BC 6395              inc R22
 01BE                   .dbline 224
 01BE           L32:
 01BE                   .dbline 213
 01BE 4395              inc R20
 01C0           L34:
 01C0                   .dbline 213
 01C0 81E0              ldi R24,1
 01C2 8417              cp R24,R20
 01C4 28F7              brsh L31
 01C6                   .dbline -2
 01C6           L30:
 01C6 0E940000          xcall pop_gset5
 01CA                   .dbline 0 ; func end
 01CA 0895              ret
 01CC                   .dbsym r j 20 c
 01CC                   .dbsym r i 14 c
 01CC                   .dbsym r pdata 10 pkc
 01CC                   .dbsym r column 12 c
 01CC                   .dbsym r page 22 c
 01CC                   .dbend
 01CC                   .dbfunc e Draw_NtoArab _Draw_NtoArab fV
 01CC           ;         number -> y+8
 01CC           ;         column -> R22
 01CC           ;           page -> R20
                        .even
 01CC           _Draw_NtoArab::
 01CC 0E940000          xcall push_gset3
 01D0 622F              mov R22,R18
 01D2 402F              mov R20,R16
 01D4 2297              sbiw R28,2
 01D6                   .dbline -1
 01D6                   .dbline 231
 01D6           ;              {
 01D6           ;                      Send_Byte(~(*pdata));
 01D6           ;                      pdata++;
 01D6           ;              }
 01D6           ;              page++;
 01D6           ;          }
 01D6           ; }
 01D6           ; 
 01D6           ; //////////////////////////////////////////////////////////////////////
 01D6           ; //数值大小与阿拉伯数字之间的转换显示
 01D6           ; //////////////////////////////////////////////////////////////////////
 01D6           ; void Draw_NtoArab(unsigned char page,unsigned char column,unsigned char number)
 01D6           ; {
 01D6                   .dbline 232
 01D6           ;       switch(number)
 01D6 A884              ldd R10,y+8
 01D8 BB24              clr R11
 01DA AA20              tst R10
 01DC 19F4              brne X0
 01DE BB20              tst R11
 01E0 09F4              brne X2
 01E2 2FC0              xjmp L43
 01E4           X2:
 01E4           X0:
 01E4 C501              movw R24,R10
 01E6 8130              cpi R24,1
 01E8 E0E0              ldi R30,0
 01EA 9E07              cpc R25,R30
 01EC 09F4              brne X3
 01EE 31C0              xjmp L44
 01F0           X3:
 01F0 8230              cpi R24,2

⌨️ 快捷键说明

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