欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機對外部脈沖技術 求幫助 [打印本頁]

作者: 千千鳥飛絕    時間: 2018-6-6 10:12
標題: 51單片機對外部脈沖技術 求幫助
51單片機對外部脈沖進行計數,外部脈沖為一方波,計數到二十,LED=0。最好使用INT0
要完整程序,時間比較急

作者: wulin    時間: 2018-6-6 13:19
#include<reg52.h>
sbit led=P2^7;//LED顯示低電平亮
//外部計數脈沖輸入端T0 P3.4低電平有效

/*****定時器0初始化****/
void Timer0Init()
{
        TMOD= 0x06;//設置定時器0計數/自動重載模式
        TL0 = 0xec;//設置定時初值
        TH0 = 0xec;//設置定時重載值
        TF0 = 0;//清除TF0標志
        TR0 = 1;//定時器0開始計數
        EA=1;//開總中斷
        ET0=1;//開定時器0中斷        
}
/********主函數**********/
void main()
{
        Timer0Init();
        while(1);
}
/******定時器0中斷服務*******/
void timer0() interrupt 1
{
        led=~led;
}




作者: 千千鳥飛絕    時間: 2018-6-6 14:16
wulin 發表于 2018-6-6 13:19
#include
sbit led=P2^7;//LED顯示低電平亮
//外部計數脈沖輸入端T0 P3.4低電平有效

你好,程序編譯沒有錯誤。但是,我用的外部脈沖產生源是 光電對射傳感器,這個傳感器被遮住產生高電平,在感光部分來回晃動以此產生脈沖。但是實際在晃動過程中,沒有記到二十就亮了,請問這是為什么
作者: dzbj    時間: 2018-6-6 15:13
隨手寫的 沒編譯沒測試 你試試看行不行

#include<reg52.h>

#define uchar unsigned char
#define uint unsigned int

sbit led=P?^?;                //led端口設置(不知道你的led在哪個端口)

uchar Rate_num=0;        //聲明 頻率計數器變量

void Init_EXT()                //外部中斷0初始化
{
        IT0=1;                                //設定外部中斷0觸發方式 1:下降沿 0:低電平
        EX0=1;                                //打開外部中斷0
        EA=1;                                //打開 總中斷控制
}

void Server_Int1() interrupt 0        //服務 外部中斷0
{
        Rate_num++;                //頻率計數器自加
}

void main()                //主程序入口
{
        Init_EXT();                //外部中斷0初始化
        led=1;                        //置位 led端口
       
        while(1)
        {
                if(Rate_num==20)        //如果 頻率計數器變化值達到設定值
                {
                        led=0;                                //清零 led端口
                }
        }
}
作者: dzbj    時間: 2018-6-6 15:14
wulin 發表于 2018-6-6 13:19
#include
sbit led=P2^7;//LED顯示低電平亮
//外部計數脈沖輸入端T0 P3.4低電平有效

大哥 他是馬嘴 您是驢唇 不搭調啊




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1