STC系列单片机-定义IO口的工作状态

STC系列单片机怎么样定义IO口的工作状态?sfrP3M=****(地址)P3M0=0;P3M1=0;//为标准51IO口,高阻、强推挽输出..........这样定义是... STC系列单片机怎么样定义IO口的工作状态?
sfr P3M=****(地址)
P3M0=0;
P3M1=0;//为标准51IO口,
高阻、强推挽输出..........
这样定义是P3总线的全部IO为标准51/高阻/强推挽吗?.....
能不能只定义P3总线的其中一个IO为标准51/高阻/强推挽.......?
希望各位大虾能够帮帮我,谢谢0..................
QQ:631054235
Email:18701931930@163.com
展开
 我来答
苏苏苏苏苏小旭
2016-01-15 · TA获得超过216个赞
知道答主
回答量:44
采纳率:100%
帮助的人:23.4万
展开全部
如果给P1M1赋值0X03,给P1M0赋值0X05,那么P1口各个引脚对应的模式就是:
P1M1 P1M0 IO口模式
0 0 P1.7准双向口
0 0 P1.6准双向口
0 0 P1.5准双向口
0 0 P1.4准双向口
0 0 P1.3准双向口
0 1 P1.2推挽输出
1 0 P1.1高阻
1 1 P1.0开漏

举个例子吧
P1.0为推挽输出,P1.1输入,其余为准双向。则配置成:
P1M1=0000 0010B
P1M0=0000 0001B
这样,P1M1.0=0,P1M0.0=1,推挽输出
P1M1.1=1,P1M0.1=0,输入
幽梦寒玫
推荐于2018-01-06 · TA获得超过198个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:39.9万
展开全部
PnM0=0,PnM1=0是设为了 准双向口(即芯片内部有弱上拉电阻,即可作为读又可写出(也叫传统51模式))
可以设置某一位的模式,例如:
P3M1=10100000B
P3M0=11 000000B
既是设置 P3.7为开漏(11),P3.6为强推挽输出(01),P3.5为高阻输入(10),P3.4/P3.3/P3.2/P3.1/P3.0为准双向口/弱上拉(00)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友701e1b1
2012-12-04 · TA获得超过1017个赞
知道小有建树答主
回答量:522
采纳率:100%
帮助的人:544万
展开全部
P3M0、P3M1的位7~0 对应 P3的位7~0(即P3.7~P3.0),你想设置哪个IO就配置P3M0、P3M1对应的位就可以,比如:
P3M1=0x01;
P3M0=0x01;
则 P3.7~P3.1是准双向口,P3.0是高阻

为了方便,可以弄个宏定义头文件,头文件内容如:
……
#define BP3(x) P3M0 &= ~(1<<x), P3M1 &= ~(1<<x) //准双向
#define PP3(x) P3M0 |= (1<<x), P3M1 &= ~(1<<x) //推挽
#define OP3(x) P3M0 &= ~(1<<x), P3M1 |= (1<<x) //开漏
#define RP3(x) P3M0 |= (1<<x), P3M1 |= (1<<x) //高阻
……

RP3(0) ; //P3.0高阻
PP3(1) ; //P3.1推挽
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yang136285193
推荐于2017-11-25
知道答主
回答量:65
采纳率:0%
帮助的人:17万
展开全部
我这里有份很好的,资料,你看下.........我感觉蛮好的 ..................
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ATF144X
2012-12-03 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5344
采纳率:77%
帮助的人:4645万
展开全部
当然可以啊,只要对应的位按照你的设置来写寄存器,那相应的端口就是你需要的状态了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式