吃了单片机GPIO端口工作模式的大亏——关于强推挽输出和准双向口(弱上拉)的实际应用
2012-09-05 11:29
351 查看
吃了单片机GPIO端口工作模式的大亏
——关于强推挽输出和准双向口(弱上拉)的实际应用
最近公司在进行一个项目,需要用到超声波测距的功能,于是在做好硬件电路,但在写控制程序时,却遇上了令我费解的事情。
当在单片机最小系统上调好输出频率40kHz,占空比50%的方波输出信号后,将程序烧至超声波应用电路中的主控中。实验时,却发现输出波形变成了频率40kHz,占空比小于1%的尖波输出信号。
于是我怀疑自己的电路有问题,遂拿了市面上销售的超声波模块成品来学习一下,发现单片机端口的输出波形很正常,没有变形有情况。在网上搜索良久,一直不明白是怎么回事。当某天在阿莫论坛看到一位网友的一句话,提到GPIO端口的“强推挽工作模式”,对我启发很大,开始怀疑是不是端口工作模式设置的问题。
很多年前就学单片机了,一直以来也经常写一些小程序,但是使用GPIO端口时,一直是按默认的配置来使用的(即“准双向IO”)。
超声波传感器好比是一个电容,当它两个引脚分别接单片机的两个端口时,需要一个端口输出高电平的同时,另一个端口输出低电平,如此反复,才能像晶振一样“起振”,从而输出超声波。但是,如果A端口输出高电平,然后B端口输出低电平,按单片机GPIO的“准双向模式”来分析,此时A端口的状态必然就被改变为与B端口一致了。
那么如何实现“A端口输出高电平,B端口输出低电平,两个端口的状态却不相互影响”的效果呢?
答案是:强推换输出模式。
设置GPIO的工作模式为“强推换输出模式”后,就不会输入电路外部的连接状态了,就是说变成一个纯粹的输出端口了,没有了输出的功能,这样端口的状态只有MCU自己靠程序来改变,外部电路不能改变其状态。
唉,STC的芯片用户手册好几百页内容,确实在好好研究啊,吸取其中的精华,这样才能真正真是“入门”了,很多应用的问题,都是因为对芯片的设置不了解的原因导致的。
——关于强推挽输出和准双向口(弱上拉)的实际应用
最近公司在进行一个项目,需要用到超声波测距的功能,于是在做好硬件电路,但在写控制程序时,却遇上了令我费解的事情。
当在单片机最小系统上调好输出频率40kHz,占空比50%的方波输出信号后,将程序烧至超声波应用电路中的主控中。实验时,却发现输出波形变成了频率40kHz,占空比小于1%的尖波输出信号。
于是我怀疑自己的电路有问题,遂拿了市面上销售的超声波模块成品来学习一下,发现单片机端口的输出波形很正常,没有变形有情况。在网上搜索良久,一直不明白是怎么回事。当某天在阿莫论坛看到一位网友的一句话,提到GPIO端口的“强推挽工作模式”,对我启发很大,开始怀疑是不是端口工作模式设置的问题。
很多年前就学单片机了,一直以来也经常写一些小程序,但是使用GPIO端口时,一直是按默认的配置来使用的(即“准双向IO”)。
超声波传感器好比是一个电容,当它两个引脚分别接单片机的两个端口时,需要一个端口输出高电平的同时,另一个端口输出低电平,如此反复,才能像晶振一样“起振”,从而输出超声波。但是,如果A端口输出高电平,然后B端口输出低电平,按单片机GPIO的“准双向模式”来分析,此时A端口的状态必然就被改变为与B端口一致了。
那么如何实现“A端口输出高电平,B端口输出低电平,两个端口的状态却不相互影响”的效果呢?
答案是:强推换输出模式。
设置GPIO的工作模式为“强推换输出模式”后,就不会输入电路外部的连接状态了,就是说变成一个纯粹的输出端口了,没有了输出的功能,这样端口的状态只有MCU自己靠程序来改变,外部电路不能改变其状态。
唉,STC的芯片用户手册好几百页内容,确实在好好研究啊,吸取其中的精华,这样才能真正真是“入门”了,很多应用的问题,都是因为对芯片的设置不了解的原因导致的。
相关文章推荐
- 吃了单片机GPIO端口工作模式的大亏——关于强推挽输出和准双向口(弱上拉)的实际应用
- GPIO输入输出各种模式(推挽、开漏、准双向端口)详解(转)
- 关于IO模式(浮空、推挽、开漏...)描述及应用
- GPIO输入输出各种模式(推挽、开漏、准双向端口)详解
- FTP的两种模式和在实际工作中应用
- FTP的两种模式和在实际工作中应用
- 初识LVS(三)——DR工作模式实际环境中的应用
- GPIO输入输出各种模式(推挽、开漏、准双向端口)详解
- 关于IO模式(浮空、推挽、开漏...)描述及应用
- 关于IO模式(浮空、推挽、开漏...)描述及应用
- 关于STM32中GPIO的8种工作模式
- 一次面试留下的实际应用问题。关于HttpModule,IIS集成模式。
- FTP的两种模式和在实际工作中应用
- 关于STM32中GPIO的8种工作模式
- STM32端口模式配置——上拉、下拉、模拟、浮空输入;推挽、开漏、复用输出
- JIRA笔记-工作中关于JIRA的简单应用
- 单片机中的推挽输出、开漏输出
- 结合实际业务场景聊一聊MVP模式的应用
- 关于NOR_FLASH的大小在单片机程序中的应用
- 设计模式在实际应用中的演化和改良(1)-Visitor