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

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

?? rm-idd-2214.c

?? LPC2214 相關ADC代碼,RS232,DAC,可以做為工業控制的參考
?? C
字號:
/****************************************************************************
* 文件名:DATARET.C
* 功能:使用串口UART0接收上位機發送的數據,當接收到8個連續數據后,將接收計數值加一后輸
*      出LED1--LED8顯示,并將數據原封不動地發送回上位機。
* 說明:將跳線器JP8短接。
*      通訊波特率115200,8位數據位,1位停止位,無奇偶校驗。
****************************************************************************/
#include  "config.h" 
#include  "I2CInt.h"

#define   UART_BPS	4800			/* 定義通訊波特率 */
#define   CAT24WC02 0xA0            /* 定義器件地址 */

/* 定義串口模式設置數據結構 */
typedef  struct  UartMode
{  uint8 datab;         // 字長度,5/6/7/8
   uint8 stopb;         // 停止位,1/2
   uint8 parity;    	// 奇偶校驗位,0為無校驗,1奇數校驗,2為偶數校驗
}  UARTMODE;



uint8  rcv_buf[39];       		// UART0數據接收緩沖區
uint8  countdata;
volatile uint8  rcv_new;     	// 接收新數據標志


// EEPROM 0X00--0X0F
uint8  Singel_A_CheckTime;
uint8  Singel_A_Frequency;
uint8  Singel_A_NoFireDelay;
uint8  Single_A_Q;

uint8  Double_A_CheckTime;
uint8  Double_A_Frequency;
uint8  Double_A_NoFireDelay;
uint8  Double_A_Q;


// EEPROM 0X10--0X1D
uint8  Double_B_CheckTime;
uint8  Double_B_Frequency;
uint8  Double_B_NoFireDelay;
uint8  Double_B_Q;

uint8  Flag_Single_Double;
uint8  Flag_A_B;
uint8  Flag_Enable_Bypass;


// EEPROM 0X20--0X27
uint16 A_pps;
uint16 B_pps;



extern SendByte(uint8);
extern UART1_SendByte(uint8);


extern ADC(void);
extern DAC(void);
extern DataRet(void);
extern Relay(void);



#define   PA0     0X00010000       // P2.16
#define   PA1     0x00020000       // P2.17
#define   PA2     0x00040000       // P2.18
#define   PA3     0x00080000       // P2.19

#define   PA4     0x00100000       // P2.20

#define   PA5     0x00200000       // P2.21
#define   PA6     0x00400000       // P2.22
#define   PA7     0x00800000	   // P2.23



#define   PB0     0X01000000       // P2.24
#define   PB1     0X02000000       // P2.25



#define   PB4     0X10000000       // P2.28
#define   PB5     0X28000000       // P2.29
#define   PB6     0X40000000       // P2.30
#define   PB7     0X80000000       // P2.31

#define   P2_DIR  0XFBFF0000



#define   PB2     0X20000000       // P0.29
#define   PB3     0X40000000       // P0.30
#define   P0_DIR  0X60000000


  
  

 /****************************************************************************
* 名稱:DelayNS()
* 功能:長軟件延時
* 入口參數:dly		延時參數,值越大,延時越久
* 出口參數:無
****************************************************************************/
void  DelayNS(uint32  dly)
{  uint32  i;

   for(; dly>0; dly--) 
      for(i=0; i<50; i++);
}
   




