做一个全数字红外探头的读取模块,要求单片机按时序输出高低电平并能切换成采集模式
我使用的单片机是STC8G1K08,采集引脚是P32,该红外探头引脚在“未受控”情况下,会持续性输出高电平,单片机引脚与红外引脚直连
读取流程大致是:
常规下引脚输出低,压制红外探头;
采集红外信号时,先输出一段时间高电平,作为读取信号或触发信号;
单片机按 位 接收红外探头的输出——引脚输出低电平,随后高电平,接着引脚切换为采集模式,采集信号,如此重复,直至信号完全采集
我发现,当引脚采集到低电平信号(此时引脚电平被红外探头拉低),在由采集模式切换到输出模式时,会不定时出现小尖峰,疑似是端口模式切换瞬间,失去了对红外探头的控制
输出为推挽输出,输入为高阻输入
这是采集代码:
//数字红外信号读取函数
void PIR_Read(void)
{
unsigned char i=0;
- 最近查阅:
