如何写一个单片机输入上升沿和下降沿的脉冲输出信号的c语言程序

如何写一个单片机输入上升沿和下降沿的脉冲输出信号的c语言程序,第1张

如果是循环中查询的话我一般这样做, 定义一个变量比如keyLastStatus来记录上一次扫描周期的状态

sbit key=P2.0char keyLastStatus=0

keyLastStatus=key //初始化

while (1)

{

if(key==1 &&keyLastStatus!=key) Todo()//上升沿

if(key==0 &&keyLastStatus!=key) Todo()//下降沿

keyLastStatus=key //记录上一次的状态

}

电路比较简单,程序原理,设置定时器/计数器为16位外部计数状态,主程序中不断地读取计数器数据并显示即可。

51单片机程序大致如下:

TMOD=0x05;

TH0=0;

TL0=0;

TR0=1;

while(1)

a=TH0*256+TL0;

display(a);


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11501818.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存