展开全部
如果你不需要处理这个数据,那还要51单片机的IO口干嘛,直接连起来就好啦。
如果要处理。
建一个中间变量
<reg51.h>//或相关单片机头文件
unsigned char x;
x=P0;
P1=x;
如果要处理。
建一个中间变量
<reg51.h>//或相关单片机头文件
unsigned char x;
x=P0;
P1=x;
更多追问追答
追问
P1口接收的信号在00000000-11111111之间变化,P0口是通过锁存器连接的是六位数码管,我想使P1口采集的信号,以十进制(0-256)的形式在数码管上显示。这样P1口输出的二进制可以直接bai=P1/100;这样直接运算进行百十个分离吗?迷糊了
追答
你要在数码管上显示,必须先将收集过来的数据分位处理再转化为PCB码。
unsigned char x,ge,shi,bai;
x=P0;
bai=x/100;
shi=(x%100)/10;
ge=(x%100)%10;
上面是个位十位百位的分离。
不知道你具体用的什么数码管(有共阴极共阳极之分)
也不知道你用的什么锁存器
具体做法是 分离之后通过查表来确定要发的数据
百度搜一下就有了 定义一个unsigned code led[10]
{ /*里面写BCP码*/ };
然后看你用的什么锁存器 具体操作要看锁存器的资料了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询