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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? coder._c

?? m8改造4VF遙控器
?? _C
字號(hào):
//中斷方式發(fā)送PWM脈沖,負(fù)脈沖,變化范圍為1MS~2MS。INT0為教練接口輸入負(fù)脈沖,INT1為教練接口2,輸入正脈沖后自動(dòng)翻轉(zhuǎn),
//外部中斷接口打開(kāi)上拉。隔離脈沖為500US
//有一個(gè)教練允許開(kāi)關(guān),打開(kāi)后進(jìn)入死循環(huán),并允許外部中斷,前提條件是有信號(hào),用定時(shí)器0進(jìn)行信號(hào)有無(wú)判斷
//定時(shí)器1采用比較匹配方式觸發(fā)中斷進(jìn)行信號(hào)發(fā)送


#include <iom8v.h>
#include <macros.h>

#define Uchar unsigned char
#define Uint unsigned int


#define nop() asm("nop")
#define _nop_() asm("nop")



#define PB PORTB
#define PC PORTC
#define PD PORTD
 
#define IN0 PIND&0x04
#define IN1 PIND&0x08

#define LEDH PB|=0x01
#define LEDL PB&=~0x01

#define BUTTON1 PINB&0x02
#define BUTTON2 PINB&0x04
#define BUTTON3 PINB&0x08
#define BUTTON4 PINB&0x10
#define BUTTON5 PINB&0x20

#define OUTH PD|=0x80
#define OUTL PD&=~0x80

#define LOW_TIME 400
#define SWH_time 900
#define SWL_time 100

Uint ch_time[9]={200,200,200,200,200,200,200,200,200,};//輸出用
Uint time[9];//輸出緩存
Uchar ch_counter=0;//通道計(jì)數(shù),用來(lái)與數(shù)據(jù)采集同步
Uchar input=0;//信號(hào)輸入有無(wú)標(biāo)志
Uchar train=0;//訓(xùn)練開(kāi)始表示,防止切換時(shí)發(fā)生抖舵

void port_init(void)
{
 PORTB = 0x3E;
 DDRB  = 0x01;
 PORTC = 0x00; //m103 output only
 DDRC  = 0x00;
 PORTD = 0x0C;
 DDRD  = 0x80;
}

//c輸入

//TIMER0 initialize - prescale:1024
// desired value: 1Hz
// actual value: Out of range
void timer0_init(void)
{
 TCCR0 = 0x00; //stop
 TCNT0 = 0x00 /*INVALID SETTING*/; //set count
 //TCCR0 = 0x05; //start timer
}

#pragma interrupt_handler timer0_ovf_isr:10
void timer0_ovf_isr(void)
{
 input=0;
 train=0;
}

//TIMER1 initialize - prescale:8
// WGM: 0) Normal, TOP=0xFFFF
// desired value: 1Hz
// actual value: Out of range
void timer1_init(void)
{
 TCCR1B = 0x00; //stop
 TCNT1H = 0x00 /*INVALID SETTING*/; //setup
 TCNT1L = 0x00 /*INVALID SETTING*/;
 OCR1AH = 0x00 /*INVALID SETTING*/;
 OCR1AL = 0x00 /*INVALID SETTING*/;
 OCR1BH = 0x00 /*INVALID SETTING*/;
 OCR1BL = 0x00 /*INVALID SETTING*/;
 ICR1H  = 0x00 /*INVALID SETTING*/;
 ICR1L  = 0x00 /*INVALID SETTING*/;
 TCCR1A = 0x00;
 TCCR1B = 0x02; //start Timer
}

#pragma interrupt_handler timer1_compa_isr:7
void timer1_compa_isr(void)
{
 //compare occured TCNT1=OCR1A//本函數(shù)來(lái)自4Vf改裝系統(tǒng),有部分改變
 static Uchar output_static=1;//輸出狀態(tài),0代表即將輸出一個(gè)低電平,1代表即將輸出一個(gè)高電平
                           //第一次發(fā)信號(hào)先發(fā)一個(gè)低電平
 	
Uchar counter;//普通計(jì)數(shù)器用來(lái)拷貝數(shù)據(jù)

					   
output_static=!output_static;
  
switch(output_static)
{
case 0:OUTH;
       TCNT1=0;//定時(shí)器清零
	   OCR1A=LOW_TIME;
	   if(ch_counter==9)ch_counter=0;//計(jì)數(shù)清零同步放行
break;

case 1:OUTL;
       TCNT1=0;//定時(shí)器清零
	   OCR1A=ch_time[ch_counter];  
	        if(ch_counter==8)//最后一個(gè)高電平是同步電平
	   {
	      for(counter=0;counter<=8;counter++)
	      {
	      ch_time[counter]=time[counter]+600;
		  
	      }
	   }
	   ch_counter++;
}// switch(output_static)

}//void timer1_compa_isr(void)



