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

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

?? testhwgad-cha0a1.c

?? PIC系列單片機實現小車控制部分
?? C
字號:
//8.23更改XPWM.C為ADRA0.C程序,服務AD采集,采集端口為RA0.
//去掉了PWM波型產生部分
//實現了雙通道A0,A1,口的采集
#include<pic.h>
//#include<math.h>
#include<stdio.h>
/******************************************************
**定義全局變量
*****************************************************/
unsigned char Position_X,Position_Y;
bank1 char String[32]="Hello,everyone!";
int x,y,k;
void Delay(int i);
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *str);
void LCD1602_cls();
void delay(int k);
//////////////////////////////////////
//---------------------全局變量定義-------/
//////////////////////////PWM波型///////////////////////
static char TIMERNUMBER,sec;
//static float Adresul;
bank1 char ADFLAG=0;
bank1 static unsigned int Adresult,ADsmp,ADX;

static char  DIS_FLAG,CHA1_FLAG,ADINTCONTER;
bank1 static unsigned int Adresult_A0,ADsmp_A0;
bank1 static unsigned int Adresult_A1,ADsmp_A1;
void initvar();     //數據初試值初試化
void T1inti();

void Portinit();          //端口初始化函數
void ADinit();            //AD初始化函數
void dealad();      //AD數據處理函數

/********************************************************************
中斷程序程序:                                                    
功能:執行對RB0外部中斷,讀紅外口
********************************************************************/
void interrupt INT()
{

  if(TMR1IF&&TMR1IE)
    {   
	 TMR1IF=0;        //清除中斷標志位   
     TMR1H=0xa3;      //T1時間高位賦值
     TMR1L=0x00;     //T1時間低位賦初值
	// ADON=1;   //打開AD轉換,次部可有可無
	 sec=sec+1;
	 
	 if(sec==10)
	   { 
		ADGO=1;
        DIS_FLAG=1;
        sec=0;
        }
   }	 

  if(ADIF&&ADIE)
      {
	        ADIF=0;
	        ADINTCONTER=ADINTCONTER+1;
	        
	            if((ADCON0&0X38)==0X00)
	             {
	               ADsmp_A0=ADRESL+(ADRESH<<8);          //取采樣結果
                   Adresult_A0=((((ADsmp*50)>>6)*50)>>4)*2; 
	               ADsmp=ADsmp_A0;
	               if(ADINTCONTER>=2)
	                  {
		                  CHS0 = 1;                       //準備進入3通道
                          CHS1 = 0;
                          CHS2 = 0;
                          ADINTCONTER=0;
                      }  
                  else
                      ADGO = 1;        
	              }
	           if((ADCON0&0X38)==0X08)
	             {
		           ADsmp_A1=ADRESL+(ADRESH<<8);          //取采樣結果
                   Adresult_A1=((((ADsmp*50)>>6)*50)>>4)*2; 
                   ADsmp=ADsmp_A1; 
                   if(ADINTCONTER>=2)
	                  {
		                  CHS0 = 0;                       //準備進入3通道
                          CHS1 = 0;
                          CHS2 = 0;
                          ADINTCONTER=0;
                      } 
                   else
                       ADGO = 1;  
                 } 
          
	    }	  
	          
          
}
/*****************************************
//函數名稱:void initvar()
//函數功能:為系統調用值賦初值
//函數調用:主函數調用
*****************************************/
void initvar()
{
	TIMERNUMBER=0;//輸出大約20MS的低電平
	ADsmp=0;
	Adresult=0;
	
	ADX=0;
	ADsmp_A0=0;
	Adresult_A0=0;
	ADsmp_A1=0;
	Adresult_A1=0;
	
	sec=0;

}
/*****************************************
//函數名稱:void T1inti()
//函數功能:T1初試化
//函數調用:主函數調用
*****************************************/ 
void T1inti()
{     
         TMR1H=0xa3;   //給T1賦值,32K晶振,計數值為0.1S
         TMR1L=0x00;   //給T1賦值   
         T1CON=0x30;   //T1為定時器
         TMR1ON=1;     //打開T1進行計數 
         
} 
void  ADinit()          
 {       
          ADCON1=0x82;       //轉換結果右移,及ADRESH 寄存器的高6 位為"0"
          ADCON0=0x85;         
          //10 010 000選擇A/D 通道為RA2,打開A/D轉換器,等待中斷打開標志位ADGO
          //在工作狀態,且使AD 轉換時鐘為Fosc/8
          //ADGO位至1,啟動AD轉換
          ADIF=0; 
          ADIE=1;          
}
void Portinit()
{	     
	      TRISA=0x1f;          //相應的位作為AD采集位   
	      TRISB=0x00;
	      TRISC=0X10;
          TRISD=0x00;         
          TRISE=0X00;         

 }  	  
/*******************************************************************************
**函數名稱:void LCD1602_Write_Command()
**功能描述:LCD寫命令
******************************************************************************/
void LCD1602_Write_Command(unsigned char x)
{  RE0=0;
   RE1=0;
   RE2=1;           //RS=0;RW=0;E=1;
   PORTD=x;
   RE2=0;
}
/*******************************************************************************
**函數名稱:char Locate_Position()
**函數描述:確定寫入數據的位置
*******************************************************************************/
char Locate_Position(unsigned char x,unsigned char y)
{    unsigned char Position;                 //數據的位置
     Position_X=x;
     Position_Y=y;
     Position=Position_X&0x0f;         //第幾個字符
     Position_Y=Position_Y&0x01;       //第幾行
     switch(Position_Y)
     { case 0:break;
       case 1:Position=Position|0x40;     //計算出在第幾個存儲器
       default:;
     }
     Position=Position|0x80;
     return(Position);
}
/*******************************************************************************
**函數名稱:void LCD1602_Write_Word(char x,char Position)
**功能描述:LCD寫數據
********************************************************************************/
void LCD1602_Write_Word(unsigned char x)
{ RE0=1;
  RE1=0;
  RE2=1;
  PORTD=x;           //寫入數據
  RE2=0;
}
/******************************************************************************
**函數名稱:void Delay ()
**功能描述:延時一段時間
*******************************************************************************/
void Delay(int j)
{    int i;
	 for(i=j;i>0;i--);
}
/******************************************************************************
**函數名稱:void LCD_Write_String()
**函數描述:寫入一串字符
******************************************************************************/
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *str)
{ unsigned char i,j=0;
  unsigned char Position;
  while(str[j]>31) {j++;}
  for(i=0;i<j;i++)
  {   Position=Locate_Position(x,y);      //確定顯示的位置
      LCD1602_Write_Command(Position);   //寫入顯示的位置
      Delay(50);
      LCD1602_Write_Word(str[i]);         //寫入字符
      Delay(50);
      x++;
      if(x==16)
      {x=0;y^=1;}                      //如果寫到第16個則換行
  }
}
/*******************************************************************************
**函數名稱:void LCD1602_cls()
**功能描述:顯示屏清屏
********************************************************************************/
void LCD1602_cls()
{     
	LCD1602_Write_Command(0x01);           //顯示清屏
}

/*******************************************************************************
**函數名稱 :void LCD1602_Initial()
**功能描述:顯示器初始化
********************************************************************************/
void LCD1602_Initial()
{    TRISD=TRISD&0x00;
     TRISE=TRISE&0xf8;
     LCD1602_Write_Command(0x38);
     Delay(25000);      
     LCD1602_Write_Command(0x38);
     Delay(25000);
     LCD1602_Write_Command(0x38);
     Delay(25000);
     LCD1602_Write_Command(0x38);
     Delay(1000);     //設置顯示的方式
     LCD1602_Write_Command(0x08);;       //顯示關閉
     Delay(1000);
     LCD1602_Write_Command(0x01);   //清除顯示
     Delay(1000);
     LCD1602_Write_Command(0x06);      //顯示光標移動設置
     Delay(1000);
     LCD1602_Write_Command(0x0c);      //顯示開及光標設置
     Delay(1000);
}

