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

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

?? main.c~

?? 小車源程序工程,由pcf8565單片機(jī)控制
?? C~
?? 第 1 頁 / 共 2 頁
字號:
/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.6c Professional
Automatic Program Generator
?Copyright 1998-2006 Pavel Haiduc, HP  vula_adcfoTech s.r.l.
http://www.hp vula_adcfotech.com

Project : 小車
Version :  0.00
Date    : 2007-8-30
Author  : momo                          
Company : zhong bei da xue                       
Comments: 


Chip type           : ATmega16L
Program type        : Application
Clock frequency     : 1.000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 256
*****************************************************/
#include "config.h"


#define   startCPA    TCCR1A|=0X40
#define   startCPB    TCCR1A|=0X10

#define   stopCPA     TCCR1A&=0XBF
#define   stopCPB     TCCR1A&=0XEF

#define   MBgo          PORTD.0=0
#define   MBback       PORTD.0=1

#define   MAgo          PORTD.1=0
#define   MAback       PORTD.1=1
/**************************************************** 
全局變量聲明
*****************************************************/
volatile unsigned char  flage=0X00;
volatile unsigned char Timer[3]={0,0,0};
volatile unsigned char  write;
volatile unsigned char BalanceTime=0;     
unsigned char  vula_adc;   
 flash char *step[5]={ "stepA","stepB","stepC","back ","over "} ;
 flash char *mode[3]={"normal","advanc","demo  "};
 flash char *display[5]={"frist","sec   ","tree  ","four  ","five  "};
/****************************************************** 
系統(tǒng)中斷    (顯示,蜂鳴)
*******************************************************/
 interrupt [TIM0_COMP ] void tim0_comp_isr(void)  
 {
    static unsigned char buzz;
    switch ( flage )
     {
    case 0X04:
                    Timer[0]=Read_sec( ); 
                   if( Timer[0]==Timer[2] ) 
                   ;
                   else  
                   {
                       BalanceTime++;
                       LCD_write_char( 13 , 1 ,  ( BalanceTime%10)+'0' ); 
                       LCD_write_char( 12 , 1 ,  ( BalanceTime/10)+'0' );  
                       Timer[2]=Timer[0]   ;
                    }
                    goto j1;  
                    break;
    case 0X84: 
                   Timer[0]=Read_sec( ); 
                   if( Timer[0]==Timer[2] ) 
                   ;
                   else  
                   {
                       BalanceTime++;
                       LCD_write_char( 13 , 1 ,  ( BalanceTime%10)+'0' ); 
                       LCD_write_char( 12 , 1 ,  ( BalanceTime/10)+'0' );  
                       Timer[2]=Timer[0]   ;
                    }
   case 0X80:
                    if( (++buzz) == 10 )
                      {
                            buzz=0; 
                             PORTC.2=1;
                             flage -=0x80;   
                            }                       
     j1:
    case 0X00:  
                   Timer[0]=Read_sec( ); 
                   write=Timer[0];	 
                   LCD_write_char( 11 , 0 ,   (write& 0x0f)+ '0' );    
                   LCD_write_char( 10 , 0 ,   ( (write>>4)&0x07) + '0' );    
                   
                   Timer[1]=Read_miu( ); 	
                   write=Timer[1];
                   LCD_write_char(  4 , 0  ,  (write& 0x0f)+'0');      
                   break;
                   
    default:   break;
    }  
  }
 /*****************************************************************************
 系統(tǒng)中斷T2     (尋線校正)
 *****************************************************************************/
  interrupt [TIM2_COMP ] void tim2_comp_isr(void)  
 { 
     if(PORTD.1==1) 
       { 
         
          if(PIND.6==1) 
           
              startCPA;  
                
               else 
                 
                     stopCPA;
                       
            
          if(PIND.7==1)
               
              startCPB;
                
                else        
               
                     stopCPB;     
                       
       }   
      else
        {
           if(PIND.2==1) 
           
              startCPA;  
                    
                else 
                  
                      stopCPA;
                        
            
          if(PIND.3==1)
            
              startCPB;
             
                else        
                
                      stopCPB;     
         }      
 }  
 /**********************************************************  
 讀取ad值
 ***********************************************************/
 unsigned char get_ad(void) {

	unsigned char i;
	 ADMUX = 0x60;			              /*基準(zhǔn)AVCC、左對齊、通道0*/
                  ADCSRA = 0xC2; 
                  			                    /*使能、開啟、4分頻*/
	while(!(ADCSRA & (1 << ADIF)));	                     /*等待*/
	i = ADCH;
	ADCSRA &= ~(1 << ADIF);		/*清標(biāo)志*/
	ADCSRA &= ~(1 << ADEN);		/*關(guān)閉轉(zhuǎn)換*/

	return i;
}   
/*********************************************************************
蜂鳴器函數(shù)
*********************************************************************/
void beep( void )
{
   PORTC.2=0;
   delay_ms(500);
   PORTC.2=1;   
}
 /**********************************************************************
 根據(jù)ad值選擇平衡調(diào)整模式
 **********************************************************************/
unsigned char  output( void )
{
  if( vula_adc>=0X7D &&  vula_adc<=0X80 )
                return 0;
   if(  vula_adc>=0X7C && vula_adc<=0X81 )
                  return 1 ;
    if(  vula_adc>=0X7B &&  vula_adc<=0X82 )
                   return  2 ;
      if(  vula_adc>=0X7A &&  vula_adc<=0X83)
                    return 3 ;   
       if(  vula_adc>=0X79 &&  vula_adc<=0X84)
                     return  4 ;   
          if(  vula_adc>=0X78 &&  vula_adc<=0X85)
                      return  5 ;   
            if(  vula_adc>=0X77 &&  vula_adc<=0X86)
                        return  6 ;     
          if(  vula_adc>=0X76 &&  vula_adc<=0X87)
                          return  7  ;  
       if(  vula_adc>=0X75 && vula_adc<=0X88)
                            return  8 ;  
      if(vula_adc >=0X74 && vula_adc<= 0X89)                      
                           return 9;  
                                                                                                 
}   

/**************************************************************************************************
平衡驅(qū)動控制函數(shù)
**************************************************************************************************/
void  mortorgo( unsigned char high , unsigned char low, unsigned int  go_time, unsigned int  back_time )
 {
      OCR1AH=high; 
      OCR1AL = low;                                                      //new
      OCR1BH=high; 
      OCR1BL= low;   
       
       if( vula_adc<0x7F)
      {
        MAgo;
        MBgo;
      }
      else
      {
       MAback;
       MBback;
      }
     
      startCPA ;
      startCPB ; 
      
      delay_ms( go_time ) ;
     
      stopCPA ;
      stopCPB;
       
       if( vula_adc<0x7F)
      {
       MAback;
       MBback;
      }
      else
      {
        MAgo;
        MBgo;
      }
      
      startCPA ;
      startCPB ;
      
      delay_ms( back_time ) ;   
       
      stopCPA ;
      stopCPB;
 }
void Findbenlen( void )
{
       unsigned char Flage_balan=1; 
       unsigned char Flage_select;
       unsigned char count=0;
   do{
       
       vula_adc = get_ad ( );
       
       Flage_select = output(  ) ;
         
      switch ( output(  ) ) {
                      case 0 : 
                                    
                                  stopCPA ;
                                  stopCPB;
                                  if(count<=9)
                                       count++;
                                     else 
                                       Flage_balan=0;
                                 break;
                      case 1 :  
                                  count=0;
                                  mortorgo( 0x03,0xFF , 400, 350 ) ;
                                 break; 
                      case 2 :   
                                  count=0;
                                  mortorgo( 0x02,0xFF , 800, 700 ) ;
                                 break;
                      case 3 : 
                                 count=0;
                                 mortorgo( 0x02,0xFF , 900, 800 ) ;
                                 break;
                      case 4 :   
                                 count=0;
                                 mortorgo( 0x02,0xFF , 900, 700 ) ;
                                 break; 
                      case 5 :
                                  count=0;
                                mortorgo( 0x02,0xFF , 900, 650 ) ;
                                 break; 
                      case 6 :  
                                  count=0;
                                 mortorgo( 0x02,0xFF , 900,600 ) ;
                                 break;  
                       case 7 :
                                  count=0;
                                  mortorgo( 0x02,0xFF , 1000, 700 ) ;
                                 break;   
                       case 8 :
                                 count=0;
                                 mortorgo( 0x02,0xFF , 1000,600 ) ; 
                                break;   
                       case 9 :  
                                  count=0;
                                  mortorgo( 0x02,0xFF , 1000,500) ; 
                                  break;  
                                                                 
                    default:  
                                  count=0;
                                  mortorgo( 0x02,0xFF , 1000,500) ; 
                                 break;
    };
       delay_ms(200);
  }
 
 while( Flage_balan );    
}