//ADC initialize
// Conversion time: 104uS
void adc_init(void)
{
 ADCSR = 0x00; //disable adc
 ADMUX = 0x00; //select adc input 0
 ACSR  = 0x80;
 ADCSR = 0x86;
}

//Watchdog initialize
// prescale: 32K 
void watchdog_init(void)
{
 WDR(); //this prevents a timout on enabling
 WDTCR = 0x18;
 WDTCR = 0x09; //WATCHDOG ENABLED - dont forget to issue WDRs
 
}



//call this routine to initialize all peripherals
void init_devices(void)
{
 //stop errant interrupts until set up
 CLI(); //disable all interrupts
 
 port_init();
 timer0_init();
 timer1_init();
 adc_init();
 OSCCAL=0xb3;
 watchdog_init();
 MCUCR = 0x05;
 //GICR//中斷開(kāi)關(guān)應(yīng)在MAIN中用開(kāi)關(guān)和信號(hào)有無(wú)控制
 GICR  = 0x00;
 TIMSK = 0x11; //timer interrupt sources
 SEI(); //re-enable interrupts
 //all peripherals are now initialized
}



#pragma interrupt_handler int0_isr:2
void int0_isr(void)
{
 //external interupt on INT0 負(fù)輸入
 TCNT0 = 0x00 ;//有信號(hào)
 input=1;
 if(train)//先不忙發(fā)送
 switch(IN0)
 {
 case 0:
 OUTL;
 break;
 case 0x04:
 OUTH;
 }
}

#pragma interrupt_handler int1_isr:3
void int1_isr(void)
{
 //external interupt on INT1 正輸入自動(dòng)反向
 TCNT0 = 0x00 ;//有信號(hào)
 input=1;
 if(train)//先不忙發(fā)送
  switch(IN1)
 {
 case 0:
 OUTH;
 break;
 case 0x08:
 OUTL;
 }
 
}



void Putchar (Uchar c)
{
while(!(UCSRA&(1<<UDRE)));
UDR=c;
}


Uint ReadADC (Uchar channel)
{
Uint int1,int2;
ADMUX&=~0x1F;
ADMUX|=channel;
ADCSRA|=0x40;
while(~ADCSRA&0x10){}
ADCSRA|=0x10;
int2=ADCL;
int1=ADCH;
int1<<=8;
return (int1+int2);
}


