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

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

?? main.c

?? 多通道AD轉(zhuǎn)換程序,基于ARM編的,可實(shí)現(xiàn)8路AD轉(zhuǎn)換
?? C
字號(hào):
/****************************************Copyright (c)**************************************************

** Modified date:		2007-02
** Version:
** Descriptions:		鍵盤輸入與LED掃描人機(jī)對(duì)話程序。
**
********************************************************************************************************/
#include  "config.h" 
#define   KEY      		 (1 << 2)      // P0.2口(MISO)為按鍵輸入腳
uint8  T0Flag = 0;
uint16 CS[6]={1234,5678,2324,4578,7811,1100};		//可以輸入的參數(shù)數(shù)組
uint8  DATA[8];			
uint8  digitable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};	//顯示段碼表
uint8  selectable[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};				//顯示位碼表
uint8  x=0,y=0,k=0;  //變量,k對(duì)DATA0&DATA1&selectable;x&y對(duì)digitable;
uint8  w=0; 			 //顯示刷新時(shí)間計(jì)數(shù)器
uint8 SF=0;    			 //閃爍標(biāo)志位
uint8 TK=0x09;			 //按鍵按下記錄位寄存器,有效數(shù)據(jù)位為0~7
uint8 M=0,R=0;			 //按鍵選項(xiàng)計(jì)數(shù)器
uint32 ADC_R[8],ADC_R2;
uint8 i=1;
/*
*********************************************************************************************************
** 函數(shù)名稱 :ADC_Init()
** 函數(shù)功能 :ADC模塊初始化
** 入口參數(shù) :無
** 出口參數(shù) :無
*********************************************************************************************************
*/
void ADC_Init(void)
{    PINSEL1 =(1 << 24)|					//P0.28連接到AD0.1
    		  (1 << 28);					//P0.30連接到AD0.3
	AD0CR = 0x0a                    |   // SEL=0x0a,選擇通道1、3
	((Fpclk / 1000000 - 1) << 8)	|	// CLKDIV=Fpclk/1000000-1,轉(zhuǎn)換時(shí)鐘為1MHz
	(1 << 16)						|	// BURST=0,軟件控制轉(zhuǎn)換操作
	(0 << 17)						|	// CLKS=0, 使用11clock轉(zhuǎn)換
	(1 << 21)						|  	// PDN=1,正常工作模式
	(0 << 22)						|  	// TEST1:0=00,正常工作模式
	(0 << 24)						|	// START=1,直接啟動(dòng)ADC轉(zhuǎn)換
	(0 << 27);						 	// 直接啟動(dòng)ADC轉(zhuǎn)換時(shí),此位無效
	
}			
//-----------------delayns----------------------
void delays(void)
{ uint16 n,j;
   for(n=100;n>0;n--)
     for(j=50;j>0;j--);
}
/*-----------------------------------------------*/
			
/*******************************************************************************************
** 函數(shù)名稱:IRQ_AD()
** 功能描述:AD中斷服務(wù)程序
** 入口參數(shù):無
** 出口參數(shù):無
*******************************************************************************************/
void __irq IRQ_AD(void)
{   
    //if(i>2)
    // i=1;
    uint32 data,chnl;
    data=AD0DR;
    chnl=(data>>24) & 0x07;					//選擇通道數(shù)
    ADC_R[chnl]=(data>>6) & 0x3ff;
    
    //ADC_R2=AD0DR;
    //ADC_R2=(ADC_R2 >> 6) & 0x3ff;
    ADC_R[chnl] = ADC_R[chnl] * 2480/ 1024;		// 將AD結(jié)果轉(zhuǎn)換為電壓mv值(參考電壓經(jīng)過3/4分壓)
   // ADC_R2 = ADC_R2 * 2480/ 1024;
   
   // ADC_R2=ADC_R[2];
	VICVectAddr = 0;
	//AD0CR=AD0CR|(1<<24);
}
/*******************************************************************************************
** 函數(shù)名稱:Timer0_InitExt()
** 功能描述:TIMER0 初始化
** 入口參數(shù):無
** 出口參數(shù):無
*******************************************************************************************/
void Timer0_InitExt(void)
{
	T0TC   = 0;			/* 定時(shí)器設(shè)置為0							*/
	T0PR   = 0;			/* 時(shí)鐘不分頻								*/
	T0MCR  = 0x03;		/* 設(shè)置T0MR0匹配后復(fù)位T0TC,并產(chǎn)生中斷標(biāo)志	*/
	T0MR0  = Fpclk/400;	/* 2.5毫秒定時(shí)								*/
	T0TCR  = 0x01;		/* 啟動(dòng)定時(shí)器								*/
}




