- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STM8单片机的触角——I/O口的应用
玩转 I/O口必备的“五器”
STM8S208RB单片机的I/O口分布情况如 REF _Ref304367912 \h 图41所示
图 STYLEREF 1 \s 4 SEQ 图 \* ARABIC \s 1 1 STM8S208RB管脚分布图
从 REF _Ref304367912 \h 图41中我们可以看到,STM8S208RB共有64个引脚,其中52个通用输入/输出口(GPIO),它们分别是PA1~PA6、PB0~PB7、PC1~PC7、PD0~PD7、PE0~PE7、PF0、PF3~PF7、PG0~PG7、PI0。其中,每个端口都有一个输出数据寄存器(ODR),一个输入引脚寄存器(IDR),一个数据方向寄存器(DDR),一个控制寄存器1(CR1),一个控制寄存器2(CR2),这就是STM8单片机I/O的“五器”。“五器”到手了,该如何使用,如 REF _Ref304379880 \h 表41。
配置模式
数据方向寄存器
DDR
控制寄存器1
CR1
控制寄存器2
CR2
配置模式
输入
0
0
0
悬浮输入
0
1
0
上拉输入
0
0
1
中断悬浮输入
0
1
1
中断上拉输入
输出
1
0
0
开漏输出
1
1
0
推挽输出
1
x
1
输出(最快速度10MHz)
x
x
x
真正的开漏输出(特定引脚)
表 STYLEREF 1 \s 4 SEQ 表 \* ARABIC \s 1 1 I/O口配置表
由 REF _Ref304379880 \h 表41中看出,当Px_DDRn为“1”,Pxn配置为输出,否则为输入。
当配置为输入时,若Px_CR1为“1”,上拉电阻使能,否则为悬浮输入。而Px_CR2为“1”时,开启当前I/O口的外部中断功能,为“0”时关闭外部中断功能。若想读取该I/O引脚上的数据,只需读取相应的Px_IDR寄存器即可。
当配置为输出时,若Px_CR1为“1”,Pxn配置为推挽输出,否则为开漏输出。而Px_CR2为“1”时,当前I/O口的最大输出速率为10MHz,否则最大输出速率为2MHz。想要某个I/O口输出高电平,则向Px_ODR中写入0xff,否则写入0x00;
注:针对STM8S208RB而言,x为A、B、C、D、E、F、G、I;n为0~7。
下面的例子演示了如何设置PB口低四位为推挽输出,最快速度10MHz,并输出高电平,高四位为上拉输入。
unsigned char i;
…
/*设置输出高电平*/
PB_ODR = (1 3) | (1 2) | (1 1) | (1 0);
/*设置端口方向*/
PB_DDR = (1 3) | (1 2) | (1 1) | (1 0);
/*设置推挽输出和定义上拉电阻*/
PB_CR1 = 0xff;
/*设置端口最大速度和关闭中断*/
PB_CR2 = (1 3) | (1 2) | (1 1) | (1 0);
/*读取端口输入数据*/
i = PB_IDR 0xf0;
…
悬浮与上拉
悬浮输入与上拉输入是两种输入方式,不同之处在于上拉输入时,引脚内部有个上拉电阻。当引脚悬空时,上拉输入的引脚电平是确定的,即高电平;而悬浮输入则不同,它的电平时不确定的,即使外部的一个很小的信号都会使其发生改变。
上拉输入最典型的应用就是外部按键,当按键未按下时,我们要保证它是高电平,当按键按下时才被拉低;而悬浮输入的典型应用就是模数转换,外部的任何一个小信号都要经过A/D采样转换为数字信号。
开漏与推挽
开漏输出
说开漏输出之前,我们先来看看什么是集电极开路输出。
图 STYLEREF 1 \s 4 SEQ 图 \* ARABIC \s 1 2 集电极开路
集电极开路输出的结构图如 REF _Ref304384915 \h 图42所示,三极管Q1的集电极就是单片机的I/O口,什么都不接,所以叫做集电极开路。当控制端输入为“0”时,三极管Q2截止,及集电极与发射机之间断开,所以5V电压通过R1接到Q1的基级,Q1导通,即相当于管脚直接接地;当控制端输入“1”时,三极管Q2导通,Q1截止,输出引脚与地之间断开。我们将 REF _Ref304384915 \h 图42简化为 REF _Ref304385731 \h 图43所示。
图 STYLEREF 1 \s 4 SEQ 图 \* ARABIC \s 1 3 集电极开路简化图
REF _Ref304385731 \h 图43中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出低电平。而当开关断开时,则输出端悬空,即引脚为高阻态。这时电平状态未知,如果后面一个电阻负载(即使很
您可能关注的文档
最近下载
- 1.2.4绝对值 课件 2025-2026学年人教版数学七年级上册.pptx VIP
- QGDW 11651.13-2017 变电站设备验收规范-第13部分:穿墙套管.pdf VIP
- 电子商务客服教案课程.doc VIP
- 客服培训课程小游戏.pptx
- QGDW 11651.12—2017变电站设备验收规范-第12部分:母线及绝缘子.pdf VIP
- 中国食用油行业现状分析-小包装食用油市场潜力巨大
- 分散式风电工程施工组织设计.doc VIP
- 定价策略与渠道价格管理8.doc VIP
- 透析患者高磷血症的控制37页PPT.pptx VIP
- QGDW 11651.10-2017 变电站设备验收规范-第10部分:干式电抗器.pdf VIP
文档评论(0)