/****************************************************************************
* 名稱:UART0_Ini()
* 功能:初始化串口0。設置其工作模式及波特率。
* 入口參數:baud                波特率
*          set          模式設置(UARTMODE數據結構)
* 出口參數:返回值為1時表示初化成功,為0表除參數出錯
****************************************************************************/
uint8  UART0_Ini(uint32 baud, UARTMODE set)
{  uint32  bak;
   
   // 參數過濾 
   if( (0==baud)||(baud>115200) ) return(0);
   if( (set.datab<5)||(set.datab>8) ) return(0);
   if( (0==set.stopb)||(set.stopb>2) ) return(0);
   if( set.parity>4 ) return(0);

   // 設置串口波特率 
   U0LCR = 0x80;                        // DLAB位置1
   bak = (Fpclk>>4)/baud;
   U0DLM = bak>>8;
   U0DLL = bak&0xff;
   
   // 設置串口模式 
   bak = set.datab-5;                   // 設置字長度
   if(2==set.stopb) bak |= 0x04;        // 判斷是否為2位停止位  
   
   if(0!=set.parity) {set.parity = set.parity-1; bak |= 0x08;}
   bak |= set.parity<<4;              	// 設置奇偶校驗
      
   U0LCR = bak;
   
   return(1);
}




             
/****************************************************************************
* 名稱:UART1_Ini()
* 功能:初始化串口1。設置其工作模式及波特率。
* 入口參數:baud                波特率
*          set          模式設置(UARTMODE數據結構)
* 出口參數:無
****************************************************************************/  
void  UART1_Ini(void)
{  uint16 Fdiv;

   U1LCR = 0x83;		            // DLAB = 1,可設置波特率
   Fdiv = (Fpclk / 16) / UART_BPS;  // 設置波特率
   U1DLM = Fdiv / 256;							
   U1DLL = Fdiv % 256;						
   U1LCR = 0x03;
}
       
       
       
       
/****************************************************************************
* 名稱:Time0Init()
* 功能:定時器0初始化函數
* 出口參數:無
****************************************************************************/    
void  Time0Init(void)
{   /* Fcclk = Fosc*4 = 11.0592MHz*4 = 44.2368MHz
	   Fpclk = Fcclk/4 = 44.2368MHz/4 = 11.0592MHz
	*/
	T0PR = 99;			    					// 設置定時器0分頻為100分頻,得110592Hz
	T0MCR = 0x03;		   						// 匹配通道0匹配中斷并復位T0TC
	//T0MR0 = 110592;	    						// 比較值(1S定時值)
	T0MR0=20000;
	T0TCR = 0x03;		   						// 啟動并復位T0TC
	T0TCR = 0x01; 
	
	
}
       
       
       
       
       
/****************************************************************************
* 名稱:IRQ_UART0()
* 功能:串口UART0接收中斷。
* 入口參數:無
* 出口參數:無
****************************************************************************/
void   __irq IRQ_UART0(void)
{ 
	//uint8 buffer;
	
   if( 0x04==(U0IIR&0x0F) ) rcv_new = 1;// 設置接收到新的數據標志
      
   T0TCR = 0x03;		   						// 啟動并復位T0TC
   T0TCR = 0x01; 
   rcv_buf[countdata] = U0RBR;
   countdata++;
    
   //UART1_SendByte(0x33); 
   //UART1_SendByte(rcv_buf[countdata-1]);
   //UART1_SendByte(buffer);
   
   VICVectAddr = 0x00;              	// 中斷處理結束
}  
       
       
/****************************************************************************
* 名稱:IRQ_Time0()
* 功能:定時器0中斷響應函數
* 出口參數:無
****************************************************************************/       
void __irq  IRQ_Time0(void)
{  
   //UART1_SendByte(0x11);
   countdata=0;
   T0IR = 0x01;	    			            	// 清除中斷標志
   VICVectAddr = 0x00;				            // 通知VIC中斷處理結束
}

        
        
