51单片机,用一个IO口模拟一个脉冲信号,然后用一个独立按键控制这个脉冲信号的启动与停止,可以循环操作
循环操作就是按一下IO口开始输出脉冲,再按一下脉冲停止,再按一下又开始输出脉冲。。。如此往复。脉冲信号我用定时器模拟的,但是用一个按键实在是不会控制启动和停止。初学者,困...
循环操作就是按一下IO口开始输出脉冲,再按一下脉冲停止,再按一下又开始输出脉冲。。。如此往复。脉冲信号我用定时器模拟的,但是用一个按键实在是不会控制启动和停止。初学者,困扰了两天。。。真心求助,万分感谢!!
展开
1个回答
展开全部
你好!
因为按键操作涉及寄存器配置和按键防抖,因此写了你也不一定用得上。而且你这个的逻辑比较简单,建议自己写。主要注意几个地方就可以了:
按键I/O口电平的配置:要结合硬件电路确认按键是低电平触发还是高电平触发。在程序中设置正确的I/O口电平。
I/O口的输入输出状态的配置:I/O口作为按键输入必须是准双向模式或输入模式,这个不同单片机配置寄存器方式不同但大同小异。
按键防抖:在按键按下时有时会有短暂的接触不良,因此会多次判断按键按下和断开,因此一般在按键按下或断开时增加几十毫秒的防抖处理,具体就是连续多个循环判断按键是否是一个状态,如果状态不变,再进行下一步处理。
因为按键操作涉及寄存器配置和按键防抖,因此写了你也不一定用得上。而且你这个的逻辑比较简单,建议自己写。主要注意几个地方就可以了:
按键I/O口电平的配置:要结合硬件电路确认按键是低电平触发还是高电平触发。在程序中设置正确的I/O口电平。
I/O口的输入输出状态的配置:I/O口作为按键输入必须是准双向模式或输入模式,这个不同单片机配置寄存器方式不同但大同小异。
按键防抖:在按键按下时有时会有短暂的接触不良,因此会多次判断按键按下和断开,因此一般在按键按下或断开时增加几十毫秒的防抖处理,具体就是连续多个循环判断按键是否是一个状态,如果状态不变,再进行下一步处理。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询