/*******************************************************************************************
** 函數(shù)名稱:IRQ_Timer0()
** 功能描述:TIMER0 中斷服務(wù)程序
** 入口參數(shù):無
** 出口參數(shù):無
*******************************************************************************************/
void __irq IRQ_Timer0(void)
{
	T0Flag = 1;								// T0中斷標(biāo)志置位
	T0IR = 0x01;							// 清除中斷標(biāo)志
	VICVectAddr = 0;
}

/*******************************************************************************************
** 函數(shù)名稱:IRQ_Init()
** 功能描述:設(shè)置定時(shí)器0中斷IRQ
** 入口參數(shù):無
** 出口參數(shù):無
*******************************************************************************************/
void IRQ_Init(void)
{	
	VICIntSelect = 0x00;				// 所有中斷通道設(shè)置為IRQ中斷			
	VICVectCntl0 = 0x20 | 4;			// 設(shè)置定時(shí)器0中斷通道分配1優(yōu)先級(jí)	
	VICVectAddr0 = (uint32)IRQ_Timer0;	// 設(shè)置中斷服務(wù)程序地址					
	VICVectCntl1 = 0x20 | 18;			// 設(shè)置AD中斷通道分配最高優(yōu)先級(jí)	
	VICVectAddr1 = (uint32)IRQ_AD;	    // 設(shè)置AD中斷服務(wù)程序地址					
	VICIntEnable = (1 << 4)|(1<<18);	// 使能定時(shí)器0.AD中斷						
}


//二進(jìn)制數(shù)轉(zhuǎn)BCD碼子程序0
void CONVBIT(uint16 num,uint8 hor)
{	
DATA[hor]   = num/1000;					//計(jì)算千位
DATA[hor-1] = num%1000/100;			//計(jì)算百位
DATA[hor-2] = num%100/10;				//計(jì)算十位
DATA[hor-3] = num%10/1;				//計(jì)算個(gè)位
return;	
}

/********************************************************************************************************
** 函數(shù)名稱:MSPI_Init()
** 函數(shù)功能:初始化SPI接口,設(shè)置為主機(jī)。
** 入口參數(shù):無
** 出口參數(shù):無
*********************************************************************************************************/
void  MSPI_Init(void)
{  
	//PINSEL0 = (PINSEL0 & 0xFFFF00FF) | 0x00005500;	// 設(shè)置管腳連接SPI0
	PINSEL0 = (PINSEL0 & (~(0xFF << 8))) | (0x55 << 8) ;
	//PINSEL1 = (PINSEL0 & 0xFFFF0C03) | 0x00000154;	// 設(shè)置管腳連接SPI1
	PINSEL1 = 0x00000000;			// 設(shè)置管腳連接GPIO
    SPI_SPCCR = 0x52;		            // 設(shè)置SPI時(shí)鐘分頻
 	SPI_SPCR  = (0 << 3) |				// CPHA = 0, 數(shù)據(jù)在SCK 的第一個(gè)時(shí)鐘沿采樣
 			(1 << 4) |				// CPOL = 1, SCK 為低有效
 			(1 << 5) |				// MSTR = 1, SPI 處于主模式
 			(0 << 6) |				// LSBF = 0, SPI 數(shù)據(jù)傳輸MSB (位7)在先
 			(0 << 7);				// SPIE = 0, SPI 中斷被禁止
}

