这个程序里给IO口赋值的道理是什么

2019-07-16 01:28发布

我是新手,关于IO口赋值,单片机给IO口赋值的原则是什么?通常我们定义某IO口为0或1,或者定义P1(或者P2,P3)=0xfe,(0xfd,0xfc,等等),这种情况下我们都是要么给这个IO口一个高电平要么给一个低电平,即0或1;

我们还可以赋别的值给某个IO口吗?

下面的这个程序里主函数赋值的原理是什么?定义i为无符号字符型(0-255),那么我们给的是高电平还是低电平,这里面的道理是什么?小弟对“for(i=0;i<255;i++)”这一部分不是很理解,请教高手多多指点!!!谢谢!!!
#include <reg52.h>
void delay(void)
{
unsigned int i;
for(i=0;i<20000;i++);
}
void main(void)
{
unsigned char i;
for(i=0;i<255;i++)
{
P0=i;
delay();
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
teslla
2019-07-16 01:54
小弟刚学单片机,一直对这个没搞明白,如这个主函数里for(i=0;i<255;i++),i<255,i++,自加1,那i的值不是在0-255之间吗,而IO口只能给赋值0或1,那i在0-255之间(除0和1之外)时有什么含义?小弟以前是学文科的,对中间的道理不是很明白;它和前面定义i=0又有什么联系?

这个流水灯的程序是怎么实现流水变化的??P0口=i=0,就是P0口对应的8个LED都是低电平,都是亮的,它又是如何实现流水变化的?实验测试过程序没有问题,只是对其中的道理没有搞明白,希望高手指点一下,不胜感激!!

一周热门 更多>