问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用c语言编程使得p1^0 p1^1 p1^2的输出为二进制加法的循环

发布网友 发布时间:2022-11-18 16:54

我来回答

2个回答

热心网友 时间:2024-02-14 03:33

一般在程序里面写成除二取余数的方法来得到。
跟二进制的数的取法手工算法一样。
任意数除2以后,如果有小数点,就在堆栈中写进一个1,没有小数就写0。然后除完以后,把堆栈的数倒取出来,就成了该数字的二进制。
这个算法要写在你执行循环语句(循环语句你知道怎么写吧!不会接着问)的后面,就可以输出来了。追问没有这么复杂吧 如果是p0的八个输入输出做二进制加法的话 num=0x00 p0=num m++就可以了吧
现在我只是想用p0的前三个脚p0.0p0.1p0.2怎么写程序??p0.3到p0.7我还有别的用

热心网友 时间:2024-02-14 03:34

P1=1;//初始赋值

for(i=0;i<7;i++)//循环7次P1.1-P1.7 最开始是P1.0

{
P1=P1+P1;//P1的值加上P1 相当于*2 在二进制中每次*2都会向前进位就实现了P1.0-P1.7的循环点亮
}

完整程序:
#include<reg51.h>
void delay200ms(void) //?? 0us
{
unsigned char a,b,c;
for(c=4;c>0;c--)
for(b=116;b>0;b--)
for(a=214;a>0;a--);
}

void main(void)
{
unsigned char i;
while(1)
{
P1=1;
delay200ms();
for(i=0;i<7;i++)
{
P1=P1+P1;
delay200ms();
}
}
}追问谢谢 不过我的问题是我只用p0的前三个口做二进制加法输出 后面的五个口我还有别的作用

追答//用多一个变量j来做加法运算即可
//赋值时先用与运算清理后3位再采用或运算赋值后3位
//不会影响到P1.3-P1.7
#include
void delay200ms(void) //?? 0us
{
unsigned char a,b,c;
for(c=4;c>0;c--)
for(b=116;b>0;b--)
for(a=214;a>0;a--);
}

void main(void)
{
unsigned char i,j;
while(1)
{
j=1;
P1=(P1&0xf8)|j;
delay200ms();
for(i=1;i!=0x08;i<<=1)
{
j=j+j;
P1=(P1&0xf8)|j;
delay200ms();
}
}
}

热心网友 时间:2024-02-14 03:33

一般在程序里面写成除二取余数的方法来得到。
跟二进制的数的取法手工算法一样。
任意数除2以后,如果有小数点,就在堆栈中写进一个1,没有小数就写0。然后除完以后,把堆栈的数倒取出来,就成了该数字的二进制。
这个算法要写在你执行循环语句(循环语句你知道怎么写吧!不会接着问)的后面,就可以输出来了。追问没有这么复杂吧 如果是p0的八个输入输出做二进制加法的话 num=0x00 p0=num m++就可以了吧
现在我只是想用p0的前三个脚p0.0p0.1p0.2怎么写程序??p0.3到p0.7我还有别的用

热心网友 时间:2024-02-14 03:33

一般在程序里面写成除二取余数的方法来得到。
跟二进制的数的取法手工算法一样。
任意数除2以后,如果有小数点,就在堆栈中写进一个1,没有小数就写0。然后除完以后,把堆栈的数倒取出来,就成了该数字的二进制。
这个算法要写在你执行循环语句(循环语句你知道怎么写吧!不会接着问)的后面,就可以输出来了。追问没有这么复杂吧 如果是p0的八个输入输出做二进制加法的话 num=0x00 p0=num m++就可以了吧
现在我只是想用p0的前三个脚p0.0p0.1p0.2怎么写程序??p0.3到p0.7我还有别的用

热心网友 时间:2024-02-14 03:34

P1=1;//初始赋值

for(i=0;i<7;i++)//循环7次P1.1-P1.7 最开始是P1.0

{
P1=P1+P1;//P1的值加上P1 相当于*2 在二进制中每次*2都会向前进位就实现了P1.0-P1.7的循环点亮
}

完整程序:
#include<reg51.h>
void delay200ms(void) //?? 0us
{
unsigned char a,b,c;
for(c=4;c>0;c--)
for(b=116;b>0;b--)
for(a=214;a>0;a--);
}

void main(void)
{
unsigned char i;
while(1)
{
P1=1;
delay200ms();
for(i=0;i<7;i++)
{
P1=P1+P1;
delay200ms();
}
}
}追问谢谢 不过我的问题是我只用p0的前三个口做二进制加法输出 后面的五个口我还有别的作用

