原创 单片机应用中的实用技巧(一)

2008-9-22 11:20 2456 7 7 分类: MCU/ 嵌入式
http://azhu.blog.dianyuan.com/blog_comment_list.php?blar_id=808

单片机应用中的实用技巧(一)
作者:Azhu  E-mail:circuit51@tom.com
在单片机的应用中,有许多巧妙的技巧和方法,如果都能熟悉与掌握的话,对于减小系统资源,降低电路成本,提高设计的可靠性都很有帮助,本文为读者们提供一些较为常用的单片机应用中的实用技巧。
1、用一个I/O口控制2个单色指示灯。
由于单片机中的I/O口通常可设置为三种状态,即输出高电平、输出低电平和输入状态(高阻态)。利用这一点,可以很方便地用一个I/O口实现对2个指示灯的控制。其电路如下图所示。

1144042470.jpg

当要使LED1亮时,I/O口可置为低电平。此时LED2无电流流过,不会亮。
当要使LED2亮时,I/O口可置为高电平。此时LED1无电流流过,不会亮。
若要LED1、LED2均不亮,可将I/O口置为高阻态,此时发光管被VD1旁路,也不会亮。
若要LED1、LED2一起亮,则可以让I/O口在某一固定频率下以50%的占空比进行高低电平不停转换,利用视觉暂留,使人眼感觉两个灯都为亮的状态。
2、用一个I/O口控制1个三色指示灯。
其电路如下图所示。
1144042491.jpg
当要显示绿灯(LED1)亮时,I/O口可置为低电平。此时红灯(LED2)反向偏置,无电流流过,不会亮。
当要显示红灯(LED2)亮时,I/O口可置为高电平。此时绿灯(LED1)反向偏置,无电流流过,不会亮。
若要指示灯不亮,可将I/O口置为高阻态,此时两个发光管均无电流流过,也不会亮。
若要显示橙灯亮时,此时LED1、LED2要一起亮,则可以让I/O口在某一固定频率下以50%的占空比进行高低电平不停转换,利用视觉暂留,使人眼感觉到显示的是橙灯。
3、一个I/O口读取三种状态。
单片机应用中,有时需要让外部用跳线进行选择设置,单片机按跳线的状态来进行相应的控制操作。本例中可用一个I/O口检测出跳线连接的3种状态:高电平,低电平或者悬空(高阻态)。电路如下图所示。

1144042527.jpg

检测低电平状态:I/O口为输入状态,直接读取引脚上的低电平。
检查高电平状态:I/O口为输入状态,直接读取引脚上的高电平。
检查高阻状态:I/O口设为输出态,输出高电平。然后设置I/O口为输入态,读取引脚状态,为高电平;再把I/O口设为输出态,输出低电平,读取引脚状态,为低电平。说明为高阻态。
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /3 下一条