#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SPL=P3^4;
void delay(uint ms)
{
uchar i;
while(ms--) for(i=0;i<120;i++);
}
void main()
{
SCON=0x10;
while(1)
{
SPL=0;
SPL=1;
while(RI==0);
RI=0;
P1=SBUF;
while(RI==0);
RI=0;
P0=SBUF;
while(RI==0);
RI=0;
P2=SBUF;
delay(20);
}
}
用三个LS165,将并行数据转为串行数据,为什么第一个
芯片控制的,控制的第二部分LED,第二个165控制第三部分LED,求助,这是为什么
-
-
51单片机串口工作方式0和1.rar 下载积分: 积分 -1 分
268.64 KB, 下载次数: 7, 下载积分: 积分 -1 分
前辈,多谢多谢,这样确实是对应了,按照开始的方法,再把SCON=0x10放在while(1)里,就可以了,不用加EA=1,和RI=0。但是还是不太懂具体原理,还是多谢前辈了。
真心感谢
发错图拉,现在对啦,多谢多谢前辈。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SPL=P3^4;
void delay(uint ms)
{
uchar i;
while(ms--) for(i=0;i<120;i++);
}
void main()
{
while(1)
{
SPL=0;
SPL=1;
SCON=0X10;
while(RI==0);
RI=0;
P1=SBUF;
while(RI==0);
RI=0;
P0=SBUF;
while(RI==0);
RI=0;
P2=SBUF;
delay(20);
}
}
一周热门 更多>