51单片机,用一个IO口模拟一个脉冲信号,然后用一个独立按键控制这个脉冲信号的启动与停止,可以循环操作

循环操作就是按一下IO口开始输出脉冲,再按一下脉冲停止,再按一下又开始输出脉冲。。。如此往复。脉冲信号我用定时器模拟的,但是用一个按键实在是不会控制启动和停止。初学者,困扰了两天。。。真心求助,万分感谢!!

你好!
因为按键操作涉及寄存器配置和按键防抖,因此写了你也不一定用得上。而且你这个的逻辑比较简单,建议自己写。主要注意几个地方就可以了:
按键I/O口电平的配置:要结合硬件电路确认按键是低电平触发还是高电平触发。在程序中设置正确的I/O口电平。
I/O口的输入输出状态的配置:I/O口作为按键输入必须是准双向模式或输入模式,这个不同单片机配置寄存器方式不同但大同小异。
按键防抖:在按键按下时有时会有短暂的接触不良,因此会多次判断按键按下和断开,因此一般在按键按下或断开时增加几十毫秒的防抖处理,具体就是连续多个循环判断按键是否是一个状态,如果状态不变,再进行下一步处理。
温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机,用一个IO口模拟一个脉冲信号,然后用一个独立按键控制这个脉 ...
51单片机,用一个IO口模拟一个脉冲信号,然后用一个独立按键控制这个脉冲信号的启动与停止,可以循环操作 循环操作就是按一下IO口开始输出脉冲,再按一下脉冲停止,再按一下又开始输出脉冲。。。如此往复。脉冲信号我用定时器模拟的,但是用一个按键实在是不会控制启动和停止。初学者,困扰... 循环操作就是按一下IO...

51单片机一个按键控制两个输出端交替产生脉冲
外部中断配置好,然后在中断函数里面判断是第几次按下(用一个变量,进入一次中断变量加一,奇数表示第一次,偶数就表示第二次了,就这样循环啦),然后根据奇偶性选择引脚控制,相信延迟(要精确就用定时器,控制TRx位就行),IO口拉高拉低你应该会的 兄弟,加油^0^~...

怎么51单片机定时器来模拟PWM波?
1.单计时器方案 int i;\/\/计时变量timer1(){\/\/计时器1中断函数 \/\/此处示例每隔100个最小计时周期电平变化一次,即200个最小计时周期闪烁一次 i++; if (i==200){ i=0;\/\/变量复位,完成一个周期,准备下一个周期 } else if (i==100){ LED_OFF;\/\/关灯 } else if (...

单片机IO通信问题
一直循环检测IO口状态,检测到起始信号边缘(如51单片机IO口一直是高电平,当检测到出现低电平即为启动信号),然后利用延时程序延时0.5ms,读取每个数据位的中间位置,判断是0还是1。根据你的实际要求,第一次读取肯定是高电平,第二次读取为低电平,你需要再判断第三次和第四次,如果第三、四次均为...

51单片机的I\/O口输出的是模拟信号还是数字信号?
单片机属于数字电路 单片机又是控制器件 所以它和它的周围的电路 都是数字电路 因此输入或者输出的信号都是数字形式,

AVR单片机怎么用I\/O口模拟PWM输出
使用需要配合使用一个定时器,定时时间到,将响应的IO翻转。PWM周期是定时器周期的两倍,这样得到的pwm是50%占空比,如果要调占空比,再设置一个标志位,配合标志位设置IO口输出高和输出低时各自的一处周期。

51单片机IO口能做实参传递吗
可以的,但是一般性不这么用,不是所有的编译器都支持sfr(本质是地址)的传递。你可以使用这样的东西:(这是我写的AVR类库)void SETB(PORT port,unsigned char bit);\/\/其他的源代码举一反三吧记得定义:define PORT enum PORT\/\/方便输入#define setb SETB#define clrb CLRB#define getb GETB ...

用51单片机一个IO口驱动3mmLED灯,要加多大的限流电阻.
1 你没讲清楚具体的连线方式:是IO口的 高电平驱动灯亮,此时二极管加限流电阻接地;还是IO的低电平驱动灯亮,此时二极管 加限流电阻接+5v。2学习51,数字电路切忌不要忘了电流, 这两种方式的电流是不一样的,请到51 的数据手册的参数里面查找,比如AT89S52的英文手册 找到直流特性(DC characteristics...

用单片机的io口模拟了以太网接口
你知道以太网上的信息是怎样的格式吗?用单片机的IO口去模拟USB的时候已经非常费力了,要模拟以太网就几乎不可能了:可能把单片机所有执行程序的时间来模拟波形都不可能。说要还是使用网卡芯片容易,比如RTL8019AS或者ENC28J60.补充:10M的网卡?就是说10Mbps,那么单片机端口翻转速度至少为20MHz,但网线中...

单片机IO口模拟SPI通信的问题
如果从器件不是一个MCU,则SCK的频率基本不用考虑,尽你MCU的最快速度发出即可。因为SPI从器件能承受的频率通常高达30MHz以上,你的MCU怎么跑也没这么快。SCK没有占空比限制。SCK信号有效部分是在它的跳沿,与电平持续时间没有关系。

相似回答