/****************************************************************************
* 名稱:I2C_Init()
* 功能:主模式I2C初始化,包括初始化其中斷為向量IRQ中斷。
* 入口參數:fi2c		初始化I2C總線速率,最大值為400K
* 出口參數:無
****************************************************************************/
void  I2C_Init(uint32 fi2c)
{  if(fi2c>400000) fi2c = 400000;

   //PINSEL0 = (PINSEL0&0xFFFFFF0F) | 0x50; // 設置I2C控制口有效

   I2SCLH = (Fpclk/fi2c + 1) / 2;	// 設置I2C時鐘為fi2c
   I2SCLL = (Fpclk/fi2c) / 2;
   I2CONCLR = 0x2C;
   I2CONSET = 0x40;					// 使能主I2C
   
   /* 設置I2C中斷允許 */
   VICIntSelect = 0x00000000;		// 設置所有通道為IRQ中斷
   VICVectCntl3 = 0x29;				// I2C通道分配到IRQ slot 0,即優先級最高
   VICVectAddr3 = (int)IRQ_I2C;	    // 設置I2C中斷向量地址	
   VICIntEnable = 0x0270;           // 使能I2C中斷 
}
             
 
void CheckI2CData()
{

    
	uint8  data_buf[38];
	uint8  i;
	
	//  測試程序
	for(i=0;i<38;i++) data_buf[i]=0x11+i;
 	ISendStr(CAT24WC02, 0x00, data_buf, 16);	// 在0x00地址處寫入16字節數據
 	DelayNS(1);
 	ISendStr(CAT24WC02, 0x10, data_buf+16, 14);	// 在0x00地址處寫入14字節數據
 	DelayNS(1);
 	ISendStr(CAT24WC02, 0x20, data_buf+30, 8);	// 在0x00地址處寫入8字節數據
    
    DelayNS(1); 
    for(i=0; i<38; i++) data_buf[i] = 0;
    IRcvStr(CAT24WC02, 0x00, data_buf, 16);	// 在0x00地址處讀出10字節數據
    DelayNS(1);
    IRcvStr(CAT24WC02, 0x10, data_buf+16, 14);	// 在0x00地址處讀出10字節數據
    DelayNS(1);
    IRcvStr(CAT24WC02, 0x20, data_buf+30, 8);	// 在0x00地址處讀出10字節數據
    DelayNS(1);
    for(i=0;i<38;i++) SendByte(data_buf[i]);
   
    UART1_SendByte(0xaa);
    


}


                        

