亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainsinglesignal726.c.bak

?? 發(fā)動機控制
?? BAK
字號:
//說明:
//曲軸脈沖信號進入ECU之前接入延時裝置
//中斷TX1----曲軸脈沖信號    (輸入)
//P1^2----延時輸出曲軸脈沖信號 (輸出)
//延時時間計算    360 X 角度(inputAngle)/256
//作者:鄧天民
//時間:2005/07/26
//補充;程序中有很多可以刪除的地方

#include <reg51.h>
#include <stdio.h> 
#include <intrins.h>
#include <absacc.h>

#define UINT unsigned int 
#define UCHAR unsigned char
                               //8155地址 宏定義
#define P8155CW 0x0200         //控制字地址
#define P8155IA 0x0201         //A口
#define P8155IB 0x0202         //B口
#define P8155IC 0x0203         //C口

UCHAR   keynum;

#define  SI_HSEC    0x01           //節(jié)拍信號
#define  SI_WIDTH   0x08          //模擬噴油脈沖寬度
UCHAR    TSignal;                 //半秒信號

UCHAR FireSignal;       //點火信號當前標志

UCHAR OilSignal;       //噴油信號當前標志
UCHAR lastOilSignal;   //噴油信號前1ms標志

sbit testLed=P1^5;       //模擬尖脈沖點火信號
sbit simLed=P1^6;        //模擬噴油信號

sbit OutSignal=P1^2;     //輸出斷口
sbit oilLed=P1^4;        //噴油信號高
sbit fireLed=P1^3;       //點火信號為高
sbit runLed=P1^7;        //程序正常標志
sbit keyLed=P1^0;

UINT timeFireSignal;     //點火信號周期(0.1ms單位)
//UINT timeOilSignal;      //噴油信號寬度(0.1ms單位)

UINT outTimeFire,outTimeDelay;        //輸出點火時間
UCHAR inputAngle;                     //當前延時角度(0~255)
UCHAR keydown;
UCHAR I1,I2;

static UINT time0Count,time0Count1,time0Key;//time0Count2, //計數(shù)器
static UINT downCount,upCount;
UCHAR  downSign,upSign;
volatile UINT base,i;                                      // 基本定時單元

UCHAR outSignalStart;//,outStart;   //輸出信號開始標志

