定义单片机引脚输出
6个回答
展开全部
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit input=P2^0;
sbit output=P2^1;
void delay(uint x)
{
uchar j;
while(x--)
{
for(j=0;j<125;j++)
{;}
}
}
void main(void)
{
input=1;
output=0;
while(1)
{
if(input==0)
{
delay(10);
if(input==0)
output=1;
else
output=0;
}
}
}
#define uchar unsigned char
#define uint unsigned int
sbit input=P2^0;
sbit output=P2^1;
void delay(uint x)
{
uchar j;
while(x--)
{
for(j=0;j<125;j++)
{;}
}
}
void main(void)
{
input=1;
output=0;
while(1)
{
if(input==0)
{
delay(10);
if(input==0)
output=1;
else
output=0;
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不同的单片机,定义都是不一样的。
下面是C51的一般定义方法
sbit OUT_PIN=P2^0; `
sbit IN_PIN=P2^1;
这里有一些例子可以参考http://hi.baidu.com/wty014198
下面是C51的一般定义方法
sbit OUT_PIN=P2^0; `
sbit IN_PIN=P2^1;
这里有一些例子可以参考http://hi.baidu.com/wty014198
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵!你用的什么型号的单片机啊?是51?还是其他的?如果用C语言的话,你可以看看头文件里,这里面有定义的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机,所有IO口都可以作为输入和输出,但不是"同时"作为输入时,要先向其端口写1然后再读取。
如程序中设定P0=0xF0,然后在外部将P0^7接地,也就是置为零,此时读取P0的话,得到P0=0x70 即最高位确实是0。
但P0口内部没有上拉电阻的,如果IO口外部不经电阻接电源的话,虽然你置1了,但你读取的外部的结果可不一定是1,即P0不一定等于0x70。
P1-P3是内部是有上拉电阻的,所以若设P1=0xF0,然后再读取P1得到仍是P1=0xF0。
若在外部将P1^7接地,则得到P1=0x70
所以多数增强型51单片机IO口内部有推挽管,同时有上拉和下拉电阻,有IO口配置寄存器,根据需要可配置成浮空、推挽、弱上拉等状态。
如程序中设定P0=0xF0,然后在外部将P0^7接地,也就是置为零,此时读取P0的话,得到P0=0x70 即最高位确实是0。
但P0口内部没有上拉电阻的,如果IO口外部不经电阻接电源的话,虽然你置1了,但你读取的外部的结果可不一定是1,即P0不一定等于0x70。
P1-P3是内部是有上拉电阻的,所以若设P1=0xF0,然后再读取P1得到仍是P1=0xF0。
若在外部将P1^7接地,则得到P1=0x70
所以多数增强型51单片机IO口内部有推挽管,同时有上拉和下拉电阻,有IO口配置寄存器,根据需要可配置成浮空、推挽、弱上拉等状态。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询