📄 main.c
字号:
#include "main_h.h"
void main()
{
uchar xdata *p;
uchar xdata *q;
// uchar addcol_main=0,uu,rr,jj,high,low;
uchar key=0;
uint addrow_main=33,rdromcount=0,rdlcmrow=0,i,j;
ram_init();
serial_init();
TP_INIT();
delay10ms(500);
TEST_ROM_ID(); //read rom's id . example : EC 75
LCM_init();
delay10ms(2000);
display_red();
delay10ms(2000);
display_white();
delay10ms(2000);
display_black();
/*
p=RAM_WR_ADD;
q=RAM_READ_ADD;
for(i=0;i<1;i++)
for(j=0;j<1;j++)
{ if(rdromcount==0xff)
rdromcount=0;
ram_write_byte(p,0xaa);
delay10ms(50);
putchar(ram_read_byte(q));
delay10ms(50);
p++;
q++;
rdromcount++;
}
*/
TEST_TP_INT();
while(1)
{
key=key_scan();
switch(key)
{ case 1:
{
dis_RGB();
delay10ms(2000);
// disp_pic(1,1);
// delay10ms(2000);
display_black();
TEST_TP_INT();
key=0;
}break;
case 2:
{ key=0;
option_rom();
}break;
case 3:
{ disp_pic(1,1);
TEST_REGISTER();
key=0;
}break;
case 4:
{ disp_pic(1,2);
// display_blue();
key=0;
}break;
case 5:
{ disp_pic(1,3); // display_black();
key=0;
}break;
default:
{
// display_black();
}
}
}
}
//------------end END main()---------------------------//
void TEST_TP_INT(void)
{ uint *p;
uchar key=0;
while(key!=5)
{ key=key_scan();
p=TP_XY_READ();
EA=0;
set_pixel(*p,*(p+1));
EA=1;
}
}
void TEST_ROM_ID(void)
{
uint rom_id;
rom_id=READ_ROM_ID();
putchar((uchar)(rom_id>>8));
delay10ms(50);
putchar((uchar)rom_id);
delay10ms(50);
}
void TEST_REGISTER(void) //test LCM REGISTER SETUP
{ uchar tst_reg[8],count,key;
key=key_scan();
while(key!=5)
{ key=key_scan();
for(count=0;count<8;count++)
{ tst_reg[count]=getchar();
// delay10ms(50);
}
for(count=0;count<8;count++)
{ putchar(tst_reg[count]);
delay10ms(50);
}
LCM_SETUP_REG(tst_reg);
}
}
void disp_pic(uchar mode,uchar count)
{ uchar high,low;
uchar xdata *p;
uint rdromcount,dispage,rdlcmrow,head,tail;
switch (mode)
{ case 1:
{ head=290;
tail=480;
break;
}
case 2:
{ head=176;
tail=220;
break;
}
default:
display_clear();
}
switch (count)
{ case 1:
{ rdlcmrow=0;
break;
}
case 2:
{ rdlcmrow=300;
break;
}
case 3:
{ rdlcmrow=600;
break;
}
default:
display_clear();
}
set_whole_screen();
for(dispage=0;dispage<head;dispage++)
{
p=read_page(rdlcmrow);
for(rdromcount=0;rdromcount<528;)
{ low =*(p+rdromcount++);
high=*(p+rdromcount++);
write_picdata1(high,low);
}
rdlcmrow++;
}
p=read_page(rdlcmrow);
for(rdromcount=0;rdromcount<tail;)
{ low=*(p+rdromcount++);
high=*(p+rdromcount++);
write_picdata1(high,low);
}
}
void rom_program(uint addcow,uint lcml,uint lcmw)
{
uint rplcml,rplcmw,rpcount,i;
i=0;
rom_write_block_start(0,addcow);
for(rplcml=0;rplcml<lcml;rplcml++)
for(rplcmw=0;rplcmw<lcmw;rplcmw++)
{
rom_write_data(getchar());
rpcount++;
rom_write_data(getchar());
rpcount++;
if(rpcount%528==0)
{
rom_write_block_end();
rpcount=0;
addcow++;
rom_write_block_start(0, addcow);
}
}
rom_write_block_end();
}
void option_rom(void)
{ uchar key=0;
display_green();
while(key!=5)
{ key=key_scan();
switch(key)
{ case 1:
{ key=0;
write_to_rom(0,1);
break;
}
case 2:
{ key=0;
write_to_rom(300,2);
break;
}
case 3:
{ key=0;
write_to_rom(600,3);
break;
}
case 4:
{ key=0;
write_to_rom(900,4);
break;
}
default:
{
}
}
}
// key=0;
}
void write_to_rom(uint page,uchar pic)
{ uint bb;
uchar key=0;
display_blue();
while(key!=5)
{ key=key_scan();
switch(key)
{ case 1:
{ key=0;
display_red();
for(bb=0;bb<30;bb++)
{ putchar(rom_erase_block(bb));
}
display_red();
break;
}
case 2:
{ key=0;
display_green();
rom_program(page,240,320);
display_red();
break;
}
case 3:
{ key=0;
display_black();
disp_pic(1,pic);
break;
}
case 4:
{ key=0;
break;
}
default:
{
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -