求51单片机c语言程序,使用定时器中断,当接受的下降沿时,开始定时,定时一分钟,定时结束后跳出中断

求51单片机c语言程序,使用定时器中断,当接受的下降沿时,开始定时,定时一分钟,定时结束后跳出中断。... 求51单片机c语言程序,使用定时器中断,当接受的下降沿时,开始定时,定时一分钟,定时结束后跳出中断。 展开
 我来答
NJGQZF
推荐于2016-01-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3165
采纳率:0%
帮助的人:1204万
展开全部
//假设晶振12MHZ,检测的是P1.1下降沿
#include "reg51.h"
unsigned int YSJS;
sbit K1 = P1^1;
void main(void)
{
TMOD |= 0X10; //定时器1工作于方式1,16位定时器
TL1 = 0x78; //设置定时初值
TH1 = 0xEC; //定时器1定时时间=5000us
ET1 = 1; //使能定时器1中断
EA =1; //开总中断
K1 = 1;
YSJS = 0;

while(1)
{
if(K1==0)TR1 = 1; //启动定时器1
if(YSJS == 12000) //已定时一分钟
{
//这里加入你自己定时一分钟后要做的处理
}
}
}

void TIMER1(void) interrupt 3 //定时器1中断函数使用默认寄存器组
{
TL1 = 0x78; //设置定时初值
TH1 = 0xEC; //定时器1定时时间=5000us

YSJS++;
if(YSJS==12000) //已定时一分钟
{
TR1 = 0;关闭定时器1
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式