📄 51 io.c
字号:
0x5E,0x2B,0x2A,0x5A,0x8A,0x82,0x0A,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x07,0x08,0x0B,0x08,0x08,0x08,0x0E,
0x00,0x08,0x04,0x03,0x04,0x08,0x0B,0x0A,0x09,0x08,0x09,0x0A,0x08,0x00,0x00,0x08,
0x05,0x01,0x05,0x08,0x00,0x04,0x08,0x00,0x04,0x09,0x00,0x00,0x0A,0x0A,0x09,0x09,
0x06,0x04,0x06,0x09,0x08,0x08,0x08,0x00,0x00,0x00,0x0F,0x04,0x0A,0x04,0x02,0x01,
0x00,0x03,0x04,0x08,0x00,0x00,0x07,0x02,0x02,0x0B,0x04,0x03,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x08,0x08,0x04,0x02,0x01,0x00,0x04,0x08,0x04,0x03,0x00,0x00,0x01,0x01,0x00,0x0F,
0x09,0x09,0x09,0x09,0x0F,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
void delayms(uint ms)
{
uint mm;
for(mm=0;mm<ms;mm++)
{ }
}
void delay(uint nnn)
{
uint mmm;
while(nnn-->0)
for(mmm=0;mmm<1000;mmm++)
{ }
}
void wcomd(uchar cdat)
{
int ic;
CS1=0;RS=0;
for(ic=0;ic<8;ic++)
{
SID=cdat>>(7-ic)&0x01;
SCLK=1;SCLK=0;
}
RS=1;CS1=1;
}
void wdata(uchar ddat)
{
int id;
CS1=0;RS=1;
for(id=0;id<8;id++)
{
SID=ddat>>(7-id)&0x01;
SCLK=1;SCLK=0;
}
RS=0;CS1=1;
}
void anj(uint kkk)
{
uint gg;
while(kkk-->0)
for(gg=0;gg<1000;gg++)
{
while(~AJ)
{ }
}
}
void initial()
{
delayms(10);
wcomd(0xe2);
wcomd(0x48); /*duty*/
wcomd(96); /*duty */
wcomd(0xa1); /* adc */
wcomd(0xc0); /* shl */
wcomd(0x44); /* com0 register */
wcomd(0x10); /* com0 register*/
wcomd(0xab); /* oscilator start */
delayms(10);
wcomd(0x67); /* Set 6 dc-dc step-up*/
wcomd(0x27); /* regulater */
wcomd(0x83); /* voltage */
wcomd(0x39); /* voltage */
wcomd(0x56); /* bias */
wcomd(0x94);
wcomd(0x88); /* gray scale */
wcomd(0x00); /* gray scal register1 */
wcomd(0x00); /* gray scal register2*/
wcomd(0x89); /* gray scale */
wcomd(0x00); /* gray scal register1 */
wcomd(0x00); /* gray scal register2*/
// wcomd(0x8C); /* gray scale */
// wcomd(0xFF); /* gray scal register1 */
// wcomd(0xFF); /* gray scal register2*/
wcomd(0x8F); /* gray scale */
wcomd(0x09); /* gray scal register1 */
wcomd(0x09); /* gray scal register2*/
wcomd(0x2c); /* Set-power */
delayms(10);
wcomd(0x2e);
delayms(10);
wcomd(0x2f);
delayms(10);
wcomd(0x4f);
wcomd(32);
wcomd(0x40); /* set start line */
wcomd(0x00); /* Set start line */
wcomd(0xaf); /*display on */
}
void disp_bmp(xchar *str)
{
uint i=0,j=0,k=0;
uchar temp;
temp=0xb0;
for(j=0;j<12;j++)
{
wcomd(j+0xb0);
wcomd(0x10);wcomd(0x00);
for(i=0;i<128;i++)
{
wdata(str[i+j*128]);
wdata(str[i+j*128]);
}
}
}
void disp_bmp1(xchar *str)
{
uint i=0,j=0,k=0;
uchar temp;
temp=0xb0;
for(j=0;j<12;j++)
{
wcomd(j+0xb0);
wcomd(0x10);wcomd(0x00);
for(i=0;i<128;i++)
{
wdata(~str[i+j*128]);
wdata(~str[i+j*128]);
}
}
}
void disp_all(uint xx,uint yy)
{
uint i=0,j=0;
for(j=0xb0;j<12;j++)
{
wcomd(j);
wcomd(0x10);wcomd(0x00);
for(i=0;i<96;i++)
{
wdata(xx);
wdata(yy);
}
}
}
void distest(uchar a,uchar b)
{
uchar i,j;
uchar temp=0xb0;
for (i=0;i<12;i++)
{
wcomd(temp);
wcomd(0x10);
wcomd(0x00);
for(j=0;j<64;j++)
{wdata(a);wdata(a);wdata(b);wdata(b);}
temp++;
}
}
void main(void)
{
RST=0;delay(5);RST=1;
initial();
disp_all(0x00,0x00);
for(;;)
{
disp_bmp(tab1);delay(50);
disp_bmp(tab2);delay(50);
disp_bmp1(tab2);delay(50);
distest(0xff,0xff);delay(30);
distest(0x00,0xff);delay(30);
distest(0xAA,0xAA);delay(30);
distest(0x55,0x55);delay(30);
distest(0x55,0xAA);delay(30);
distest(0xAA,0x55);delay(30);
// distest(0x00,0xff);delay(50);
// distest(0xff,0x00);delay(50);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -