STC12C5A60S2单片机IO口作业形式设定
STC12C5A60S2 系列单片机其所有I/O口均可由软件装备成4种作业类型之一。4种类型分别为:准双向口(规范8051 输出形式)、推挽输出、仅为输入(高阻)或开漏输出功用。
每个口由2个操控寄存器中的相应位操控每个引脚作业类型。
STC12C5A60S2系列单片机上电复位后为准双向口(传统8051的I/O口)形式。2V以上时为高电平,0.8V以下时为低电平。
I/O口作业类型设定
PxM1[7:0] PxM0[7:0] I/O 口形式
0 0 准双向口 (传统 8051I/O口形式 ),灌电流可达20mA, 拉电流为230uA
0 1 推挽输出 (强上拉输出, 可达20mA, 要加限流电阻)
1 0 仅为输入 (高阻)
1 1 开漏 (Open Dra in), 内部上拉电阻断开, 要外加
留意:
尽管每个I/O口在弱上拉时都能接受20mA的灌电流(仍是要加限流电阻,如 1K,560Ω等),在强推挽输出时都能输出20mA的拉电流(也要加限流电阻),但整个芯片的作业电流引荐不要超越55mA。即从MCU-VCC流入的电流不超越55mA,从MCU-GND流出电流不超越55mA,全体流入/流出电流都不能超越55mA.
介绍一个宏界说: _BIN
做用是给寄存器的每个位赋值,比方:
ADC_CONTR = _BIN(1,0,0,0, 1,0,0,0);
便是给ADC_CONTR寄存器的第7位和第3位赋值1,其他位为0。 括号中的参数依次为第7位~第0位
在TF卡程序中,若将SPI口设置成推挽(强上拉)输出,就可以这样写:
P1M1 = _BIN(0,0,0,0,0,0,0,0);
P1M0 = _BIN(1,1,1,1,1,1,1,1);
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/256671.html