单片机简单上升沿、下降沿的简单编程

1和2是输入信号,3和4是输出信号如果1号超前于2号并且2号是下降沿,那么3号输出高电平且持续20ms如果1号滞后于2号并且2号是上升沿,那么4号输出高电平且持续20ms... 1和2是输入信号,3和4是输出信号
如果1号超前于2号并且2号是下降沿,那么3号输出高电平且持续20ms
如果1号滞后于2号并且2号是上升沿,那么4号输出高电平且持续20ms

要怎么写程序,刚接触单片机上升沿、下降沿触发,谢谢
展开
 我来答
lsk110
2012-12-22 · TA获得超过562个赞
知道大有可为答主
回答量:541
采纳率:0%
帮助的人:1013万
展开全部
你是编写编码器检测程序吧,给你一段代码参考。

光电编码器输出正交信号方式如下图所示:
顺时针旋转A超前B相信号90°:
A: _|--|__|--|_
B: __|--|__|--|
逆时针旋转B相信号超前A相信号90°:
A:__|--|__|--|_
B:_|--|__|--|__
下面是AT89C2051检测并进行二倍频程序:
;采用外部中断方式
ORG 00H
LJMP MAIN
ORG 03H
LJMP INT0
ORG 13H
LJMP INT1
ORG 50H
MAIN: MOV SP,#40H
MOV P3,#0FFH
MOV IE,#10000101B ;设定外部中断
MOV TCON,#00000101B
SETB EA
MA1: MOV P1,#0FFH
MOV P3,#0FFH
SJMP MA1
;*******************
INT0: PUSH PSW
CLR EA
I0: JNB P1.0,FAN
CLR P3.4
SJMP INT0END
FAN: CLR P3.5
INT0END:
POP PSW
SETB EA
MOV P3,#0FFH
RETI

INT1: PUSH PSW
CLR EA
JNB P1.0,ZHENG
CLR P3.5
SJMP INT1END
ZHENG: CLR P3.4
INT1END:
POP PSW
SETB EA
MOV P3,#0FFH
RETI
dudan22ww
2012-12-21 · TA获得超过306个赞
知道小有建树答主
回答量:133
采纳率:50%
帮助的人:82.7万
展开全部
检测两个脉冲的前后 这种一般都用于脉冲马达上,这个需要在指定时间里连续采样4 - 6次脉冲瓶然后根据采样的电瓶状态进行判断,你可以查查脉冲马达的原理,其实也很简单 只是写程序有点麻烦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c8d2d1e
2012-12-20 · TA获得超过119个赞
知道答主
回答量:127
采纳率:0%
帮助的人:33.3万
展开全部
你的超前或滞后是什么样的,有信号吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式