📄 main.lss
字号:
}
for(i=0;i<L/8;i++) //从第一页写
{
Write_lcd12864_Order( (page+i)|0xb8,right);
Write_lcd12864_Order((y+ki*8)|0x40,right);
for(j=0;j<H;j++) //写行
{
Is_lcd12864_busy(right);
CLR_LCD_EN;
_delay_us(2);
SET_LCD_DI;
_delay_us(1);
CLR_LCD_RW;
_delay_us(1);
LCD12864_DataPort=ASC_5[k].Msk[H*i+j];
SET_LCD_EN;
_delay_us(2);
CLR_LCD_EN;
_delay_us(2);
}
}
break;
}
//********************************************************
case 8:
{
for(k=0;k<sizeof(ASC_8)/sizeof(ASC_8[0]);k++)
{
if(p1[0] == ASC_8[k].Index[0] )
break;
}
for(i=0;i<L/8;i++)
{
Write_lcd12864_Order( (page+i)|0xb8,right);
Write_lcd12864_Order((y+ki*8)|0x40,right);
for(j=0;j<H;j++)
{
Is_lcd12864_busy(right);
CLR_LCD_EN;
_delay_us(2);
SET_LCD_DI;
_delay_us(1);
CLR_LCD_RW;
_delay_us(1);
LCD12864_DataPort=ASC_8[k].Msk[H*i+j];
SET_LCD_EN;
_delay_us(2);
CLR_LCD_EN;
_delay_us(2);
}
}
break;
}
}
}
//********************************************************
else
for(ki=0;ki<len;ki=ki+2)
{
p1=&hz[ki];
//*************************************************************
switch(H)
{
//*************************************************************
case 12:
{
for(k=0;k<sizeof(GB_12)/sizeof(GB_12[0]);k++)
{
if(p1[0] == GB_12[k].Index[0] && p1[1] == GB_12[k].Index[1])
break;
}
for(i=0;i<L/8;i++)
{
Write_lcd12864_Order( (page+i)|0xb8,right);
Write_lcd12864_Order((y+ki*8)|0x40,right);
for(j=0;j<H;j++)
{
Is_lcd12864_busy(right);
CLR_LCD_EN;
_delay_us(2);
SET_LCD_DI;
_delay_us(1);
CLR_LCD_RW;
_delay_us(1);
LCD12864_DataPort=GB_12[k].Msk[H*i+j];
SET_LCD_EN;
_delay_us(2);
CLR_LCD_EN;
_delay_us(2);
}
}
break;
}
//********************************************************
case 16:
{
for(k=0;k<sizeof(GB_16)/sizeof(GB_16[0]);k++)
{
if(p1[0] == GB_16[k].Index[0] && p1[1] == GB_16[k].Index[1])
break;
}
for(i=0;i<L/8;i++)
{
Write_lcd12864_Order((page+i)|0xb8,right);
Write_lcd12864_Order((y+ki*8)|0x40,right);
for(j=0;j<H;j++)
{
Is_lcd12864_busy(right);
CLR_LCD_EN;
_delay_us(2);
SET_LCD_DI;
_delay_us(1);
CLR_LCD_RW;
_delay_us(1);
LCD12864_DataPort=GB_16[k].Msk[H*i+j];
SET_LCD_EN;
_delay_us(2);
CLR_LCD_EN;
_delay_us(2);
}
}
break;
}
//********************************************************
case 100:
{
for(k=0;k<sizeof(TU_48)/sizeof(TU_48[0]);k++)
{
if(p1[0] == TU_48[k].Index[0] && p1[1] == TU_48[k].Index[1])
break;
}
//CLR_LCD_CS1;
//SET_LCD_CS2;
for(i=0;i<L/8;i++)
{
Write_lcd12864_Order( (page+i)|0xb8,0);
Write_lcd12864_Order((y+ki*8)|0x40,0);
for(j=0;j<H/2+6;j++)
{
Is_lcd12864_busy(0);
CLR_LCD_EN;
_delay_us(2);
SET_LCD_DI;
_delay_us(1);
CLR_LCD_RW;
_delay_us(1);
LCD12864_DataPort=TU_48[k].Msk[H*i+j];
SET_LCD_EN;
_delay_us(2);
CLR_LCD_EN;
_delay_us(2);
}
}
//***************************************************
// SET_LCD_CS1;
// CLR_LCD_CS2;
for(i=0;i<L/8;i++)
{
Write_lcd12864_Order( (page+i)|0xb8,1);
Write_lcd12864_Order((y+ki*8)|0x40,1);
for(j=H/2+6;j<H;j++)
{
Is_lcd12864_busy(1);
CLR_LCD_EN;
_delay_us(2);
SET_LCD_DI;
_delay_us(1);
CLR_LCD_RW;
_delay_us(1);
LCD12864_DataPort=TU_48[k].Msk[H*i+j];
SET_LCD_EN;
_delay_us(2);
CLR_LCD_EN;
_delay_us(2);
}
}
break;
}
//*********************************************************
case 128:
{
for(k=0;k<sizeof(TU_64)/sizeof(TU_64[0]);k++)
{
if(p1[0] == TU_64[k].Index[0] && p1[1] == TU_64[k].Index[1])
break;
}
//CLR_LCD_CS1;
//SET_LCD_CS2;
for(i=0;i<L/8;i++)
{
Write_lcd12864_Order((page+i)|0xb8,0);
Write_lcd12864_Order((y+ki*8)|0x40,0);
for(j=0;j<H/2;j++)
{
Is_lcd12864_busy(0);
CLR_LCD_EN;
_delay_us(2);
SET_LCD_DI;
_delay_us(1);
CLR_LCD_RW;
_delay_us(1);
LCD12864_DataPort=TU_64[k].Msk[H*i+j];
SET_LCD_EN;
_delay_us(2);
CLR_LCD_EN;
_delay_us(2);
}
}
//***************************************************
// SET_LCD_CS1;
// CLR_LCD_CS2;
for(i=0;i<L/8;i++)
{
Write_lcd12864_Order( (page+i)|0xb8,1);
Write_lcd12864_Order((y+ki*8)|0x40,1);
for(j=H/2;j<H;j++)
{
Is_lcd12864_busy(1);
CLR_LCD_EN;
_delay_us(2);
SET_LCD_DI;
_delay_us(1);
CLR_LCD_RW;
_delay_us(1);
LCD12864_DataPort=TU_64[k].Msk[H*i+j];
SET_LCD_EN;
_delay_us(2);
CLR_LCD_EN;
_delay_us(2);
}
}
break;
}
//********************************************************
}
}
}
//********************************************************
//********************************************************
// //清屏
//********************************************************
void Clearscreen(UCHAR right)
{
1a2: 0f 93 push r16
1a4: 1f 93 push r17
1a6: cf 93 push r28
1a8: df 93 push r29
1aa: 18 2f mov r17, r24
1ac: c0 e0 ldi r28, 0x00 ; 0
1ae: d0 e0 ldi r29, 0x00 ; 0
UCHAR j,k;
//清半屏幕
for(k=0;k<8;k++)
{
Write_lcd12864_Order( k|0xb8,right);
1b0: 61 2f mov r22, r17
1b2: 9e 01 movw r18, r28
1b4: 28 6b ori r18, 0xB8 ; 184
1b6: 82 2f mov r24, r18
1b8: 0e 94 b5 00 call 0x16a ; 0x16a <Write_lcd12864_Order>
Write_lcd12864_Order(0x40,right);
1bc: 61 2f mov r22, r17
1be: 80 e4 ldi r24, 0x40 ; 64
1c0: 0e 94 b5 00 call 0x16a ; 0x16a <Write_lcd12864_Order>
1c4: 00 e0 ldi r16, 0x00 ; 0
for(j=0;j<64;j++)
{
Is_lcd12864_busy(right);
1c6: 81 2f mov r24, r17
1c8: 0e 94 92 00 call 0x124 ; 0x124 <Is_lcd12864_busy>
CLR_LCD_EN;
1cc: aa 98 cbi 0x15, 2 ; 21
*/
void
_delay_loop_1(uint8_t __count)
{
__asm__ volatile (
1ce: 94 e0 ldi r25, 0x04 ; 4
1d0: 89 2f mov r24, r25
1d2: 8a 95 dec r24
1d4: f1 f7 brne .-4 ; 0x1d2 <Clearscreen+0x30>
_delay_us (2);
SET_LCD_DI;
1d6: a8 9a sbi 0x15, 0 ; 21
*/
void
_delay_loop_1(uint8_t __count)
{
__asm__ volatile (
1d8: 82 e0 ldi r24, 0x02 ; 2
1da: 28 2f mov r18, r24
1dc: 2a 95 dec r18
1de: f1 f7 brne .-4 ; 0x1dc <Clearscreen+0x3a>
_delay_us(1);
CLR_LCD_RW;
1e0: a9 98 cbi 0x15, 1 ; 21
*/
void
_delay_loop_1(uint8_t __count)
{
__asm__ volatile (
1e2: 8a 95 dec r24
1e4: f1 f7 brne .-4 ; 0x1e2 <Clearscreen+0x40>
_delay_us(1);
LCD12864_DataPort_DIR=0XFF;
1e6: 8f ef ldi r24, 0xFF ; 255
1e8: 81 bb out 0x11, r24 ; 17
LCD12864_DataPort=0x00;
1ea: 12 ba out 0x12, r1 ; 18
SET_LCD_EN;
1ec: aa 9a sbi 0x15, 2 ; 21
*/
void
_delay_loop_1(uint8_t __count)
{
__asm__ volatile (
1ee: 89 2f mov r24, r25
1f0: 8a 95 dec r24
1f2: f1 f7 brne .-4 ; 0x1f0 <Clearscreen+0x4e>
_delay_us (2);
CLR_LCD_EN;
1f4: aa 98 cbi 0x15, 2 ; 21
*/
void
_delay_loop_1(uint8_t __count)
{
__asm__ volatile (
1f6: 9a 95 dec r25
1f8: f1 f7 brne .-4 ; 0x1f6 <Clearscreen+0x54>
1fa: 0f 5f subi r16, 0xFF ; 255
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -