📄 test.c
字号:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define BIAS 0x29
#define SYSEN 0x01
#define LCDOFF 0x02
#define LCDON 0x03
sbit dat = P1^0;
sbit cs = P1^1;
sbit wr = P1^2;
sbit led1 = P1^3;
sbit led2 = P1^4;
void delay(void)
{
uchar i,j;
for(i=0;i<100;i++)
{
for(j=0;j<150;j++)
{;}
}
}
void SendBit_1621( uchar udata, uchar cnt)
{
uchar i;
for(i=0;i<cnt;i++)
{
if((dat&0x80)==0) dat=0;
else dat=1;
wr=0;
_nop_();
_nop_();
wr=1;
udata<<=1;
}
}
void SendDataBit_1621(uchar udata, uchar cnt)
{
uchar i;
for(i=0;i<cnt;i++)
{
if((dat&0x01)==1) dat=0;
else dat=1;
wr=0,
_nop_();
_nop_();
wr=1;
udata>>=1;
}
}
void SendCmd(uchar command)
{
cs=0;
SendBit_1621(0x80,3);
SendBit_1621(command,9);
cs=1;
}
void Write_1621(uchar addr,uchar dat)
{
cs=0;
_nop_();
_nop_();
SendBit_1621(0xa0,3);
SendBit_1621(addr<<2,6);
SendDataBit_1621(dat,4);
cs=1;
}
void WriteAll_1621(uchar addr,uchar *p,uchar cnt)
{
uchar i;
cs=0;
_nop_();
_nop_();
SendBit_1621(0xa0,3);
SendBit_1621(addr<<2,6);
for(i =0; i <cnt; i++,p++)
{
SendDataBit_1621(*p,8);
}
cs=1;
}
void main()
{
while(1)
{
uchar a[10];
a[0]=0x21;a[1]=0x43;a[2]=0x65;a[3]=0x87;a[4]=0xa9;
P3=0xaa;
P1=0;
cs=0;
SendCmd(BIAS);
SendCmd(SYSEN);
SendCmd(LCDON);
Write_1621(0x00,0x10);
Write_1621(0x20,0x10);
led1=0;
led2=0;
P1=0;
WriteAll_1621(0,a,5);
cs=1;
//SendCmd(LCDOFF);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -