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

 我来答
百度网友423b564
2022-07-12 · TA获得超过340个赞
知道答主
回答量:45
采纳率:100%
帮助的人:7.1万
展开全部
如果是循环中查询的话我一般这样做, 定义一个变量比如keyLastStatus来记录上一次扫描周期的状态
sbit key=P2.0; char keyLastStatus=0;
keyLastStatus=key; //初始化
while (1)
{
if(key==1 && keyLastStatus!=key) Todo(); //上升沿
if(key==0 && keyLastStatus!=key) Todo(); //下降沿
keyLastStatus=key; //记录上一次的状态
}
zhxiufan
推荐于2017-06-15 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38385
国家科技进步奖

向TA提问 私信TA
展开全部
这个简单,从低到高就是上升输出,重高到低就是下降输出
#include<reg51.h>
sbit pluse=P1^0;
main()
{
int i;
while(1)
{
pluse=0; //此时为下降输出
i=100;
while(i--);
pluse=1; //此时为上升输出
i=100;
while(i--);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqs8031
2015-04-10 · TA获得超过1.8万个赞
知道大有可为答主
回答量:1.9万
采纳率:31%
帮助的人:5572万
展开全部
查询一个端口,原来一直是低电平,查询到高电平,就是上升沿
反之.....
追问
怎么写,没写过
追答
51单片机的端口上电后都是高电平
sbit key=P2.0; //P2.0端口定义为key(按键)
......
if(key==0) //按键被按下了,执行{}内的程序
{
....//程序
}
.....//没按,执行...
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乃伪帆o
2015-04-10 · TA获得超过118个赞
知道答主
回答量:969
采纳率:0%
帮助的人:244万
展开全部
这个需要用到单片机里面的驱动程序
更多追问追答
追问
怎么编写?外部触发信号是一个保持信号,
追答
利用底层C语言编写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-08-19
展开全部
使用定时器,控制IO高低就是

~
~
~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式