久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 單片機(jī)PCA測(cè)脈沖 [打印本頁(yè)]

作者: 18735813460    時(shí)間: 2018-8-23 17:45
標(biāo)題: 單片機(jī)PCA測(cè)脈沖
/*********************************************
兩路PCA外部脈沖周期計(jì)時(shí)器。分別使用P1.3與P1.4口。
針對(duì)測(cè)速碼盤(pán)。
PCA_dt0和PCA_dt1表示測(cè)量到的兩個(gè)脈沖各自的周期。最小到1ms。不精確。
diff_pulse中表示脈沖差數(shù)。
這個(gè)函數(shù)庫(kù)需要占用兩路PCA。但不占用定時(shí)器和外部中斷~
*********************************************/
#include "pulseFreq.h"
#include "serial.h"
int xdata pulse_diff;          //脈沖差數(shù)
uint xdata pulse_count0;
uint xdata pulse_count1;
uint PCA_Count0;        //P1.3周期計(jì)時(shí)
uint PCA_Count1;        //P1.4周期計(jì)時(shí)
uint xdata PCA_dt0;                //P1.3周期存儲(chǔ)
uint xdata PCA_dt1;                //P1.4周期存儲(chǔ)
                                                           //計(jì)時(shí)器溢出時(shí)間
const uchar code CH_reload=(65535-TIME_RELOAD)/256;                //計(jì)時(shí)器溢出時(shí)間,高8位
const uchar code CL_reload=(65535-TIME_RELOAD)%256;                //計(jì)時(shí)器溢出時(shí)間,低8位
void pulse_Clear(){
        pulse_diff=0;
        pulse_count0=0;
        pulse_count1=0;
        PCA_Count0=0;
        PCA_Count1=0;
        PCA_dt0=0;
        PCA_dt1=0;//初始化全體非戰(zhàn)斗人員清零。
}
void PulseFreq_Init(){
        pulse_Clear();
        CMOD=0x01;//系統(tǒng)時(shí)鐘/12,允許溢出中斷(這樣可以數(shù)更長(zhǎng)的時(shí)間)
    CCAPM0=0x31;
        CCAPM1=0x31;//16位捕獲模式,由CCPn/PCAn的跳變觸發(fā)
        CCON=0x40;//各種狀態(tài)位清零,開(kāi)啟
        //使用IO口為P1.3與P1.4
        EA=1;
}
//1000 * 12 次時(shí)鐘頻 也就是1ms每次溢出中斷。

void PCA_isr() interrupt 7 using 1{        
//PCA中斷,同時(shí)處理三種事件。定時(shí)器溢出和兩種脈沖。
        if(CF==1){
                CH=CH_reload;
                CL=CL_reload;
                CF=0;
                PCA_Count0++;
                PCA_Count1++;
                if(PCA_dt0<PCA_Count0)PCA_dt0=PCA_Count0;
                if(PCA_dt1<PCA_Count1)PCA_dt1=PCA_Count1;                        
        }

        if(CCF0==1){
        //如果是P1.3產(chǎn)生的脈沖
                CCF0=0;
                //清標(biāo)志位
                pulse_diff++;
                pulse_count0++;
                PCA_dt0=PCA_Count0;
                PCA_Count0=0;
//                send_str("dt0: ");
//                send_uint(PCA_dt0);
//                send_ln();
        }
        if(CCF1==1){
        //如果是P1.4產(chǎn)生的脈沖
                CCF1=0;
                //清標(biāo)志位
                pulse_diff--;
                pulse_count1++;
                PCA_dt1=PCA_Count1;
                PCA_Count1=0;
//                send_str("dt1: ");
//                send_uint(PCA_dt1);
//                send_ln();
        }
}
uint Pulse_getPeriodTime(bit idx){
//獲取周期時(shí)間,面向外部調(diào)用。
        if(idx==0){
                return PCA_dt0;
        }
        else {
                return PCA_dt1;
        }
}
/*
void main(){
        PulseFreq_Init();
        Serial_Init();
        while(1){
                delay(10);
        }
}
*/


作者: admin    時(shí)間: 2018-8-23 17:48
工程包能分享嗎?缺頭文件無(wú)法編譯




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产色网 | 九九亚洲| 91精品国产一区二区三区动漫 | 欧美精品第一区 | 成人一区二区三区在线观看 | 久久精品欧美一区二区三区不卡 | 毛片a| 亚洲精品在线看 | 一区中文字幕 | 欧美一区二区在线观看 | 91免费观看视频 | 韩国主播午夜大尺度福利 | 日本色高清 | 99久久日韩精品免费热麻豆美女 | 夜夜草视频 | 国产黄色大片 | 狠狠av| 亚洲欧洲色视频 | 福利视频1000 | 一本一道久久a久久精品综合 | 国产精品99久久久久久久久久久久 | 亚洲一区二区免费视频 | 国产免费av网 | 国产精品久久久久aaaa | 日韩1区| 午夜视频网站 | 亚洲精品4 | 操久久| 自拍偷拍亚洲视频 | 亚洲精品视频一区 | 成人九区 | 欧美精| 日本在线视频中文字幕 | 国产伊人精品 | 欧美一级在线免费观看 | 久久大陆 | 国产精品国产亚洲精品看不卡15 | 久久久久久国产精品 | 91影院在线观看 | 男女羞羞的网站 | 人人鲁人人莫人人爱精品 |