/****************************************************************************
* 名稱:main()
* 功能:初始化串口,并等待接收到串口數據。
* 說明:在STARTUP.S文件中使能IRQ中斷(清零CPSR中的I位)。
****************************************************************************/
int  main(void)
{  
   UARTMODE  uart0_set;
   //uint8 i; 
   uint8 test;
   //uint8  data_buf[10];
     
        
   PINSEL0 = 0x00050055;                // 設置I/O連接到UART0、UART1
   PINSEL1 = 0x00000000; 
   PINSEL2 = 0x00000914;                
                      
   rcv_new = 0;
   
   uart0_set.datab = 8;                 // 8位數據位
   uart0_set.stopb = 1;                 // 1位停止位
   uart0_set.parity = 0;                // 無奇偶校驗
   UART0_Ini(UART_BPS, uart0_set);        // 初始化串口模式
   //UART0_Ini();
   UART1_Ini();
   
   U0FCR = 0x01;                        // 使能FIFO,并設置觸發點為8字節
   U0IER = 0x01;                        // 允許RBR中斷,即接收中斷
   
   
   /* 設置I2C中斷允許 */
   
   
   
  
   /* 設置中斷允許 */
   VICIntSelect = 0x00000000;           // 設置所有通道為IRQ中斷
   VICVectCntl2 = 0x26;                 // UART0中斷通道分配到IRQ slot 0,即優先級最高
   VICVectAddr2 = (int)IRQ_UART0;       // 設置UART0向量地址
   VICIntEnable = 0x00000270;           // 使能UART0中斷
   
   
   /* 設置定時器1中斷IRQ */
   
   /* 設置定時器0中斷IRQ */
	VICIntSelect = 0x00;						// 所有中斷通道設置為IRQ中斷
	VICVectCntl0 = 0x24;						// 定時器0中斷通道分配最高優先級(向量控制器0)
	VICVectAddr0 = (uint32)IRQ_Time0; 			// 設置中斷服務程序地址向量 
	VICIntEnable = 0x00000270;					// 使能定時器0中斷
   
   
   
   
    IO0DIR = P0_DIR;
   IO2DIR = P2_DIR; 
   // PA、PB初始化
     
     IO2SET=PB0;  //
     IO2CLR=PB1;
     IO0SET=PB2;
     IO0CLR=PB3;  //
     
     
     //   IO2CLR=PB4;
  //   IO2SET=PB5;
     
   //  IO2SET=PB7;
     
     
     
    // IO2CLR=PA0;
     
      IO2SET=PA0;
      
     IO2CLR=PA1;
     IO2CLR=PA2;
     
    // IO2SET=PA4;
    // IO2CLR=PA5;
          
    // IO2SET=PA7;
    

   
   countdata=0;
   test=0;
   Time0Init();
   I2C_Init(100000);                      	// I2C初始化
   
   while(1)
   {
   	/*  //UART1_SendByte(0xaa);
      //CheckI2CData();
      IO2SET=PB1;
      DelayNS(10);
      IO2CLR=PB1;
      DelayNS(10);*/
   }  
  
  /*
   while(1)
   {
   // i2c
   for(i=0; i<10; i++) data_buf[i] = i+'0';
   ISendStr(CAT24WC02, 0x00, data_buf, 10);	// 在0x00地址處寫入10字節數據
   DelayNS(10);
   
   for(i=0; i<10; i++) data_buf[i] = 0;
   IRcvStr(CAT24WC02, 0x00, data_buf, 10);	// 在0x00地址處讀出10字節數據
   
   for(i=0;i<10;i++) UART1_SendByte(data_buf[i]);
   DelayNS(100);
   }
   */
  
  
   /*
   while(1)
   {
   
   		
   	    // A/D轉換程序
    	ADC();
   	 
   	 
   	 	// 繼電器和發光管處理程序
    	Relay();
    	
    	
    	// A/D轉換程序
    	DAC();
    	
    	
    	
    	 // 串口處理程序
    	if( (1==rcv_new) && (0==countdata) )
    	{   
    	    DataRet();
    	    rcv_new=0; 	       		
	
    	}  	
    	
   	   
   	   
    
   		
   		
   
   } 
  
  
  
	
   
   */
   return(0);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机午夜精品99久久| 国产自产2019最新不卡| 亚洲美女少妇撒尿| 色综合久久综合网| 一区二区三区自拍| 欧美羞羞免费网站| 久久影院视频免费| 亚洲欧美日韩一区二区| 中文字幕 久热精品 视频在线 | 日韩一区二区三区视频在线| 日韩一级片网址| 一区二区在线观看不卡| 国产成人综合网| 欧美xfplay| 五月婷婷另类国产| 在线视频国产一区| 亚洲女女做受ⅹxx高潮| 成人毛片视频在线观看| 精品国产乱码久久久久久浪潮| 亚洲成人一二三| 91成人在线精品| 亚洲人妖av一区二区| 成人亚洲一区二区一| 久久久高清一区二区三区| 久久99国产精品久久99 | xvideos.蜜桃一区二区| 日韩高清一区在线| 欧美剧情片在线观看| 亚洲午夜久久久久久久久电影网 | 欧美一区二区三区在线看| 亚洲综合久久久| 欧美无砖砖区免费| 亚洲综合色婷婷| 欧美影片第一页| 日韩经典中文字幕一区| 欧美日韩国产天堂| 免费久久99精品国产| 日韩午夜激情电影| 国产在线一区二区| 欧美激情在线一区二区三区| 国产成人精品亚洲日本在线桃色 | 精品日韩av一区二区| 国精产品一区一区三区mba桃花| 久久精品一区二区三区不卡牛牛 | 国产成人在线看| 国产精品嫩草久久久久| 91麻豆自制传媒国产之光| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲一区在线观看视频| 欧美精品在线观看播放| 韩国理伦片一区二区三区在线播放| wwwwxxxxx欧美| 成人av在线网| 亚洲成人动漫在线观看| 欧美一级生活片| 国产成人精品午夜视频免费| 国产精品九色蝌蚪自拍| 欧美亚洲高清一区二区三区不卡| 日韩av中文字幕一区二区三区| 精品剧情在线观看| 99麻豆久久久国产精品免费优播| 亚洲一区二区三区中文字幕| 91精品国产欧美日韩| 粉嫩av一区二区三区| 亚洲在线免费播放| 国产日本欧美一区二区| 在线观看不卡一区| 国产在线精品免费av| 1000部国产精品成人观看| 91精品国产综合久久福利| 国产福利精品导航| 亚洲成人av一区二区| 国产精品天美传媒| 欧美精品v国产精品v日韩精品 | 中文字幕亚洲综合久久菠萝蜜| 欧美视频一区二| 国产精品一区二区三区网站| 一区二区三区精密机械公司| 日韩欧美一卡二卡| 在线观看一区二区精品视频| 国产毛片精品视频| 午夜影院久久久| 亚洲男人都懂的| 国产欧美一区二区精品忘忧草| 欧美日韩免费高清一区色橹橹| 成人动漫av在线| 国产一区二区三区观看| 亚洲成人av一区二区| 亚洲日本欧美天堂| 国产精品久久久久久久浪潮网站 | 91精品国产入口| 色播五月激情综合网| 高清视频一区二区| 国产精品1区二区.| 久久精品国产秦先生| 亚洲一区电影777| 亚洲综合一区二区| 中文字幕色av一区二区三区| 久久麻豆一区二区| 日韩精品综合一本久道在线视频| 欧美日韩高清一区二区三区| 国产日产精品一区| 亚洲精品在线免费观看视频| 69成人精品免费视频| 欧美午夜精品理论片a级按摩| 色综合天天综合色综合av| 成人av网站免费观看| 国产精品99精品久久免费| 狠狠色丁香久久婷婷综合_中| 男男视频亚洲欧美| 蜜臀91精品一区二区三区| 日本不卡123| 久久99精品国产.久久久久久| 日本人妖一区二区| 日韩av电影免费观看高清完整版 | 欧美精品在线观看播放| 欧美疯狂做受xxxx富婆| 欧美精品一二三四| 777久久久精品| 日韩写真欧美这视频| 欧美一区二区三区影视| 日韩美女一区二区三区四区| 日韩免费性生活视频播放| 久久综合久久综合久久| 久久精品夜色噜噜亚洲aⅴ| 国产欧美日韩视频在线观看| 国产人伦精品一区二区| 一区二区三区四区国产精品| 亚洲无人区一区| 捆绑调教一区二区三区| 国产精品资源网站| 成人免费不卡视频| 在线观看av一区| 欧美一区二区视频网站| 久久综合资源网| 亚洲三级理论片| 日韩黄色小视频| 国产精品18久久久久久久久久久久| 成人a免费在线看| 欧美日韩精品一二三区| 日韩无一区二区| 中文字幕成人网| 日韩精品欧美成人高清一区二区| 麻豆视频观看网址久久| 成人免费看视频| 欧美精品18+| 国产精品三级在线观看| 亚洲123区在线观看| 国产成人小视频| 欧洲一区在线观看| 亚洲精品一区二区三区在线观看| 中文字幕亚洲成人| 蜜桃视频第一区免费观看| 国产91在线看| 91精品国产91热久久久做人人| 中文字幕不卡在线播放| 蜜臂av日日欢夜夜爽一区| jiyouzz国产精品久久| 91精品国产手机| 中文字幕在线不卡一区| 免费一区二区视频| 91久久精品一区二区三区| 久久久午夜精品理论片中文字幕| 亚洲精品v日韩精品| 高清beeg欧美| 欧美videossexotv100| 一区二区三区在线观看欧美 | 日本亚洲三级在线| 99久久精品99国产精品| 26uuu国产在线精品一区二区| 亚洲成人av电影在线| 99久久99久久久精品齐齐| 久久嫩草精品久久久精品| 午夜精品久久久久久久久久久 | 成人国产一区二区三区精品| 欧美一级高清片在线观看| 亚洲免费观看高清在线观看| 国产一区不卡精品| 欧美一区二区在线免费观看| 亚洲男人的天堂av| av在线这里只有精品| 久久九九99视频| 国精产品一区一区三区mba视频 | 99天天综合性| 国产婷婷色一区二区三区四区| 日韩av电影天堂| 欧美日韩精品一区二区天天拍小说| 国产精品第五页| 成人黄色av电影| 国产精品初高中害羞小美女文| 国产老女人精品毛片久久| 精品国产乱码91久久久久久网站| 免费看欧美女人艹b| 欧美一级二级三级乱码| 亚洲一区二区不卡免费| 欧美艳星brazzers| 亚洲成年人影院| 日韩午夜激情电影| 国内久久婷婷综合| 2021中文字幕一区亚洲|