单片机如何接收外部的信号

LM339出来的高低电平,单片机如何去接收,需要改变IO口的工作方式么?

  如果只是开关信号,那只要扫描IO就行;
如果是脉冲信号,只要用外部定时计数器或者外部中断就行,比如光电编码器;
  发射出来的信号是个周期信号,不同的按键,其编码不同,编码中0和1对应的脉冲长度有差别,详细内容可以看相关的资料。
  要实现一直按着音量会一直加(减),这个过程比较复杂,需要单片机不断的接收响应,要编写相应的单片机程序,之后还需要调试。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-09

LM339     电压比较器      一个芯片有四组  比较器;    比如  INPUT1+端口电压大于INPUT1-电压    则OUTPUT1 输出  高电平    反之 输出 低电平;    当芯片的  工作电压  接5V   时,   GND  接 地     ;      输出的  信号也对应的输出   +5V   和GND     ;     单片机 是可以识别的

第2个回答  2012-04-10
我讲一下大概的思路哦,有2种办法:
1.不用改变IO的工作方式,采用查询的方式接收信号,比如,
if( IOx == 1 )//检测到高电平信号,低电平也一样,把1改为0
{ //做高电平信号时的处理}
else //否则没有检测到高电平信号
{//做其它处理}
2.采用中断,要改变IO为中断模式,这个可以看一下书,外部中断那一章。本回答被网友采纳
第3个回答  2012-04-09
不需要 直接接到I/O口上就可以了本回答被提问者采纳