/********************************************************
-----------------主函數----------------------------------
********************************************************/
void main()
{
  initvar();     //數據初試值初試化
  Portinit();
  T1inti();      //采樣周期
  INTCON=0XC0;
  ADinit();      //AD相關寄存器初試化
  TMR1IE=1;      //打開采樣時鐘中斷標志位
  ADON=1;
  LCD1602_Initial();
  LCD_Write_String(0,1,String);
  while(1)
  {
    
	if(DIS_FLAG==1)
	   {    
		     //LCD1602_cls();
	         sprintf(String,"%umv %u      ",Adresult_A0,ADsmp_A0);
             LCD_Write_String(0,0,String);
             sprintf(String,"%umv %u      ",Adresult_A1,ADsmp_A1);
             LCD_Write_String(0,1,String);
             DIS_FLAG=0;
        }
    }
}
 //----------------------------------------------------------
 //----------------------end file----------------------------
 //----------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久电影| 国产视频一区二区在线| 99久久精品免费看国产免费软件| 精品亚洲aⅴ乱码一区二区三区| 午夜精品一区二区三区免费视频| 亚洲国产精品久久久久秋霞影院| 亚洲国产欧美在线| 午夜一区二区三区在线观看| 日韩精彩视频在线观看| 麻豆精品久久精品色综合| 另类欧美日韩国产在线| 久草热8精品视频在线观看| 激情综合网激情| 国产成人在线看| 不卡区在线中文字幕| 欧美午夜精品免费| 欧美久久免费观看| 精品国产乱码91久久久久久网站| 国产亚洲制服色| 亚洲日本乱码在线观看| 丝瓜av网站精品一区二区 | 亚洲制服丝袜在线| 午夜日韩在线观看| 国产精品综合二区| 91美女福利视频| 日韩女优毛片在线| 国产精品超碰97尤物18| 亚洲高清在线精品| 国产一区不卡在线| 欧美中文一区二区三区| 精品久久久久久综合日本欧美| 中文字幕欧美国产| 午夜视频一区在线观看| 成人一区二区三区| 91精品国产91久久久久久一区二区 | 欧美视频一区二区三区在线观看| 日韩三级.com| 1024亚洲合集| 久久超碰97人人做人人爱| 99久久99久久精品免费看蜜桃| 欧美日韩精品免费观看视频| 久久久精品人体av艺术| 亚洲午夜精品在线| 成人午夜伦理影院| 精品国产乱码久久| 午夜国产不卡在线观看视频| 99国产精品一区| 久久久精品天堂| 美女性感视频久久| 欧美午夜宅男影院| 中国av一区二区三区| 精品在线免费视频| 日韩三级免费观看| 日韩av网站在线观看| 91麻豆免费看片| 国产精品女同互慰在线看| 免费看欧美美女黄的网站| 欧美综合在线视频| 自拍偷拍亚洲欧美日韩| 国产成人激情av| 欧美xxxxxxxxx| 蜜臀91精品一区二区三区| 欧美三级三级三级爽爽爽| 亚洲欧美激情插| 色综合久久天天| 国产精品久久久久影院| 国产精品白丝av| 国产视频911| 成人免费看黄yyy456| 精品国产三级电影在线观看| 免费观看在线色综合| 91精品国产美女浴室洗澡无遮挡| 亚洲观看高清完整版在线观看| 在线免费不卡视频| 亚洲自拍偷拍麻豆| 欧美日韩精品专区| 日韩一区精品视频| 日韩一区二区三区视频在线 | 在线播放亚洲一区| 亚洲超碰97人人做人人爱| 在线免费观看视频一区| 天天综合色天天综合色h| 宅男在线国产精品| 美女免费视频一区二区| 精品国产91乱码一区二区三区| 韩国三级中文字幕hd久久精品| 久久精品视频一区二区三区| 国产99久久久国产精品潘金| 日本一区二区久久| 一本大道av伊人久久综合| 亚洲激情av在线| 欧美一区二区三区视频免费| 国产一区亚洲一区| |精品福利一区二区三区| 欧美日韩午夜在线视频| 久久66热偷产精品| 国产精品国产自产拍高清av王其| 色八戒一区二区三区| 热久久国产精品| 国产目拍亚洲精品99久久精品| 91热门视频在线观看| 日本免费在线视频不卡一不卡二| 久久影院午夜论| 色综合婷婷久久| 奇米在线7777在线精品| 国产精品成人一区二区艾草| 777奇米四色成人影色区| 国产一区二区三区国产| 一区二区免费看| 久久先锋影音av鲁色资源| 色丁香久综合在线久综合在线观看| 日韩高清在线电影| 亚洲欧洲日韩一区二区三区| 91精品国产综合久久久久久久久久| 国产成人综合精品三级| 午夜精品久久久久久久99水蜜桃| 国产亚洲精品资源在线26u| 在线亚洲精品福利网址导航| 国产老女人精品毛片久久| 亚洲二区在线视频| 国产精品久久久久久久岛一牛影视 | 91免费在线播放| 麻豆视频观看网址久久| 中文字幕色av一区二区三区| xvideos.蜜桃一区二区| 欧美久久久久中文字幕| av色综合久久天堂av综合| 精品一区二区久久久| 亚洲不卡一区二区三区| 亚洲人成网站影音先锋播放| 久久久午夜精品理论片中文字幕| 欧美日韩成人在线| 日本乱人伦一区| av不卡在线播放| 国产成人精品综合在线观看 | 久88久久88久久久| 视频一区视频二区在线观看| 亚洲婷婷综合色高清在线| 久久蜜臀中文字幕| 久久夜色精品一区| 日韩欧美国产一区二区在线播放 | 成人激情校园春色| 精品一区二区三区的国产在线播放| 视频在线观看一区| 亚洲国产你懂的| 午夜在线成人av| 亚洲成人1区2区| 亚洲国产精品一区二区www在线| 亚洲免费视频成人| 亚洲柠檬福利资源导航| 亚洲美女视频一区| 一区二区三区电影在线播| 亚洲精品国产成人久久av盗摄| 亚洲人成网站精品片在线观看 | 蜜臀av性久久久久av蜜臀妖精| 偷拍自拍另类欧美| 日本不卡一二三| 日韩精品一二三区| 韩国毛片一区二区三区| 国产精品亚洲第一| 不卡的av中国片| 在线一区二区三区| 欧美日韩国产高清一区二区| 制服丝袜一区二区三区| 日韩免费高清电影| 国产欧美一区二区精品性| 中文字幕中文乱码欧美一区二区| 中文字幕成人在线观看| 亚洲精品中文字幕在线观看| 天堂蜜桃91精品| 美女视频网站黄色亚洲| 成人综合日日夜夜| 欧美做爰猛烈大尺度电影无法无天| 在线观看免费亚洲| 日韩一二三区视频| 欧美国产视频在线| 亚洲一区二区视频在线观看| 老汉av免费一区二区三区 | 综合久久一区二区三区| 亚洲一区二区av在线| 久久精品国产一区二区三| 成人aa视频在线观看| 欧美日韩国产123区| 国产午夜精品福利| 亚洲福利视频一区| 丁香网亚洲国际| 91麻豆精品久久久久蜜臀 | 久久人人超碰精品| 亚洲一区二区三区国产| 精品一区二区日韩| 欧美视频完全免费看| 国产日韩三级在线| 日韩专区欧美专区| 99久久er热在这里只有精品15 | 久久97超碰国产精品超碰| www.欧美色图| 久久这里只有精品视频网| 一级中文字幕一区二区| 国产成人综合网站| 日韩午夜av电影|