我是说串行控制,不是并行控制。
追答/*****串行发送一个字节*****/
void SendByte(uchar Dbyte)
{
uchar i;
for(i=0;i<8;i++)
{
SCLK = 0;
Dbyte=Dbyte<<1; //左移一位
SID = CY; //移出的位给SID
SCLK = 1;
SCLK = 0;
}
}
/*****
串行接收一个字节
*****/
uchar ReceiveByte(void)
{
uchar i,temp1,temp2;
temp1 = 0;
temp2 = 0;
for(i=0;i<8;i++)
{
temp1=temp1<<1;
SCLK = 0;
SCLK = 1;
SCLK = 0;
if(SID) temp1++;
}
for(i=0;i<8;i++)
{
temp2=temp2<<1;
SCLK = 0;
SCLK = 1;
SCLK = 0;
if(SID) temp2++;
}
return ((0xf0&temp1)+(0x0f&temp2));
}
/****检测LCD忙状态*****/
void CheckBusy( void )
{
do SendByte(0xfc); //11111,RW(1),RS(0),0
while(0x80&ReceiveByte()); //BF(.7)=1 Busy
}
你试过上面的串行控制程序吗,真的能检测到bf吗,还有能不能串行读ddram
本回答被网友采纳单片机串行控制12864lcd能不能读bf忙状态,我怎么读不了
当然可以读忙状态了,读时,一定要符合时序要求,即控制脚应该为什么状态。二是接忙信号引脚一定要先输出高电平来释放引脚才行的。
为什么我的12864不能读数据呀? 并且若盘忙的话,一直忙。
本SD卡读写系统中的接口电路采用的STCl2C5A60S2单片机控制,并通过软件编程实现SPI模式的数据传输(包括串行时钟、数据的输入和输出)。在SPI模式下。单片机与SD卡的连接主要有四根线(包括时钟线,两根数据传输线和一根片选线),通常,SD卡有两种总线模式,即SD总线模式和SPI总线模式。其中SD总线模式采用四...
LCD 12864怎样和单片机连接?
两个以上的 12864LCD跟单片机连接, 只要选通线 接不同的引脚,及对比度分别控制,其它的如数据线、读写线,都可以共用,读写时分别选需要制的LCD就可以了,来完成所需要的不同内容。串口控制和I2C不同,串口时只要程序里有这样几句:SBUF=dat;while(!TI);TI=0;就可以输出控制量dat了,而使用I2C...
LCD 12864怎样和单片机连接?
CD 12864液晶屏工作电压+3.0V~+5.5V,逻辑电平与单片机兼容,能够直接与单片机的I\\O口连接,12864液晶屏的接口方式有并行4位、并行8位、串行2线和串行3线,以适应不同的应用场合。串行分为三线和四线的.合并没有多大的区别,只是用一条数据线一条时钟线一个选择线就行了.其它一样,输出控制量dat...
100分问 12864的LCD怎么看是不是坏了 有没有负压
2.RST=H时,KS0108B正常工作,RST=L时KS0108B进入复位状态。不过这两种状态下VEE的电压应该是一样的。3.如果读状态的操作D7位不为零的话,估计是液晶模块已经损坏了。具体测试方法很简单:不用单片机程序,直接将RS接地,R\/W接5V,E接5V,CS1接5V,CS2接地,此时用万用表测试D7,若D7=0则芯片1...
我有一块12864的液晶模块,应该如何的去使用12864液晶模块?
1)、读忙状态(同时会读出指针地址的内容),在初始化之后每次对12864的读写均要进行忙检测。2)、写命令:所有的命令可以去查看指令表,后续会讲解指令的详细用法。写地址也就是写指令。3)、写数据:操作的对象有DDRAM、CGRAM、GDRAM。4)、读数据:操作的对象也是DDRAM、CGRAM、GDRAM。对于12864的学习首先要去了解其...
单片机,写了一个12864lcd(带字库)的图片显示程序,但是实现不了,求帮...
你要显示的是图片的话,就要用到扩充指令,lcd_init是基本指令,write_cmd(0x36);write_cmd(0x3E);write_cmd(0x01);还有你display_bmp()程序中下半屏的循环显示码错字了 for(i=0;i<0;i++)应该是 for(i=0;i<32;i++)
单片机,STC芯片,写了一个12864lcd的文字显示程序,程序下载到芯片了...
void main(){ \/\/led_init();\/\/液晶初始化 ledled_init();\/\/这才是初始化的函数 while(1){ display("你好",1); \/\/液晶屏上显示“你好”2s 钟后,改为显示“好的”delayms(2000);display("好的",1);delayms(2000);} } 试试看吧,其实最好初始化下端口好一点 ...
51单片机上12864显示乱码问题,由于字数限制不相关函数去掉了
x00=unm\/100;xx=unm%100;x0=xx\/10;x=xx%10;数据分离出错 改下 x00=unm\/1000; 千位 xx=unm%1000\/100;百 x0=xx%100\/10;十 x=xx%10;个
51单片机控制12864液晶屏串行通信时序图与程序
clk=0;clk=1;clk=0;这是一个完整的CLK时钟周期,看图SCLK。延时并没有实际的意义,主要功能是让电平保持一段时间供识别的,一般微秒级的延时就够了。同步时钟信号,就是前面讲的clk=0;clk=1;clk=0;这样来实现的,只不过程序中是用的循环,8次循环,正好是可以传输8bit的数据。