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

📄 no2.lis

📁 12864LCD液晶仿真
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 007E 78F3              brlo L18
 0080           X4:
 0080                   .dbline -2
 0080           L17:
 0080                   .dbline 0 ; func end
 0080 0C940000          xjmp pop_xgset003C
 0084                   .dbsym r i 10 i
 0084                   .dbsym r j 12 i
 0084                   .dbsym r ms 16 i
 0084                   .dbend
 0084                   .dbfunc e Lcd_Write_Byte _Lcd_Write_Byte fV
 0084           ;           temp -> R16
                        .even
 0084           _Lcd_Write_Byte::
 0084                   .dbline -1
 0084                   .dbline 106
 0084           ; }
 0084           ; void Lcd_Write_Byte(uchar temp)
 0084           ; {   
 0084                   .dbline 107
 0084           ;     PORTB|=BIT(0);
 0084 C09A              sbi 0x18,0
 0086                   .dbline 108
 0086           ;     PORTB&=~BIT(1);    //W
 0086 C198              cbi 0x18,1
 0088                   .dbline 109
 0088           ;     PORTB|=BIT(4); //E使能
 0088 C49A              sbi 0x18,4
 008A                   .dbline 110
 008A           ;     DDRA=0xff; //a输出
 008A 8FEF              ldi R24,255
 008C 8ABB              out 0x1a,R24
 008E                   .dbline 111
 008E           ;     PORTA=temp;
 008E 0BBB              out 0x1b,R16
 0090                   .dbline 112
 0090           ;     asm("nop");
 0090 0000              nop
 0092                   .dbline 113
 0092           ;     asm("nop");
 0092 0000              nop
 0094                   .dbline 114
 0094           ;     asm("nop");
 0094 0000              nop
 0096                   .dbline 115
 0096           ;     asm("nop");
 0096 0000              nop
 0098                   .dbline 116
 0098           ;     PORTB&=~BIT(4);    
 0098 C498              cbi 0x18,4
 009A                   .dbline 117
 009A           ;     PORTA=0xff;
 009A 8BBB              out 0x1b,R24
 009C                   .dbline -2
 009C           L26:
 009C                   .dbline 0 ; func end
 009C 0895              ret
 009E                   .dbsym r temp 16 c
 009E                   .dbend
 009E                   .dbfunc e Lcd_Write_COM _Lcd_Write_COM fV
 009E           ;            COL -> R16
                        .even
 009E           _Lcd_Write_COM::
 009E                   .dbline -1
 009E                   .dbline 120
 009E           ; }
 009E           ; void Lcd_Write_COM(uchar COL)
 009E           ; {   
 009E                   .dbline 121
 009E           ;     PORTB&=~BIT(0);
 009E C098              cbi 0x18,0
 00A0                   .dbline 122
 00A0           ;     PORTB&=~BIT(1);    //W
 00A0 C198              cbi 0x18,1
 00A2                   .dbline 123
 00A2           ;     PORTB|=BIT(4); //E使能
 00A2 C49A              sbi 0x18,4
 00A4                   .dbline 124
 00A4           ;     DDRA=0xff; //a输出
 00A4 8FEF              ldi R24,255
 00A6 8ABB              out 0x1a,R24
 00A8                   .dbline 125
 00A8           ;     PORTA=COL;
 00A8 0BBB              out 0x1b,R16
 00AA                   .dbline 126
 00AA           ;     asm("nop");
 00AA 0000              nop
 00AC                   .dbline 127
 00AC           ;     asm("nop");
 00AC 0000              nop
 00AE                   .dbline 128
 00AE           ;     asm("nop");
 00AE 0000              nop
 00B0                   .dbline 129
 00B0           ;     asm("nop");
 00B0 0000              nop
 00B2                   .dbline 130
 00B2           ;     PORTB&=~BIT(4);    
 00B2 C498              cbi 0x18,4
 00B4                   .dbline -2
 00B4           L27:
 00B4                   .dbline 0 ; func end
 00B4 0895              ret
 00B6                   .dbsym r COL 16 c
 00B6                   .dbend
 00B6                   .dbfunc e set_page_L _set_page_L fV
 00B6           ;           page -> R10
                        .even
 00B6           _set_page_L::
 00B6 AA92              st -y,R10
 00B8 A02E              mov R10,R16
 00BA                   .dbline -1
 00BA                   .dbline 136
 00BA           ;  
 00BA           ; }
 00BA           ; 
 00BA           ; 
 00BA           ; void set_page_L(unsigned char page)   /*设置X地址 设置页*/  //0-7
 00BA           ; {
 00BA                   .dbline 137
 00BA           ;    Lcd_Write_COM(0xb8|page);                     
 00BA 0A2D              mov R16,R10
 00BC 086B              ori R16,184
 00BE EFDF              xcall _Lcd_Write_COM
 00C0                   .dbline -2
 00C0           L28:
 00C0                   .dbline 0 ; func end
 00C0 A990              ld R10,y+
 00C2 0895              ret
 00C4                   .dbsym r page 10 c
 00C4                   .dbend
 00C4                   .dbfunc e set_page_R _set_page_R fV
 00C4           ;           page -> R10
                        .even
 00C4           _set_page_R::
 00C4 AA92              st -y,R10
 00C6 A02E              mov R10,R16
 00C8                   .dbline -1
 00C8                   .dbline 140
 00C8           ; }
 00C8           ; void set_page_R(unsigned char page)   /*设置X地址 设置页*/ //0-7
 00C8           ; {
 00C8                   .dbline 141
 00C8           ;     Lcd_Write_COM(0xb8|page);                     
 00C8 0A2D              mov R16,R10
 00CA 086B              ori R16,184
 00CC E8DF              xcall _Lcd_Write_COM
 00CE                   .dbline -2
 00CE           L29:
 00CE                   .dbline 0 ; func end
 00CE A990              ld R10,y+
 00D0 0895              ret
 00D2                   .dbsym r page 10 c
 00D2                   .dbend
 00D2                   .dbfunc e set_col_addr_L _set_col_addr_L fV
 00D2           ;            col -> R10
                        .even
 00D2           _set_col_addr_L::
 00D2 AA92              st -y,R10
 00D4 A02E              mov R10,R16
 00D6                   .dbline -1
 00D6                   .dbline 145
 00D6           ; }
 00D6           ; 
 00D6           ; void set_col_addr_L(unsigned char col) /*设置Y地址*/ //0-63
 00D6           ; {
 00D6                   .dbline 147
 00D6           ;      
 00D6           ;    Lcd_Write_COM(0x40|col);                     
 00D6 0A2D              mov R16,R10
 00D8 0064              ori R16,64
 00DA E1DF              xcall _Lcd_Write_COM
 00DC                   .dbline -2
 00DC           L30:
 00DC                   .dbline 0 ; func end
 00DC A990              ld R10,y+
 00DE 0895              ret
 00E0                   .dbsym r col 10 c
 00E0                   .dbend
 00E0                   .dbfunc e set_col_addr_R _set_col_addr_R fV
 00E0           ;            col -> R10
                        .even
 00E0           _set_col_addr_R::
 00E0 AA92              st -y,R10
 00E2 A02E              mov R10,R16
 00E4                   .dbline -1
 00E4                   .dbline 151
 00E4           ; }
 00E4           ; 
 00E4           ; void set_col_addr_R(unsigned char col) /*设置Y地址*/ //0-63
 00E4           ; {
 00E4                   .dbline 152
 00E4           ;     Lcd_Write_COM(0x40|col);                        
 00E4 0A2D              mov R16,R10
 00E6 0064              ori R16,64
 00E8 DADF              xcall _Lcd_Write_COM
 00EA                   .dbline -2
 00EA           L31:
 00EA                   .dbline 0 ; func end
 00EA A990              ld R10,y+
 00EC 0895              ret
 00EE                   .dbsym r col 10 c
 00EE                   .dbend
 00EE                   .dbfunc e Lcd_Set_X_Y _Lcd_Set_X_Y fV
 00EE           ;              y -> R12
 00EE           ;              x -> R10
                        .even
 00EE           _Lcd_Set_X_Y::
 00EE AA92              st -y,R10
 00F0 CA92              st -y,R12
 00F2 C22E              mov R12,R18
 00F4 A02E              mov R10,R16
 00F6                   .dbline -1
 00F6                   .dbline 163
 00F6           ; }
 00F6           ; 
 00F6           ; 
 00F6           ; /********************************************************************************************
 00F6           ; * 函数名称:Lcd_Set_X_Y(uchar x, uchar y )
 00F6           ; * 功    能:LCD设置x y坐标
 00F6           ; * 入口参数:x y
 00F6           ; * 出口参数:无
 00F6           ; *********************************************************************************************/
 00F6           ; void Lcd_Set_X_Y(uchar x, uchar y)
 00F6           ; {   
 00F6                   .dbline 164
 00F6           ;    if(y<64)
 00F6 8C2D              mov R24,R12
 00F8 8034              cpi R24,64
 00FA 28F4              brsh L33
 00FC           X5:
 00FC                   .dbline 165
 00FC           ;       {   PORTB&=~BIT(3);
 00FC                   .dbline 165
 00FC C398              cbi 0x18,3
 00FE                   .dbline 166
 00FE           ;             PORTB|=BIT(2);
 00FE C29A              sbi 0x18,2
 0100                   .dbline 168
 0100           ;          
 0100           ;               set_col_addr_L(y);
 0100 082F              mov R16,R24
 0102 E7DF              xcall _set_col_addr_L
 0104                   .dbline 169
 0104           ;         }
 0104 04C0              xjmp L34
 0106           L33:
 0106                   .dbline 171
 0106           ;    else
 0106           ;       {   
 0106                   .dbline 172
 0106           ;                  PORTB|=BIT(3);
 0106 C39A              sbi 0x18,3
 0108                   .dbline 173
 0108           ;           PORTB&=~BIT(2);
 0108 C298              cbi 0x18,2
 010A                   .dbline 174
 010A           ;               set_col_addr_R(y);
 010A 0C2D              mov R16,R12
 010C E9DF              xcall _set_col_addr_R
 010E                   .dbline 175
 010E           ;         }
 010E           L34:
 010E                   .dbline 176
 010E           ;    set_page_L( x);
 010E 0A2D              mov R16,R10
 0110 D2DF              xcall _set_page_L
 0112                   .dbline 177
 0112           ;    set_page_R( x);
 0112 0A2D              mov R16,R10
 0114 D7DF              xcall _set_page_R
 0116                   .dbline -2
 0116           L32:
 0116                   .dbline 0 ; func end
 0116 C990              ld R12,y+
 0118 A990              ld R10,y+
 011A 0895              ret
 011C                   .dbsym r y 12 c
 011C                   .dbsym r x 10 c
 011C                   .dbend
 011C                   .dbfunc e Lcd_Character_16X16 _Lcd_Character_16X16 fV
 011C           ;           temp -> y+0
 011C           ;              i -> R10
 011C           ;              j -> R12
 011C           ;          point -> y+11
 011C           ;              y -> R14
 011C           ;              x -> y+7
 011C           ;       bit_flag -> R10
                        .even
 011C           _Lcd_Character_16X16::
 011C 3A93              st -y,r19
 011E 2A93              st -y,r18
 0120 0E940000          xcall push_xgset00FC
 0124 A02E              mov R10,R16
 0126 2197              sbiw R28,1
 0128 E984              ldd R14,y+9
 012A                   .dbline -1
 012A                   .dbline 188
 012A           ; }
 012A           ; 
 012A           ; /****************************************************************************
 012A           ; * 名称:Lcd_Character_16X16( bit bit_flag, uchar x, uchar y, uchar code *point )
 012A           ; * 功能:显示16*16字符(汉字)       
 012A           ; * 入口参数:x y data
 012A           ; * 出口参数:无
 012A           ; *说明:bit_flag = 1 正常显示 bit_flag = 0 黑白反相显示
 012A           ; ****************************************************************************/
 012A           ; void Lcd_Character_16X16( uchar bit_flag, uchar x, uchar y, uchar  *point )
 012A           ; {

⌨️ 快捷键说明

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