unsigned char SelectMode ( void )
{
  unsigned char temp=0;
  LCD_write_str( 0 , 0 ,"press START key");  
  LCD_write_str( 0 , 1 ,"zhong bei da xue "); 
 
  while( PINC.6 ==1 );    
  while(PINC.6 ==0);
  
  LCD_clear( );
  LCD_write_str( 0 , 0 ,"mode:"); 
  LCD_write_str( 0 , 1 ,"select mode");  
  LCD_write_str( 6 , 0 ,mode[0]);
    delay_ms( 1000 ); 
  do
    {
      if( PINC.7==0 )
          {
             while(PINC.7==0);
				++temp; 
          
             if(temp==3)
                temp=0;
                
               LCD_write_str( 6 , 0 ,mode[temp]);  
          }
    }  
     while(PINC.6==1);
     while(PINC.6==0);  
      LCD_clear( );
   return(temp);
}    

/*******************************************************
基本要求部分
*******************************************************/
void nomal ( void ) 
{
 /*****************************************************
 顯示時鐘,初始設(shè)置
 *****************************************************/   
    LCD_write_str( 0 , 0 ,"minc:  sec: "); 
    LCD_write_str( 0 ,  1 , step[0] ); 
    delay_ms(1000);
    beep(  );
    start_PCF( );
/********************************************************
  小車動作初始化
********************************************************/  
    MBgo ;  
    MAgo;   
    OCR1AH=0x02; 
    OCR1AL =0xFF;                                                       //new
    OCR1BH=0x02; 
    OCR1BL=0xFF;
    startCPA ;
     startCPB ;  
    delay_ms(2000);  
    OCR1AH=0x01; 
    OCR1AL =0xFF;                                                       //new
    OCR1BH=0x01; 
    OCR1BL=0xFF; 
    TCCR2  = 0x0A;                                   //自動尋線開
    
    SEI( );                                                  //全局中斷開   
    /**********************************************
    第一階段
    **********************************************/
   while ( Timer[0] != 0X14 ) ;
   LCD_write_str( 0 ,  1 , step[1] ); 
  
   CLI( ); 
   beep(  );
   start_PCF( ); 
   SEI( );
   /************************************************
   尋找平衡
   ************************************************/    
   TCCR2  = 0x00;                                      //尋線關(guān)
    Findbenlen(  );
    PORTC.2=0;
    flage+=0x80;                                        //開啟蜂鳴,中斷關(guān)閉   
   
   /************************************************
   找到平衡
   ************************************************/
   CLI( ); 
   start_PCF( );                                                     //需要改動
   LCD_write_str( 0 ,  1 , step[2] );
   LCD_write_str( 6 ,  1 , "Balan:"  ); 
   flage+=0x04;                                                      //顯示平衡 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩亚洲欧美综合| 亚洲综合精品自拍| 欧美精品一区二区在线播放 | 在线精品视频免费播放| 成人av一区二区三区| 国产a级毛片一区| 国产成人精品亚洲777人妖| 丁香啪啪综合成人亚洲小说| 国产精品亚洲成人| 丁香六月综合激情| av成人动漫在线观看| 99精品1区2区| 一本色道久久综合亚洲aⅴ蜜桃 | 日韩免费视频线观看| 精品久久久久久无| 日韩欧美美女一区二区三区| 日韩欧美另类在线| 久久精品免费在线观看| 久久精品亚洲乱码伦伦中文| 国产农村妇女精品| 亚洲免费观看高清| 亚洲v精品v日韩v欧美v专区| 美女视频黄久久| 精品亚洲aⅴ乱码一区二区三区| 精品一区二区三区在线观看国产 | 成人动漫中文字幕| 日本韩国欧美一区二区三区| 欧美日韩国产系列| 精品奇米国产一区二区三区| 久久久久9999亚洲精品| 国产欧美日韩精品一区| 亚洲精品视频自拍| 日本不卡123| 国产黄色精品视频| 欧美少妇bbb| 日韩美女天天操| 国产精品毛片久久久久久| 亚洲一区二区五区| 韩国成人在线视频| 色综合婷婷久久| 91精品国产一区二区| 欧美激情中文字幕一区二区| 亚洲午夜精品一区二区三区他趣| 免费成人av在线播放| 波多野结衣91| 91精品国产综合久久精品app| 久久久精品国产99久久精品芒果 | 美女高潮久久久| 不卡一区二区三区四区| 精品污污网站免费看| 日本一区二区视频在线| 天堂av在线一区| www.日韩精品| 日韩欧美一级二级三级久久久| 中文字幕在线播放不卡一区| 日本不卡视频在线| 色乱码一区二区三区88| 欧美大胆人体bbbb| 一区二区三区小说| 国产精品 日产精品 欧美精品| 欧美日韩亚洲丝袜制服| 国产精品大尺度| 久草在线在线精品观看| 欧美亚洲另类激情小说| 国产精品美女久久久久久久久| 日本不卡一区二区三区| 91蜜桃免费观看视频| 久久久亚洲精品石原莉奈| 五月激情丁香一区二区三区| 99精品视频在线免费观看| 久久影视一区二区| 视频一区在线播放| 在线日韩一区二区| 国产精品成人免费在线| 久久69国产一区二区蜜臀| 欧美日韩精品欧美日韩精品一综合| 国产精品久久免费看| 韩国欧美国产一区| 日韩欧美久久一区| 三级一区在线视频先锋| 欧洲精品视频在线观看| 国产精品久久久久久久久免费樱桃 | 亚洲精品中文在线观看| 波波电影院一区二区三区| 久久这里只有精品视频网| 麻豆精品视频在线观看免费| 欧美日韩免费在线视频| 亚洲精品v日韩精品| 99麻豆久久久国产精品免费| 国产亚洲一区二区在线观看| 九九热在线视频观看这里只有精品| 欧美日韩精品是欧美日韩精品| 一区二区三区日本| 日本精品视频一区二区| 玉足女爽爽91| 在线看国产日韩| 一区二区不卡在线视频 午夜欧美不卡在 | 91在线精品秘密一区二区| 国产清纯在线一区二区www| 精品亚洲国产成人av制服丝袜| 日韩美女视频一区二区在线观看| 日韩精品乱码av一区二区| 欧美日韩亚洲综合| 午夜精品久久久久久| 欧美日韩中文国产| 日韩国产在线观看一区| 日韩三级视频中文字幕| 老司机精品视频一区二区三区| 日韩西西人体444www| 麻豆91精品视频| 精品国产乱码久久久久久影片| 韩国一区二区在线观看| 久久久久久麻豆| 国产91富婆露脸刺激对白| 国产精品无人区| 91麻豆精东视频| 亚洲一区二区三区四区在线| 欧美精品黑人性xxxx| 蜜桃久久av一区| 久久人人97超碰com| 国产成人aaaa| 亚洲欧洲av另类| 色噜噜狠狠成人网p站| 午夜精品一区在线观看| 欧美第一区第二区| 成人黄页在线观看| 一区二区三区日韩精品| 91精品国产一区二区三区 | 欧美高清激情brazzers| 美腿丝袜亚洲综合| 国产亚洲制服色| 色成人在线视频| 日韩精品久久久久久| 久久蜜臀中文字幕| 91网站在线播放| 日韩国产欧美一区二区三区| 精品国产91乱码一区二区三区| 成人性生交大片免费看中文网站| 亚洲免费视频中文字幕| 91麻豆精品久久久久蜜臀| 国产毛片精品视频| 一区二区三区中文在线| 日韩欧美一区二区在线视频| 风间由美一区二区三区在线观看 | 久久精品这里都是精品| 在线免费观看成人短视频| 日韩av在线播放中文字幕| 久久精品人人做| 欧美日产在线观看| 成人黄色电影在线 | 国产精品主播直播| 一区二区欧美国产| 欧美成人在线直播| 91蝌蚪国产九色| 精品一区二区三区在线视频| 亚洲欧美经典视频| 久久久久国色av免费看影院| 欧美亚洲综合另类| 成人免费va视频| 美女国产一区二区| 一区二区三区丝袜| 欧美国产日韩精品免费观看| 欧美日韩aaaaa| 99久久精品国产精品久久| 久久91精品久久久久久秒播| 国产精品久久影院| 26uuu国产一区二区三区| 欧美日韩精品专区| 91色视频在线| 国产呦萝稀缺另类资源| 视频在线在亚洲| 亚洲猫色日本管| 国产三级精品三级| 欧美成人a∨高清免费观看| 91福利在线观看| 成人精品小蝌蚪| 国产在线精品一区二区夜色| 视频在线观看91| 亚洲午夜精品在线| 亚洲精品乱码久久久久久| 国产精品乱码一区二区三区软件| 欧美一区二区三区播放老司机| 91福利区一区二区三区| 成人av在线播放网站| 国内精品伊人久久久久av一坑 | 国产伦精品一区二区三区视频青涩 | 中文字幕亚洲一区二区va在线| 精品久久国产字幕高潮| 欧美乱妇15p| 欧美三级一区二区| 在线一区二区三区做爰视频网站| 成人精品视频一区二区三区尤物| 国内精品久久久久影院色| 美腿丝袜亚洲一区| 美女在线视频一区| 日本中文字幕一区| 秋霞午夜鲁丝一区二区老狼| 亚洲mv大片欧洲mv大片精品| 一区二区三区在线免费播放| 亚洲精品成人悠悠色影视|