追答//用多一个变量j来做加法运算即可
//赋值时先用与运算清理后3位再采用或运算赋值后3位
//不会影响到P1.3-P1.7
#include
void delay200ms(void) //?? 0us
{
unsigned char a,b,c;
for(c=4;c>0;c--)
for(b=116;b>0;b--)
for(a=214;a>0;a--);
}

void main(void)
{
unsigned char i,j;
while(1)
{
j=1;
P1=(P1&0xf8)|j;
delay200ms();
for(i=1;i!=0x08;i<<=1)
{
j=j+j;
P1=(P1&0xf8)|j;
delay200ms();
}
}
}

热心网友 时间:2024-02-14 03:34

P1=1;//初始赋值

for(i=0;i<7;i++)//循环7次P1.1-P1.7 最开始是P1.0

{
P1=P1+P1;//P1的值加上P1 相当于*2 在二进制中每次*2都会向前进位就实现了P1.0-P1.7的循环点亮
}

完整程序:
#include<reg51.h>
void delay200ms(void) //?? 0us
{
unsigned char a,b,c;
for(c=4;c>0;c--)
for(b=116;b>0;b--)
for(a=214;a>0;a--);
}

void main(void)
{
unsigned char i;
while(1)
{
P1=1;
delay200ms();
for(i=0;i<7;i++)
{
P1=P1+P1;
delay200ms();
}
}
}追问谢谢 不过我的问题是我只用p0的前三个口做二进制加法输出 后面的五个口我还有别的作用

追答//用多一个变量j来做加法运算即可
//赋值时先用与运算清理后3位再采用或运算赋值后3位
//不会影响到P1.3-P1.7
#include
void delay200ms(void) //?? 0us
{
unsigned char a,b,c;
for(c=4;c>0;c--)
for(b=116;b>0;b--)
for(a=214;a>0;a--);
}

void main(void)
{
unsigned char i,j;
while(1)
{
j=1;
P1=(P1&0xf8)|j;
delay200ms();
for(i=1;i!=0x08;i<<=1)
{
j=j+j;
P1=(P1&0xf8)|j;
delay200ms();
}
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机导航用电脑软件哪个好导航软件哪个最准确 我要地图网使用我要地图网轻松查询地图信息 装配行业MES系统四大车间管理活动介绍 王者荣耀S14狂铁怎么玩_王者荣耀S14狂铁出装铭文推荐 沅陵县有姓文的分布在那个地方, 汨罗一中在省排名 汨罗高中有哪些? 湖南省岳阳市汨罗有哪些高中 新生儿脊膜膨出后遗症 在深圳硬脊膜膨出手术后大小便失禁怎么办? C语言这个函数怎么实现的二进制增1 悬浮窗口如何打开所在的activity? C语言编写二进制加法 ad中先经过电阻在到晶振吗 单片机频繁复位是否影响寿命 单片机不停复位 为什么一开上位机界面 单片机就复位 程序中经常让单片机复位,有没有什么坏处??? 害怕程序跑飞,想在夜里三点... PIC单片机在开机时,一直会复位,可能的原因是什么 单片机运行一段时间(几个小时)后就开始复位 单片机不断重复复位,有什么影响吗 ...小电容?),音频滤波器,电源滤波器在用途和工作原理上 三相输入正常输出有一相少20v电压,稳压器 小功率led发光二极管主要用在那些产品上的比较多? ab变频器报f122是何意思 韩剧《搞笑一家人》国语版在哪能看? 他不是我在哪能看 交流发电机改造成“交流电动机”会怎样?转子是不是会不动从而瞬间短路... 请教交流发电机用作电动机的问题 请问QQ加群问题。 华为se75线上线下一样配制吗 浅谈如何看待多媒体技术在课堂中的应用与地位 live2dviewerex参数面板在哪 需要身份证的网吧 上网输入自己的身份证号 密码是多少呢? 小天才早教机 电脑水冷用什么制冷好 新能源车启动后不ready 是什么原因? 我的两轮电瓶车仪表盘上有五个灯,每次充满电都亮满,但是稍微一走,就变... ...水冷,但是风扇噪音大,想在水箱里放一个饮水机制冷系统,但是对这个系 ... 夏天应该如何祛湿养阳 什么食品祛湿养阳 微信公众号封面图尺寸要求有哪些 求一篇关于那大慕大会的英语文章 求推荐 安卓平板电脑软件看 安卓4.1 电影的 听音乐的 看图(漫画)的 电... 泰坦军团显示器怎么设置全屏(泰坦军团显示器怎么样) 胶片扫描仪的功能有哪些? 冒险家手表是什么档次 防水防摔、可以打电话的运动手表哪个牌子的好些 日产轩逸钥匙怎么换电池 日产轩逸经典遥控电池怎么更换