main()
{

Uint batt;//電量
Uint temp[4];//濾波用
Uint youmen ;//油門緩存
Uchar counter ;//采集計(jì)數(shù)
Uchar safe=1,safedelay=0;//油門保護(hù)
Uchar warning_frequency;//警告頻率
Uchar warning_counter=0;
Uchar ledonof=0;
Uchar battcheck=1;//檢測(cè)電量許可
Uchar checken=200;//等待電壓穩(wěn)定

init_devices();


while(1)
{


for(counter=0;counter<=3;counter++)
{
temp[counter]=ReadADC (counter);
if((temp[counter]>time[counter]+1)||(temp[counter]<time[counter]-1))time[counter]=temp[counter];

}

batt=ReadADC (4);

if(BUTTON1)time[4]=SWL_time;else time[4]=SWH_time;
if(BUTTON2)time[5]=SWL_time;else time[5]=SWH_time;
if(BUTTON3)time[6]=SWL_time;else time[6]=SWH_time;
if(BUTTON4)time[7]=SWL_time;else time[7]=SWH_time;

time[8]=12000-time[0]-time[1]-time[2]-time[3]-time[4]-time[5]-time[6]-time[7];

WDR();

if(safe)
{
youmen=time[2];
time[2]=0;
if(safedelay>3)
 {
  if(youmen<50)safe=0;
 }
else safedelay++;
}


if(!(BUTTON5))
{
TCCR0 = 0x05; //start timer//開(kāi)始判斷有無(wú)信號(hào)
GICR  = 0xC0;//外中斷開(kāi)
  if (input)
  {
  TCCR1B = 0x00;//原來(lái)的信號(hào)發(fā)送關(guān)閉
  train=1;//開(kāi)始訓(xùn)練
  ch_counter=0;//等待放行
  }
  else
  {
  TCCR1B = 0x02;
  train=0;//退出時(shí)關(guān)閉訓(xùn)練
   ////原來(lái)的信號(hào)發(fā)送打開(kāi)
  }
}//if(!(BUTTON5))
else
{
GICR  = 0x00;//外中斷關(guān)
TCCR0 = 0x00;
TCNT0 = 0x00;
train=0;
input=0;
TCCR1B = 0x02;
}

////////////////////////////

if(checken==0)
{
if(battcheck)
{
if(batt<450) //進(jìn)入報(bào)警狀態(tài)
{
  if(batt>393) //進(jìn)入頻閃狀態(tài)
{
warning_frequency=batt-390;
warning_counter++;
if(warning_counter>=warning_frequency)
{
warning_counter=0;
ledonof=!ledonof;
if(ledonof)LEDH;
else LEDL;
}
}
 else {LEDH;battcheck=0; }//進(jìn)入長(zhǎng)亮狀態(tài),不允許電壓回升

}

else LEDL;  //關(guān)閉
}
}//if(checken==0)
else checken--;


////////////////////////////

while(ch_counter);

}//while(1)

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久超碰97中文字幕| 亚洲国产成人tv| av一区二区三区在线| 亚洲国产精品精华液2区45| 国产宾馆实践打屁股91| 亚洲欧美综合色| 在线视频观看一区| 爽爽淫人综合网网站| 亚洲精品日日夜夜| 亚洲精品一区二区三区99| 91国在线观看| 久久99精品一区二区三区| 欧美日韩五月天| 一区二区三区国产精华| 99精品视频在线观看| 亚洲天堂精品在线观看| 精品福利av导航| 久久久精品免费网站| 日韩制服丝袜先锋影音| 国产精华液一区二区三区| 久久伊99综合婷婷久久伊| 极品美女销魂一区二区三区 | 91成人免费在线视频| 99精品欧美一区二区三区小说| 自拍视频在线观看一区二区| 欧美日韩精品欧美日韩精品一综合| 精品一区二区三区免费视频| 综合久久国产九一剧情麻豆| 在线影院国内精品| 日本午夜精品视频在线观看| 国产精品网曝门| 欧美一区二区三区四区在线观看 | 亚洲一区欧美一区| 成人久久18免费网站麻豆| 中文字幕亚洲精品在线观看| 色婷婷综合中文久久一本| 亚洲福利视频一区二区| 日韩欧美一区在线观看| 国产精品一区一区三区| 欧美国产日韩精品免费观看| 色94色欧美sute亚洲13| 天天影视色香欲综合网老头| 精品成人一区二区三区四区| 成人99免费视频| 午夜精品久久久| 精品播放一区二区| www.久久久久久久久| 亚洲午夜久久久久久久久电影院 | 91免费观看国产| 中文字幕在线不卡国产视频| 国产成人在线观看免费网站| 国产精品国产馆在线真实露脸| 色欧美乱欧美15图片| 婷婷综合久久一区二区三区| 精品国产成人在线影院 | 伦理电影国产精品| 国产精品久久久久久亚洲毛片| 欧美系列一区二区| 激情综合色播激情啊| 亚洲欧洲日韩在线| 91精品国产黑色紧身裤美女| 国产成人丝袜美腿| 亚洲第一综合色| 国产午夜精品一区二区三区嫩草| 色婷婷久久久综合中文字幕| 久久国产福利国产秒拍| 亚洲欧美日本在线| 欧美v亚洲v综合ⅴ国产v| 99精品欧美一区二区蜜桃免费 | 男女激情视频一区| 久久电影网电视剧免费观看| 精一区二区三区| 国产成人精品一区二| 福利视频网站一区二区三区| www.综合网.com| 在线看国产日韩| 日韩欧美国产电影| 自拍偷拍欧美精品| 婷婷中文字幕综合| 国产精品一区在线观看乱码 | 91麻豆精品国产自产在线| 精品欧美一区二区在线观看| 日本一区二区三级电影在线观看| 亚洲欧美激情小说另类| 捆绑紧缚一区二区三区视频| 不卡一区二区中文字幕| 国产欧美日韩精品a在线观看| 韩国成人在线视频| 波多野结衣的一区二区三区| 国产精品一二三四区| 99久久精品情趣| 日韩一级高清毛片| 亚洲精品少妇30p| 这里是久久伊人| 久久99国产精品久久99| 欧美刺激午夜性久久久久久久| 91免费在线视频观看| 国产福利视频一区二区三区| 日本欧美加勒比视频| 一区二区三区欧美久久| 中文字幕制服丝袜一区二区三区| 91在线你懂得| 夜夜精品浪潮av一区二区三区| 午夜视频在线观看一区二区三区| 国产精品996| 91麻豆精品国产91久久久久| 日本不卡的三区四区五区| 亚洲免费观看高清| 国产女人18毛片水真多成人如厕| 日韩欧美电影一区| 51精品视频一区二区三区| 91久久精品国产91性色tv| www.色综合.com| 高清日韩电视剧大全免费| 久久99精品国产.久久久久久| 性感美女极品91精品| 夜夜嗨av一区二区三区网页| 国产精品久久久久久久久免费丝袜| 久久久综合视频| 精品福利一二区| 26uuu国产一区二区三区| 91精品欧美久久久久久动漫| 欧美在线你懂的| 欧美在线free| 欧洲日韩一区二区三区| 色综合天天综合| 中文字幕亚洲区| 中文字幕不卡在线| 国产精品美女久久久久久久久| 中文字幕欧美日本乱码一线二线| 久久伊99综合婷婷久久伊| 久久一区二区三区四区| 久久久久国产精品麻豆ai换脸 | 国产一区二区三区视频在线播放| 久久成人av少妇免费| 激情av综合网| 国产一区二区精品久久| 国产精品综合久久| 国产精品亚洲第一| 国产99精品在线观看| 丰满少妇久久久久久久| 成人国产精品视频| 99久久久久久| 欧洲亚洲国产日韩| 欧美日韩成人一区二区| 欧美日韩国产免费一区二区 | 久久精品视频网| 中文字幕乱码亚洲精品一区| 国产精品丝袜一区| 亚洲欧美另类在线| 午夜精品久久久久久久| 免费精品99久久国产综合精品| 看片网站欧美日韩| 国产成人在线色| 色先锋久久av资源部| 欧美日韩免费在线视频| 欧美精品日韩精品| 精品国产亚洲在线| 国产色产综合产在线视频 | 国产亚洲人成网站| 专区另类欧美日韩| 亚洲大型综合色站| 久久电影网电视剧免费观看| 国产乱国产乱300精品| aaa国产一区| 欧美日韩一区国产| 欧美精品一区二区三区在线 | 亚洲综合999| 美女一区二区视频| 成人在线视频一区二区| 日韩一区二区三区电影| 国产成人午夜精品影院观看视频 | 精一区二区三区| 亚洲人成电影网站色mp4| 26uuuu精品一区二区| 色婷婷国产精品综合在线观看| 国产一区二区三区蝌蚪| 日本欧美一区二区| 亚洲不卡一区二区三区| 亚洲色欲色欲www在线观看| 精品久久久久久久久久久久久久久久久 | 一区二区三区色| 国产精品毛片高清在线完整版| 日本一区二区在线不卡| 18成人在线观看| 精品在线一区二区三区| 国产做a爰片久久毛片| 免费欧美在线视频| 亚洲欧美乱综合| 亚洲黄色免费网站| 一区二区三区免费观看| 综合中文字幕亚洲| 蜜臀99久久精品久久久久久软件| 在线精品国精品国产尤物884a| 日本一区二区三区久久久久久久久不| 天堂久久一区二区三区| 国产精品18久久久久久久久久久久| 色8久久人人97超碰香蕉987| 欧美精品一区二区三区在线| 樱桃国产成人精品视频|