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

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

?? maindoublesignal726.c.bak

?? 發動機控制
?? BAK
字號:
//說明:
//曲軸脈沖信號進入ECU之前接入延時裝置
//中斷TX1----曲軸脈沖信號
//P1^0-----噴油脈沖信號
//P1^2---- 延時輸出曲軸脈沖信號
//延時時間計算    曲軸周期*360*角度(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           //節拍信號
#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, //計數器
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;
}
//--------------------------------------------------------------------------
// 系統初始化,初始化寄存器
//--------------------------------------------------------------------------
void initsys()
{	
        EA = 1;                      //全局中斷允許
        ET0 = 1;                     //定時器中斷允許
        ET1 = 1;
        PT1 = 1;                     //T1中斷優先級最高
	TMOD = 0x11;                 //T0工作方式1,計時1ms
	TH0=0xFE;
	TL0=0x0C;
	TR0 = 1;                     //啟動T0;
	
	TH1=0xFE;
        TL1=0x0C;
	TR1 = 1;                     //啟動T1;
	//外部中斷1
	IT1=1;                       //負跳變觸發
	EX1=1;                       //外中斷1允許
		
	fireLed = 0;
	oilLed = 0;
	OutSignal = 1;               //輸出信號斷口初值
	//8155 INIT
	XBYTE[P8155CW] = 0x43;       //定義8155控制字 
}
//--------------------------------------------------------------------------
// 主程序
//--------------------------------------------------------------------------
void main(void)
{  
   init();          //變量初始化
   initsys();       //系統初始化
   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);
}
//--------------------------------------------------------------------------
// T1中斷子程序
//--------------------------------------------------------------------------
void time1(void) interrupt 3 using 1
{	
	TH1=0xFE;
        TL1=0x0C;
        
        downCount++;upCount++;        
        if(downSign==0xFF && downCount>=outTimeDelay)
        {
            OutSignal = 0;downSign = 0;
        }
        if(upSign==0xFF && upCount>=outTimeDelay)
        {
            OutSignal = 1;upSign = 0;
        }
}
//--------------------------------------------------------------------------
// T0中斷子程序
//--------------------------------------------------------------------------
void time0(void) interrupt 1 using 1
{
     TH0=0xFE;
     TL0=0x0C;
     time0Count++;          //點火信號周期計數
     time0Key++;            //鍵盤延時,去抖動
          
     time0Count1++;         //計數 
     //噴油信號檢測
     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
		}
	}
}
//---------------------------------------------------------------------------
// 延時函數,延時時間為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;        //本次按鍵已經生效    	   
    	   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;        //本次按鍵已經生效    	   
