怎么用52单片机检测外部输入脉冲低电平的宽度,宽度在0到5ms之间,并读取宽度,求c语言程序,谢谢 100

若宽度大于4ms,则控制一个led灯亮... 若宽度大于4ms,则控制一个led灯亮 展开
 我来答
pengguismile
2013-05-23 · TA获得超过687个赞
知道小有建树答主
回答量:332
采纳率:100%
帮助的人:121万
展开全部

报到先,明天弄。

请楼主使用实物,不要仿真,否则被气死不管。

如有问题,再联系。

//fosc=12.000MHz
#include "regx52.h"
#define PIN_LED P2_1
unsigned int uiResu;

void Init()
{
IE0=IE1=1;//负跳变触发外部中断
EX0=EX1=1;//外部中断允许
TMOD=0x02;//T0自动重装
TH0=0x9c;//定时0.1ms
TL0=0x9c;//定时0.1ms
ET0=1;//定时器0中断允许
EA=1;//所有中断允许
}
main()
{
Init();
while(1)
 {
 }
}

IntExt0() interrupt IE0_VECTOR
{
TR0=1;//启动定时器
uiResu=0;//重置计数器
PIN_LED=1;//关LED
}

IntExt1() interrupt IE1_VECTOR
{
TR0=0;//停止定时器
if(uiResu>=40){PIN_LED=0;}//如果超过4毫秒,开LED,
}

IntT0() interrupt TF0_VECTOR
{
uiResu++;//加0.1ms
}

追问
大哥,编译出来20几个错误
追答

我是编译成功的,把错误贴上我看看。你肯定是那里没整对。

看见木有?

百度网友e86dc0f44
2013-05-22 · TA获得超过524个赞
知道小有建树答主
回答量:414
采纳率:33%
帮助的人:289万
展开全部
你这个算是测量PWM占空比吗。如果你要的话我可以给你写一个。需要点时间。急的话可以在线等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式