/********************************************************************************************************
** 函數(shù)名稱:MSPI_SendData()
** 函數(shù)功能:向SPI總線發(fā)送數(shù)據(jù)。
** 入口參數(shù):data   待發(fā)送的數(shù)據(jù)
** 出口參數(shù):返回值為讀取的數(shù)據(jù)
********************************************************************************************************/
uint8  MSPI_SendData(uint8 data)
{  
    SPI_SPDR = data;
    while( 0 == (SPI_SPSR & 0x80));		// 等待SPIF置位,即等待數(shù)據(jù)發(fā)送完畢
    return(SPI_SPDR);
}

 	
/********************************************************************************************************
** 函數(shù)名稱:main()
** 函數(shù)功能:使用硬件SPI,74HC595驅(qū)動(dòng)控制7段數(shù)碼管顯示。  
********************************************************************************************************/
uint8  rcv_data; 
int main (void)
{   	
    PINSEL0 = 0x00005500;			                // 設(shè)置SPI管腳連接(P0.5設(shè)為GPIO)
    MSPI_Init();									// 初始化SPI接口
    Timer0_InitExt();
	IRQEnable();									// IRQ中斷使能
	IRQ_Init();
	ADC_Init();
	
   while(1)	
    {   
   	if(T0Flag)									//中斷定時(shí)到
    	{
    		while(w==40)							//顯示數(shù)據(jù)刷新時(shí)間到,執(zhí)行數(shù)據(jù)變換。
			{
				if(M==0)							//如果M=0表示運(yùn)行態(tài),顯示運(yùn)行參數(shù)。
				{
					CONVBIT(ADC_R[1],3);				
					CONVBIT(ADC_R[3],7);
				}
				w=0;								//清除顯示刷新計(jì)數(shù)器
				if(SF)								//閃爍標(biāo)志取反
				SF=0;
				else
				SF=1;				
			}
			if(M==0)								//顯示掃描送運(yùn)行參數(shù)
			{
				x=DATA[k];
			}
			else									//否則送修改參數(shù)
			{
				if(k==R)							//如果當(dāng)前顯示位與鍵盤修改位相等,則根據(jù)閃爍標(biāo)志送黑碼。
				{
					if(SF==0)						
					x=10;
					else
					x=DATA[k];
				}
				else
				x=DATA[k];							//否則直接送顯示數(shù)
			}
			w++;									//顯示刷新計(jì)數(shù)器+1。
    		T0Flag=0;								//顯示標(biāo)志位清除。
    		rcv_data = MSPI_SendData(digitable[x]);		// 發(fā)送顯示數(shù)據(jù)
    		rcv_data = MSPI_SendData(selectable[k]);	// 發(fā)送顯示位碼
    		if((IO0PIN&KEY) != 0)					
			{
				if(TK==k)							//如果鍵盤輸入位=1且鍵盤記錄位與當(dāng)前輸入位相等,執(zhí)行鍵功能。
				{
					switch(TK)						//執(zhí)行TK鍵盤號(hào)功能0~3。
					{
						case 0:						//0#功能為模式鍵M+1。
						{
							if(M==4)
							M=1;
							else
							M++;
							switch(M)				//取出1~4#參數(shù)送顯示,以便人機(jī)對(duì)話修改參數(shù)。
							{
								case 1:
								{
									CONVBIT(CS[2],4);
									CONVBIT(M,0);
								}
								break;
								case 2:
								{
									CONVBIT(CS[3],4);
									CONVBIT(M,0);
								}
								break;
								case 3:
								{
								CONVBIT(CS[4],4);
								CONVBIT(M,0);
								}
								break;
								case 4:
								{
								CONVBIT(CS[5],4);
								CONVBIT(M,0);
								}
								break;
							}
						}
						break;
						case 1:						//1#功能為右移鍵標(biāo)志位R+1。
						{
							if(R==3)
							R=0;
							else
							R++;
						}
						break;
						case 2:						//2#功能為加鍵,當(dāng)前閃爍位+1。
						{
							if(DATA[R]==9)
							DATA[R]=0;
							else
							DATA[R]++;
						}
						break;
						case 3:						//3#功能為回車確認(rèn)鍵操作,將修改好的參數(shù)送回參數(shù)區(qū)。
						{
							while(!M==0)
							{
								CS[M+1]=DATA[0]*1000+DATA[1]*100+DATA[2]*10+DATA[3];
								R=0;				//R、M標(biāo)志歸零。
								M=0;
							}
						}
						break;
					};
					TK=0x09;						//鍵記錄位清除。
				}
			} 
				else if((IO0PIN&KEY) == 0)			//如果當(dāng)前鍵盤位=0,則再讀鍵盤、延時(shí)再讀=0則記錄鍵盤位TK=K。
				{ 
					delays();
					if((IO0PIN&KEY) == 0) 
    				TK=k;
				}   
		if(k==7)									//如果鍵盤掃描計(jì)數(shù)器K=7,則清除K,否則K+1。
		k=0;
		else
		k++;
        }
    }
    return 0;
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩日精品视频一区| 日韩成人av影视| 色哦色哦哦色天天综合| 亚洲免费观看在线观看| 色婷婷久久久久swag精品| 亚洲人123区| 欧美日韩电影在线播放| 蜜桃精品视频在线| 国产欧美日韩在线观看| av午夜一区麻豆| 亚洲第一精品在线| 91精品婷婷国产综合久久性色| 久久疯狂做爰流白浆xx| 国产午夜精品一区二区三区四区| 99久久精品久久久久久清纯| 亚洲成人精品一区| 久久精品这里都是精品| 93久久精品日日躁夜夜躁欧美| 亚洲国产精品一区二区久久| 精品日韩99亚洲| 91丨porny丨首页| 亚洲bt欧美bt精品777| 精品乱人伦小说| 91在线视频观看| 美女脱光内衣内裤视频久久影院| 国产色一区二区| 97精品国产露脸对白| 日本vs亚洲vs韩国一区三区| 国产精品区一区二区三区| 欧美日韩国产一区二区三区地区| 韩国v欧美v亚洲v日本v| 亚洲妇熟xx妇色黄| 亚洲国产精品成人综合 | 日本一区二区成人在线| 欧美区视频在线观看| 粉嫩一区二区三区在线看| 亚洲国产精品久久久男人的天堂| 国产日产欧美精品一区二区三区| 欧美视频在线播放| 成人午夜激情在线| 捆绑变态av一区二区三区| 亚洲美女电影在线| 久久综合精品国产一区二区三区 | 911国产精品| 99re这里只有精品6| 奇米精品一区二区三区在线观看一| 国产精品久久久久三级| 亚洲精品一线二线三线| 在线播放/欧美激情| 99riav久久精品riav| 国产精品一区二区久久精品爱涩| 黄色精品一二区| 欧美一区二区视频免费观看| 国产一二精品视频| 亚洲va欧美va国产va天堂影院| 日本一区二区三区dvd视频在线| 欧美肥妇bbw| 欧美综合一区二区三区| av在线一区二区| 从欧美一区二区三区| 激情综合色播五月| 奇米888四色在线精品| 亚洲成人综合视频| 一区二区三区不卡在线观看 | 欧美在线啊v一区| 高清beeg欧美| 国产高清在线精品| 国精品**一区二区三区在线蜜桃| 日韩不卡在线观看日韩不卡视频| 国产女人18毛片水真多成人如厕| 欧美大片免费久久精品三p| 欧美日韩小视频| 欧美三级日本三级少妇99| 91老师国产黑色丝袜在线| 日本道色综合久久| 91色视频在线| 91免费观看在线| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 久久99精品视频| 日韩av电影天堂| 蜜臀av一区二区在线观看| 久久99精品久久久久婷婷| 久久成人精品无人区| 国产精品主播直播| 成人黄色电影在线| 色综合天天综合网天天看片| 色嗨嗨av一区二区三区| 欧美日韩你懂得| 日韩欧美美女一区二区三区| 精品国产麻豆免费人成网站| 久久久久久99精品| 国产精品每日更新在线播放网址 | 一区二区三区四区高清精品免费观看| 亚洲自拍偷拍综合| 性做久久久久久| 久久精品国产免费看久久精品| 韩国精品久久久| 成人免费视频视频在线观看免费| 91婷婷韩国欧美一区二区| 欧美日韩国产天堂| 精品国产一二三区| 国产精品欧美一级免费| 亚洲午夜在线电影| 精品在线播放免费| 91日韩精品一区| 91超碰这里只有精品国产| 精品卡一卡二卡三卡四在线| 国产精品亲子乱子伦xxxx裸| 亚洲1区2区3区4区| 国产一区二区三区精品欧美日韩一区二区三区| 国产激情视频一区二区三区欧美| 91理论电影在线观看| 欧美大片在线观看一区| 亚洲欧美一区二区在线观看| 亚洲18影院在线观看| 粉嫩13p一区二区三区| 日本精品裸体写真集在线观看| 日韩精品专区在线影院观看| 综合久久给合久久狠狠狠97色 | 欧美视频一区二| 久久这里都是精品| 亚洲一线二线三线视频| 国精品**一区二区三区在线蜜桃| 在线精品视频免费播放| 久久婷婷一区二区三区| 亚洲一区二区三区小说| 国产老妇另类xxxxx| 欧美高清你懂得| 国产精品成人一区二区艾草 | 偷拍自拍另类欧美| 99综合影院在线| 精品国免费一区二区三区| 夜夜操天天操亚洲| 国产成人免费在线视频| 日韩一卡二卡三卡四卡| 亚洲曰韩产成在线| 99这里只有久久精品视频| 精品国产乱码久久久久久久| 波多野结衣中文字幕一区二区三区| 欧美一区二区三区四区久久| 一区二区欧美国产| 99在线精品视频| 国产精品网站在线播放| 久久er精品视频| 6080午夜不卡| 亚洲成av人综合在线观看| 91美女片黄在线观看| 欧美激情一区不卡| 国产.欧美.日韩| 久久奇米777| 加勒比av一区二区| 日韩久久久精品| 麻豆成人久久精品二区三区红| 欧美日韩免费电影| 一区二区三区**美女毛片| 色悠久久久久综合欧美99| 亚洲欧洲精品天堂一级| 成人精品一区二区三区中文字幕| 久久久亚洲精华液精华液精华液 | 国产日韩欧美精品一区| 寂寞少妇一区二区三区| 欧美精品一区二区三区蜜桃| 蜜桃久久久久久| 精品日韩一区二区三区| 精品一二线国产| 精品噜噜噜噜久久久久久久久试看 | 一区二区三区四区在线免费观看| aaa欧美大片| 一区二区三区国产| 欧美老女人在线| 热久久免费视频| 欧美成人在线直播| 国产综合色在线| 国产喷白浆一区二区三区| 成人av免费在线| 一区二区三区欧美亚洲| 欧美日韩二区三区| 久久99这里只有精品| 久久蜜桃一区二区| 粉嫩av一区二区三区| 亚洲免费在线观看| 欧美视频在线观看一区二区| 日本视频在线一区| 精品对白一区国产伦| 成人黄色在线看| 亚洲一区二区黄色| 日韩欧美色电影| 不卡影院免费观看| 亚洲一区二区三区影院| 日韩免费高清av| 成人黄色大片在线观看| 亚洲午夜三级在线| 久久久久亚洲蜜桃| 在线观看国产日韩| 精品一区二区三区久久久| 中文字幕一区在线观看视频| 欧美日韩精品欧美日韩精品一综合| 麻豆免费精品视频| 亚洲欧洲国产日本综合| 欧美一级夜夜爽|