//    	   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一区二区三区免费野_久草精品视频
97久久久精品综合88久久| 中文字幕电影一区| 欧美日韩高清一区| 欧美日韩国产在线观看| 欧美日韩亚洲综合一区| 在线观看免费视频综合| 欧美性大战久久| 欧美日本在线一区| 欧美一区二区高清| 欧美成人r级一区二区三区| 精品欧美乱码久久久久久1区2区 | 亚洲精品一区在线观看| 日韩欧美一区二区久久婷婷| 日韩欧美在线不卡| 久久久久国产精品麻豆| 欧美国产一区二区| 亚洲欧美日韩一区二区 | 亚洲毛片av在线| 亚洲高清三级视频| 偷拍自拍另类欧美| 极品美女销魂一区二区三区| 国产麻豆午夜三级精品| av在线不卡观看免费观看| 色狠狠av一区二区三区| 欧美喷潮久久久xxxxx| 精品国产自在久精品国产| 久久久久国色av免费看影院| 亚洲国产成人私人影院tom| 亚洲色图制服诱惑 | 亚洲一区二区三区免费视频| 亚洲www啪成人一区二区麻豆| 日韩国产高清在线| 国内不卡的二区三区中文字幕| 国产91精品欧美| 在线观看国产91| 日韩免费高清av| 中文字幕av一区 二区| 一区二区三区不卡视频在线观看| 日韩国产在线一| 激情综合色播五月| 成人黄色国产精品网站大全在线免费观看| 91玉足脚交白嫩脚丫在线播放| 欧美日韩1区2区| 国产色产综合产在线视频| 亚洲精品日产精品乱码不卡| 秋霞电影网一区二区| 高清久久久久久| 欧美老肥妇做.爰bbww视频| 久久先锋影音av| 亚洲一区中文日韩| 精品一区二区影视| 91蜜桃视频在线| 精品伦理精品一区| 一区二区三区欧美在线观看| 韩国av一区二区三区| 色婷婷久久久久swag精品| 日韩精品一区二区三区蜜臀| 一区二区在线观看av| 国产激情视频一区二区三区欧美 | 欧美日韩在线一区二区| 国产三级精品三级在线专区| 亚洲va欧美va人人爽| 成人av中文字幕| 日韩欧美123| 亚洲一区中文在线| 成人亚洲一区二区一| 日韩午夜精品电影| 一区二区在线观看视频在线观看| 国产高清亚洲一区| 91精品国产乱| 亚洲成人综合视频| www.欧美精品一二区| 精品国产乱码久久久久久老虎 | 午夜国产精品影院在线观看| 99精品桃花视频在线观看| 久久综合网色—综合色88| 午夜电影一区二区| 99精品一区二区| 国产拍欧美日韩视频二区| 另类欧美日韩国产在线| 欧美亚洲动漫精品| 亚洲欧美一区二区在线观看| 国产一区二区三区四| 日韩一级精品视频在线观看| 一区二区三区av电影| av爱爱亚洲一区| 久久亚洲免费视频| 麻豆精品国产传媒mv男同| 欧美日韩一区二区三区四区五区| 17c精品麻豆一区二区免费| 国产在线观看免费一区| 精品国产麻豆免费人成网站| 毛片av一区二区| 欧美精品在欧美一区二区少妇| 亚洲综合久久av| 色悠久久久久综合欧美99| 国产精品美女www爽爽爽| 国产91丝袜在线播放九色| 久久精品亚洲精品国产欧美| 精品无人区卡一卡二卡三乱码免费卡 | 久久99在线观看| 日韩欧美在线网站| 久久国产精品区| 精品国产乱码久久久久久夜甘婷婷 | 99精品久久99久久久久| 国产精品乱码妇女bbbb| 成人在线视频首页| 国产日韩欧美高清| 成人免费的视频| 国产精品久久久久久久第一福利 | 精品精品国产高清a毛片牛牛| 美国欧美日韩国产在线播放 | 日韩精品一二三| 91精品国产欧美一区二区| 奇米精品一区二区三区在线观看一| 欧美日韩色综合| 日本美女一区二区三区视频| 精品日韩成人av| 国产成人激情av| 亚洲乱码中文字幕综合| 在线看国产日韩| 喷水一区二区三区| 久久亚洲精华国产精华液| 波多野结衣欧美| 一区二区三区国产豹纹内裤在线| 欧美三级电影一区| 毛片一区二区三区| 国产精品欧美久久久久一区二区| 91色九色蝌蚪| 视频一区二区不卡| 亚洲精品在线免费播放| 波多野结衣中文字幕一区| 亚洲国产综合在线| 精品精品欲导航| 成人国产一区二区三区精品| 一区二区在线免费| 欧美一级二级三级乱码| 丁香另类激情小说| 亚洲最快最全在线视频| 日韩三区在线观看| 成人免费视频免费观看| 一区二区三区国产精品| 26uuu亚洲| 一本到不卡免费一区二区| 日本vs亚洲vs韩国一区三区| 国产人妖乱国产精品人妖| 在线视频观看一区| 久久www免费人成看片高清| 亚洲天堂2016| 欧美一区二区三区在| 成人国产视频在线观看| 午夜久久久影院| 国产精品天天看| 欧美一区二区三区人| 成人av资源站| 久久精品av麻豆的观看方式| 国产精品不卡在线| 日韩欧美国产精品| 91在线观看美女| 国产伦理精品不卡| 午夜影院久久久| 国产精品电影一区二区| 日韩欧美aaaaaa| 欧美伊人久久久久久久久影院| 国产精品综合一区二区三区| 亚洲一区二区三区四区五区黄| 国产日韩欧美激情| 日韩欧美成人一区二区| 在线观看国产日韩| 成人精品国产免费网站| 蜜桃av噜噜一区| 亚洲一区中文日韩| 成人欧美一区二区三区白人| 欧美成人三级在线| 欧美精品aⅴ在线视频| 国产成人精品aa毛片| 久久97超碰国产精品超碰| 亚洲一区二区三区小说| 中文字幕在线不卡国产视频| 精品久久国产字幕高潮| 911国产精品| 91久久精品日日躁夜夜躁欧美| 岛国精品一区二区| 精品系列免费在线观看| 蜜桃视频在线观看一区| 亚洲1区2区3区视频| 一区二区三区视频在线看| 亚洲同性同志一二三专区| 国产午夜亚洲精品理论片色戒| 欧美大白屁股肥臀xxxxxx| 欧美日韩精品欧美日韩精品| 色网站国产精品| 91视视频在线观看入口直接观看www | 三级影片在线观看欧美日韩一区二区| 亚洲欧美福利一区二区| 国产精品毛片久久久久久久| 中文成人av在线| 国产精品欧美经典| 亚洲国产精品国自产拍av| 久久精品一区二区三区不卡牛牛|