1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2602|回復(fù): 4
收起左側(cè)

請大俠們幫忙看看這個通過3秒單片機定時器對輸入脈沖個數(shù)判斷

[復(fù)制鏈接]
ID:815936 發(fā)表于 2020-9-1 21:27 來自觸屏版 | 顯示全部樓層 |閱讀模式
如果3秒內(nèi)輸入的脈沖個數(shù)小于2,led點亮輸出,如果大于2繼續(xù)檢測。
Screenshot_20200901_211515.jpg
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2020-9-2 06:08 | 顯示全部樓層
P3.2外部中斷,下降沿觸發(fā)。3秒計時周期,脈沖個數(shù)小于2,led點亮輸出,否則led熄滅。

#include "reg51.h"

sbit LED=P2^1;

unsigned char num=0,count=0;

void main()
{
        TMOD= 0x01;           //設(shè)置定時器模式
        TL0 = 0xB0;                //50毫秒@12.000MHz
        TH0 = 0x3C;
        TR0 = 1;                        //定時器0開始計時
        ET0 = 1;                        //開定時器0中斷
        IT0 = 1;                 //外部中斷下降沿觸發(fā)
        EX0 = 1;                        //開外部中斷0
        EA = 1;                         //開總中斷
        while(1);
}

void Timer0() interrupt 1
{
        TL0 = 0xB0;                //設(shè)置定時初值
        TH0 = 0x3C;                //設(shè)置定時初值
        count++;
        if(count>=60)        //3秒
        {
                count=0;
                if(num>=2)
                {
                        LED=0;
                        num=0;
                }
                else LED=1;
        }
}

void exint0() interrupt 0
{
    num++;
}
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2020-9-2 06:30 | 顯示全部樓層
本帖最后由 wulin 于 2020-9-2 06:34 編輯

定時器/計數(shù)器1外部脈沖高電平計數(shù)。3秒計時周期,脈沖個數(shù)小于2,led點亮輸出,否則led熄滅。

#include "reg51.h"

sbit LED=P2^1;

unsigned char count=0;

void main()
{
        TMOD= 0x51;           //設(shè)置定時器模式
        TL0 = 0xB0;                //50毫秒@12.000MHz
        TH0 = 0x3C;
        TL1 = 0;
        TH1 = 0;
        TR0 = 1;                        //定時器0開始計時
        TR1 = 1;                        //定時器0開始計數(shù)
        ET0 = 1;                        //開定時器0中斷
        EA = 1;                         //開總中斷
        while(1);
}

void Timer0() interrupt 1
{
        TL0 = 0xB0;                //設(shè)置定時初值
        TH0 = 0x3C;                //設(shè)置定時初值
        count++;
        if(count>=60)        //3秒
        {
                count=0;
                if(TL1>=2)
                {
                        LED=0;
                        TL1=0;
                }
                else LED=1;
        }
}

回復(fù)

使用道具 舉報

ID:235954 發(fā)表于 2020-9-2 09:51 | 顯示全部樓層
截屏?xí)?/td>
回復(fù)

使用道具 舉報

ID:815936 發(fā)表于 2020-9-2 10:27 來自觸屏版 | 顯示全部樓層
wulin 發(fā)表于 2020-9-2 06:08
P3.2外部中斷,下降沿觸發(fā)。3秒計時周期,脈沖個數(shù)小于2,led點亮輸出,否則led熄滅。

#include "reg51. ...

謝謝師傅指點
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表