void Delay(int dtime);  // 延時
void dlyus();     
void  keyPrev();        //鍵盤處理
//--------------------------------------------------------------------------
// 變量初始化子程序
//--------------------------------------------------------------------------
void init()
{
	runLed = 1;
	inputAngle = 0;
//	timeOilSignal = 0;
	outTimeFire = 0;
	time0Count = 0;
	time0Count1 = 0;
//	time0Count2 = 0;
	time0Key = 0;
	keydown = 0;
	
	OilSignal = 0;
	lastOilSignal = 0;
	FireSignal = 0;
//	lastFireSignal = 0;
	
	outSignalStart =0;
//	outStart = 0x00;
	outTimeDelay = 0;
	timeFireSignal = 0;
	keyLed = 0;
	downCount = 0;
	upCount = 0;
	downSign = 0;
	upSign = 0;
}
//--------------------------------------------------------------------------
// 系統(tǒng)初始化,初始化寄存器
//--------------------------------------------------------------------------
void initsys()
{	
        EA = 1;                      //全局中斷允許
        ET0 = 1;                     //定時器中斷允許
        ET1 = 1;
        PT1 = 1;                     //T1中斷優(yōu)先級最高
	TMOD = 0x11;                 //T0工作方式1,計時1ms
	TH0=0xFE;
	TL0=0x0C;
	TR0 = 1;                     //啟動T0;
	
	TH1=0xFE;
        TL1=0x0C;
	TR1 = 1;                     //啟動T1;
	//外部中斷1
	IT1=1;                       //負跳變觸發(fā)
	EX1=1;                       //外中斷1允許
		
	fireLed = 0;
	oilLed = 0;
	OutSignal = 1;               //輸出信號斷口初值
	//8155 INIT
	XBYTE[P8155CW] = 0x43;       //定義8155控制字 
}
//--------------------------------------------------------------------------
// 主程序
//--------------------------------------------------------------------------
void main(void)
{  
   init();          //變量初始化
   initsys();       //系統(tǒng)初始化
   while(1){   
        Delay(5);
        keyPrev();  //鍵盤處理
   }
}
//--------------------------------------------------------------------------
// 中斷1子程序//點火信號檢測
//--------------------------------------------------------------------------
void intersvr1(void) interrupt 2 using 1
{
       timeFireSignal = time0Count;  //記錄
       time0Count = 0;       
       //計算噴油延時時間
       I1 = timeFireSignal>>2;
       I2 = inputAngle>>1;
       outTimeFire = ((I1*I2)>>5);
       downSign = 0xFF;
       downCount = 0;
}
//--------------------------------------------------------------------------
// T1中斷子程序
//--------------------------------------------------------------------------
void time1(void) interrupt 3 using 1
{	
	TH1=0xFE;
        TL1=0x0C;
        
        downCount++;upCount++;        
        if(downSign==0xFF && downCount>=outTimeFire)
        {
            OutSignal = 0;downSign = 0;
            for(i=0;i<50;i++)dlyus();
            OutSignal = 1;
        }
                
//        if(upSign==0xFF && upCount>=outTimeDelay)
//        {
//            OutSignal = 1;upSign = 0;
//        }
}
//--------------------------------------------------------------------------
// T0中斷子程序
//--------------------------------------------------------------------------
void time0(void) interrupt 1 using 1
{
     TH0=0xFE;
     TL0=0x0C;
     time0Count++;          //點火信號周期計數(shù)
     time0Key++;            //鍵盤延時,去抖動
          
     time0Count1++;         //計數(shù) 
     //噴油信號檢測
//     if( (P1&0x02) == 0x02){
//     	OilSignal = 0xFF;
//        if(lastOilSignal!=0xFF){ //噴油信號上升沿
//	    outTimeDelay = outTimeFire;
//	    downSign = 0xFF;
//	    downCount = 0;
//	}
//     }else{
//        OilSignal=0x00;
//        if(lastOilSignal==0xFF){ //噴油信號下降沿
//        	upSign = 0xFF;
//        	upCount = 0;
//	}
//     }
//     lastOilSignal = OilSignal;
                 
     if(++base==800){      //0.4秒信號
     	base = 0;
     	runLed = !runLed;
     //	TSignal|=SI_HSEC;
     }
     //產生模擬輸入信號
     if(base%200==0) 
        testLed = 0;
     else
        testLed = 1;
     
     if(base>402&&base<402+SI_WIDTH){
     	simLed = 1;
     }else if(base>2&&base<2+SI_WIDTH){
     	simLed = 1;
     }else
        simLed = 0;
}
//延時dtime 毫秒
void Delay(int dtime)
{
        UCHAR i,j;
        for(i=0;i<dtime;i++)
	{
		for(j=0;j<250;j++)
		{
			dlyus();					// 延時40us
		}
	}
}
//---------------------------------------------------------------------------
// 延時函數(shù),延時時間為28*4/12=us+調用和返回時間,大約為40us
//---------------------------------------------------------------------------
void dlyus()
{
	_nop_();_nop_();_nop_();_nop_();_nop_();
	_nop_();_nop_();_nop_();_nop_();_nop_();
	_nop_();_nop_();_nop_();_nop_();_nop_();
	_nop_();_nop_();_nop_();_nop_();_nop_();
	_nop_();_nop_();_nop_();_nop_();_nop_();
	_nop_();_nop_();_nop_();
}
//--------------------------------------------------------------------------
//鍵盤處理
//--------------------------------------------------------------------------
void  keyPrev()
{	
	XBYTE[P8155IA] = 0xFF;
    	keynum = ~XBYTE[P8155IC];    	
    	
    	if((keynum&0x02) == 0x02){ //上8
    	   //keyLed = !keyLed;
    	   if(keydown==2) return;        //本次按鍵已經(jīng)生效    	   
    	   Delay(1);                     //延時去抖動10MS
    	   for(i=0;i<8;i++){             //列掃描
    	       XBYTE[P8155IA] = ~(SI_HSEC<<i);
    	       keynum = XBYTE[P8155IC];
    	       if( (keynum&0x02) == 0x02){   //列掃描有鍵按下
    	       	   if(i==0){                 //歸零
    	       	      //OutSignal = !OutSignal;
    	       	      inputAngle = 0x00;
    	       	   }else if(i==1){           //延時角度+5*360/256
    	       	      //fireLed = !fireLed;
    	       	      inputAngle += 5;
    	       	   }else if(i==2){           //延時角度+10*360/256
    	       	      //oilLed = !oilLed;
    	       	      inputAngle += 10;
    	       	      //keyLed = !keyLed;
    	       	   }else if(i==3){           //延時角度-5*360/256
    	       	      //testLed = !testLed;
    	       	      inputAngle -= 5;
    	       	   }else if(i==4){           //延時角度-10*360/256
    	       	      //testLed = !testLed;
    	       	      inputAngle -= 10;
    	       	   }
    	       	   inputAngle &= 0x00FF;
    	       	   
    	   	   keydown = 2;
    	   	   break;
    	       }
    	   }    	       	   
    	}else if((keynum&0x01) == 0x01){ //xia8
//    	   OutSignal = !OutSignal;
//    	   if(keydown==1) return;        //本次按鍵已經(jīng)生效    	   
//    	   Delay(1);                     //延時去抖動10MS
//    	   for(i=0;i<8;i++){             //列掃描
//    	       XBYTE[P8155IA] = ~(SI_HSEC<<i);
//  	       keynum = XBYTE[P8155IC];
//  	       if( (keynum&0x01) == 0x01){   //列掃描有鍵按下
//  	       	   if(i==0){                 //歸零
//   	       	      OutSignal = !OutSignal;
//    	       	   	//inputAngle = 0x00;
//    	       	   }else if(i==1){           //步長10增加
//    	       	      fireLed = !fireLed;
    	       	      //inputAngle += 10;
//    	       	   }else if(i==2){           //步長20增加
//    	       	      oilLed = !oilLed;
    	       	      //inputAngle += 20;
    	       	      //keyLed = !keyLed;
//    	       	   }else if(i==7){           //步長10減少
//    	       	      testLed = !testLed;
    	       	      //inputAngle-=10;
//    	       	   }
//    	   	   keydown = 1;
//    	   	   break;
//    	       }
//    	   }
    	}else{
    	   keydown = 0;
    	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
六月丁香综合在线视频| 欧洲视频一区二区| 欧美色综合久久| 久久久亚洲高清| 亚洲资源中文字幕| 国产91丝袜在线播放九色| 在线看一区二区| 亚洲欧洲av在线| 久久99精品一区二区三区三区| 91蜜桃网址入口| 欧美国产综合色视频| 日韩精彩视频在线观看| 色域天天综合网| 亚洲图片一区二区| 97久久超碰国产精品| 久久久一区二区三区| 日韩国产精品久久| 日本久久一区二区三区| 亚洲欧洲日韩女同| 成人丝袜视频网| 久久久久久综合| 久久99热这里只有精品| 91精品国产综合久久久蜜臀图片| 亚洲欧美偷拍另类a∨色屁股| 成人精品国产福利| 国产精品久久久久天堂| 国产不卡高清在线观看视频| 久久精品一区二区三区四区| 国精产品一区一区三区mba桃花| 欧美精品久久久久久久多人混战 | 久久夜色精品一区| 麻豆成人免费电影| 日韩欧美国产综合| 国产麻豆视频一区二区| 国产日韩欧美亚洲| 波多野结衣亚洲一区| 成人欧美一区二区三区在线播放| 97精品久久久午夜一区二区三区| 亚洲欧美日韩国产另类专区| 日本高清不卡视频| 亚洲一二三区不卡| 日韩一级片网站| 国产精品18久久久久| 亚洲国产精华液网站w| 不卡一二三区首页| 亚洲午夜一区二区| 日韩一区二区三| 国产精品1区2区3区在线观看| 欧美高清在线一区| 日本高清视频一区二区| 视频一区视频二区在线观看| 日韩欧美国产wwwww| 国产一区二区在线观看免费| 中文乱码免费一区二区| 色综合久久中文综合久久97| 天堂久久久久va久久久久| 精品剧情在线观看| 成人中文字幕合集| 亚洲大片精品永久免费| 精品第一国产综合精品aⅴ| 91美女蜜桃在线| 男人的j进女人的j一区| 国产精品无人区| 欧美日韩极品在线观看一区| 紧缚捆绑精品一区二区| 亚洲欧美视频一区| 亚洲精品一区二区三区蜜桃下载 | 色综合久久久久综合体桃花网| 亚洲一区二区三区视频在线播放| 欧美一区午夜视频在线观看| 国产成都精品91一区二区三| 亚洲自拍偷拍欧美| 欧美国产一区视频在线观看| 欧美日韩免费观看一区三区| 国产一区二区中文字幕| 亚洲.国产.中文慕字在线| 国产夜色精品一区二区av| 欧美少妇xxx| 99视频一区二区| 激情文学综合网| 亚洲综合视频网| 国产嫩草影院久久久久| 日韩欧美国产不卡| 欧美午夜影院一区| 91美女蜜桃在线| 成人在线视频首页| 久久99精品国产麻豆婷婷| 亚洲主播在线观看| 亚洲天天做日日做天天谢日日欢 | 国内成人自拍视频| 天天色图综合网| 中文字幕一区二区在线观看| 精品久久久久久久人人人人传媒| 欧美日韩精品一区二区三区四区| 国产成人精品一区二区三区四区 | 亚洲成av人综合在线观看| 亚洲国产激情av| 久久久综合精品| 精品久久久久久最新网址| 欧美一级片免费看| 欧美日韩精品专区| 欧美伊人久久大香线蕉综合69| av不卡在线播放| 成人午夜伦理影院| 国产99一区视频免费| 国产麻豆精品95视频| 蜜臀久久99精品久久久久久9| 亚洲一卡二卡三卡四卡五卡| 国产精品免费观看视频| 国产欧美日韩在线| 久久久久国产精品人| 国产午夜亚洲精品理论片色戒| 日韩视频在线永久播放| 日韩欧美一区二区视频| 337p亚洲精品色噜噜噜| 欧美一区二区三区在| 制服丝袜中文字幕一区| 欧美一二三区在线| 日韩一区二区三区电影| 精品久久久久久久人人人人传媒| 日韩一区二区三区在线| 日韩午夜小视频| 欧美精品一区二区久久婷婷| 久久综合久久久久88| 久久久五月婷婷| 欧美国产1区2区| 亚洲色欲色欲www| 一区二区在线观看视频 | 国产精品久久久久久久久动漫| 国产日韩欧美精品在线| 日本一区二区动态图| 国产精品国产三级国产aⅴ入口 | 欧美性一区二区| 欧美日韩亚洲综合在线 | 极品少妇xxxx精品少妇| 国产在线播放一区三区四| 国产成人8x视频一区二区 | 午夜婷婷国产麻豆精品| 免费一区二区视频| 国产成人无遮挡在线视频| 99精品国产91久久久久久| 日本韩国视频一区二区| 7777女厕盗摄久久久| 久久精品夜夜夜夜久久| 亚洲视频资源在线| 日韩主播视频在线| 国产精品一色哟哟哟| 91蜜桃网址入口| 欧美一区二区视频在线观看2020 | eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美人动与zoxxxx乱| 精品粉嫩aⅴ一区二区三区四区| 久久精品免视看| 亚洲福利一区二区三区| 国产精品18久久久久久久久久久久 | 欧美人动与zoxxxx乱| 久久久精品2019中文字幕之3| 日韩理论电影院| 蜜桃视频一区二区三区在线观看| 99视频精品在线| 精品久久久久久无| 一区二区三区欧美久久| 久久99久久久久| 色拍拍在线精品视频8848| 久久久噜噜噜久久人人看| 亚洲国产精品久久艾草纯爱| 韩国成人福利片在线播放| 欧美伊人久久大香线蕉综合69| 久久久综合九色合综国产精品| 午夜一区二区三区视频| 北岛玲一区二区三区四区| 欧美v日韩v国产v| 亚洲国产欧美在线人成| 福利一区在线观看| 精品三级在线观看| 亚洲午夜激情网站| av成人动漫在线观看| 久久久精品tv| 久久99国内精品| 91.xcao| 一区二区三区中文字幕电影 | 国产最新精品精品你懂的| 91福利社在线观看| 国产精品每日更新| 国产乱妇无码大片在线观看| 欧美一区二区三区视频免费播放| 亚洲九九爱视频| jvid福利写真一区二区三区| 国产欧美视频一区二区| 精品系列免费在线观看| 欧美一区在线视频| 亚洲r级在线视频| 欧美亚洲高清一区二区三区不卡| 国产精品高潮久久久久无| 国产91精品一区二区麻豆网站| 久久这里都是精品| 国产真实乱子伦精品视频| 日韩欧美的一区| 韩国毛片一区二区三区| 久久久另类综合|