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

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

?? led_test.c

?? 里面有一些關(guān)于ARM開發(fā)的資料
?? C
字號:
/****************************************************************************
【文  件  名  稱】led_test.c
【功  能  描  述】三星S3C44B0X板測試程序
【程  序  版  本】2.3
****************************************************************************/

//***************************************************************************
#include "inc\44b.h"
#include "inc\option.h"
//***************************************************************************
#define U32 unsigned int
#define U16 unsigned short
#define S32 int
#define S16 short int
#define U8  unsigned char
#define	S8  char
//***************************************************************************
//以下是液晶模塊控制器初始化和運行所用到的:
#define MVAL_USED	(0)
#define MVAL 		(13)
#define INVCLK		(0)
#define INVFRAME		(1)
#define INVLINE		(1)
#define L248 		(8)
#define CLKVAL_SL	(24)		// 32Mhz, fr=100Hz (CLKVAL=38.6)
#define M5D(n) ((n) & 0x1fffff)
unsigned char Bmp[9600];
//***************************************************************************

/****************************************************************************
【功能說明】鎖相環(huán)設(shè)置,修改系統(tǒng)主頻
Fout = (8 + M_DIV) * Fin / [ (2+P_DIV) * (2^S_DIV) ]
****************************************************************************/
void ChangePllValue(int mdiv,int pdiv,int sdiv)
{
    rPLLCON = (mdiv << 12) | (pdiv << 4) | sdiv;
}
//***************************************************************************

/****************************************************************************
【功能說明】通用延時函數(shù),延時time個100us
****************************************************************************/
static int delayLoopCount = 400;
void Delay(int time)
{
	int i,adjust=0;
	if(time==0)
	{
		time=200;
		adjust=1;
		delayLoopCount=400;
		rWTCON=((MCLK/1000000-1)<<8)|(2<<3);
		rWTDAT=0xffff;
		rWTCNT=0xffff;	 
		rWTCON=((MCLK/1000000-1)<<8)|(2<<3)|(1<<5);
	}
	for(;time>0;time--)
		for(i=0;i<delayLoopCount;i++);
	if(adjust==1)
	{
		rWTCON=((MCLK/1000000-1)<<8)|(2<<3);
		i=0xffff-rWTCNT;
		delayLoopCount=8000000/(i*64);
	}
}
//***************************************************************************

/****************************************************************************
【功能說明】IO端口功能、方向設(shè)定
****************************************************************************/
void Port_Init(void)
{
	// PORT A GROUP
	/*  BIT 9		8	7	6	5	4	3	2	1	0	*/
	/*        A24	A23	A22	A21	A20	A19	A18	A17	A16	A0	*/	      
	/*        0		1	1	1	1	1	1	1	1	1	*/
	rPCONA = 0x1ff;	

	// PORT B GROUP
	/*  BIT 10	9		8		7		6		5		4		3		2		1		0		*/
	/*	/CS5	/CS4	/CS3	/CS2	/CS1	nWBE3	nWBE2	/SRAS	/SCAS	SCLK	SCKE	*/
	/*	EXT		NIC		USB		IDE		SMC		NC		NC		Sdram	Sdram	Sdram	Sdram	*/
	/*      0,        0,   0,   0,    1,    0,       0,     1,    1,    1,   1          */
	rPDATB = 0x04f;
	rPCONB = 0x04f;
    
	//PORT C GROUP
	//BUSWIDTH=16													*/
	/*  PC15		14		13		12		11		10		9		8	*/
	/*	o		o		RXD1	TXD1	o		o		o		o	*/
	/*	NC		NC		Uart1	Uart1	NC		NC		NC		NC	*/
	/*   01		01		11		11		01		01		01		01	*/

	/*  PC7		6		5		4		3		2		1		0	*/
	/*   o		o		o		o		o		o		o		o	*/
	/*   NC		NC		NC		NC		SMCALE	SMCCLE	SMCCE	SMCRB*/
	/*   01		01		01		01		01		01		01		01	*/
	rPDATC = 0x0000;	//All IO is low
	rPCONC = 0x5f555555;	
	rPUPC  = 0x3000;	//PULL UP RESISTOR should be enabled to I/O

	//PORT D GROUP
	/*  PORT D GROUP(I/O OR LCD)										*/
	/*  BIT7		6		5		4		3		2		1		0	*/
	/*      VF		VM		VLINE	VCLK	VD3		VD2		VD1		VD0	*/
	/*	   01		01		01		01		01		01		01		01	*/
	rPDATD= 0x55;
	rPCOND= 0xaaaa;	
	rPUPD = 0x00;
	//These pins must be set only after CPU's internal LCD controller is enable
	
	//PORT E GROUP 
	/*  Bit 8		7		6		5		4		3		2		1		0		*/
	/*      LcdBL	LED4	LED5	LED6	LED7	BEEP	RXD0	TXD0	LcdDisp	*/ 
	/*      01		01		01		01		01		01		10		10		01		*/
	rPDATE	= 0x357;
	rPCONE	= 0x556b;	
	rPUPE	= 0x6;
	
	//PORT F GROUP
	/*  Bit8		7		6		5		 4		3		2		1		0		*/   
	/*  IISCLK	IISDI	IISDO	IISLRCK	Input	Input	Input	IICSDA	IICSCL	*/
	/*	100		010		010		001		00		01		01		10		10		*/
	rPDATF = 0x0;
	rPCONF = 0x22445a;
	rPUPF  = 0x1d3;

	//PORT G GROUP
	/*  BIT7		6		5		4		3		2		1		0	 */
	/*	INT7		INT6		INT5		INT4		INT3		INT2		INT1		INT0	*/
	/*    S3		S4		S5		S6		NIC		EXT		IDE		USB	*/
	/*      11      11      11      11      11      11      11      11       */
	rPDATG = 0xff;
	rPCONG = 0x0000;
	rPUPG  = 0x00;	//should be enabled  

	rSPUCR=0x7;  //D15-D0 pull-up disable

	/*定義非Cache區(qū)*/
	rNCACHBE0 = 0x2c000; 
	/*所有的外部硬件中斷為低電平觸發(fā)*/
	rEXTINT=0x0;
}
//***************************************************************************

/****************************************************************************
【功能說明】四個LED 點亮/熄滅狀態(tài)設(shè)置(LedStatus低四位電平高低對應(yīng)著四個LED亮/熄)
****************************************************************************/
void Led_Display(int LedStatus)
{
	if((LedStatus&0x01)==0x01)		//PE7狀態(tài)設(shè)置
		rPDATE=rPDATE&0x17f;
	else
		rPDATE=rPDATE|0x80;
	
	if((LedStatus&0x02)==0x02)		//PE6狀態(tài)設(shè)置
		rPDATE=rPDATE&0x1bf;
	else
		rPDATE=rPDATE|0x40;

	if((LedStatus&0x04)==0x04)		//PE5狀態(tài)設(shè)置
		rPDATE=rPDATE&0x1df;
	else
		rPDATE=rPDATE|0x20;

	if((LedStatus&0x08)==0x08)		//PE4狀態(tài)設(shè)置
		rPDATE=rPDATE&0x1ef;
	else
		rPDATE=rPDATE|0x10;
}
//***************************************************************************

/****************************************************************************
【功能說明】LED來回閃爍顯示 
****************************************************************************/
void Led_Disp(void)
{
	Led_Display(0x08);		//LED點亮/熄滅狀態(tài)設(shè)置
	Delay(500);		//延時若干個100us
	Led_Display(0x04);		//LED點亮/熄滅狀態(tài)設(shè)置
	Delay(500);		//延時若干個100us
	Led_Display(0x02);		//LED點亮/熄滅狀態(tài)設(shè)置
	Delay(500);		//延時若干個100us
	Led_Display(0x01);		//LED點亮/熄滅狀態(tài)設(shè)置
	Delay(500);		//延時若干個100us
	Led_Display(0x02);		//LED點亮/熄滅狀態(tài)設(shè)置
	Delay(500);		//延時若干個100us
	Led_Display(0x04);		//LED點亮/熄滅狀態(tài)設(shè)置
	Delay(500);		//延時若干個100us
	Led_Display(0x08);		//LED點亮/熄滅狀態(tài)設(shè)置
	Delay(500);		//延時若干個100us
}
//***************************************************************************

/****************************************************************************
【功能說明】蜂鳴器鳴叫time個100us
****************************************************************************/
void Beep(unsigned int time)
{
	rPDATE = (rPDATE | 0x08);
	Delay(time);		//延時若干個100us
	rPDATE = (rPDATE & 0x1f7);
}
//***************************************************************************

/****************************************************************************
【功能說明】檢測四個按鍵,有任何一個按鍵按下就讓蜂鳴器鳴叫,否則不鳴叫
****************************************************************************/
void Key_Speaker(void)
{
	unsigned int m;
	m = rPDATG;
	if((m & 0xf8) < 0xf8)	{rPDATE = (rPDATE | 0x08);}
	else	{rPDATE = (rPDATE & 0x1f7);}
}
//***************************************************************************

/****************************************************************************
【功能說明】中斷初始化
****************************************************************************/
void Isr_Init(void)
{
	rINTCON=0x5;	      //Non-vectored,IRQ enable,FIQ disable //
	rINTMOD=0x0;	      //All=IRQ mode//
	rINTMSK=~(BIT_EINT0 | BIT_GLOBAL);	//Default value=0x7ffffff//
}
//***************************************************************************

/****************************************************************************
【功能說明】液晶模塊控制器初始化,外接DMF50081(320×240)液晶模塊
****************************************************************************/
void Lcd_Init(void)
{
	rPCOND=0xaaaa;
	rLCDCON1=(2)|(INVFRAME<<2)|(INVLINE<<3)|(INVCLK<<4)|(1<<5)|(MVAL_USED<<7)|(0x1<<8)|(0x1<<10)|(CLKVAL_SL<<12);
		//上升沿裝載視頻數(shù)據(jù),禁止視頻輸出,LCD FIFO清空;行、幀信號取反;
		//4位單掃描模式;WDLY=8clk,WLH=8clk,CLKVAL_SL=38
	rLCDCON2=(239)|(79<<10)|(10<<21);
		//LINEBLANK=10 (without any calculation) 
	rLCDSADDR1= (0x0<<27) | ( ((U32)Bmp>>22)<<21 ) | M5D((U32)Bmp>>1);
		// MONO, LCDBANK, LCDBASEU
	rLCDSADDR2= (1<<29) | (M5D((U32)Bmp + ((320/8)*(240)))>>1) | (MVAL<<21);
	rLCDSADDR3= (320/16) | ( 0<<9 );   
	rLCDCON1=(3)|(INVFRAME<<2)|(INVLINE<<3)|(INVCLK<<4)|(1<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_SL<<12);
		//上升沿裝載視頻數(shù)據(jù),允許視頻輸出,LCD FIFO清空;行、幀信號取反;
		//4位單掃描模式;WDLY=8clk,WLH=8clk,CLKVAL_SL=38
}
//***************************************************************************

/****************************************************************************
【功能說明】液晶顯示屏全屏填充某一個8位二進制數(shù)
****************************************************************************/
void Lcd_Fill(U8 m)
{
	U16 i;
	for(i = 0; i < 9600; i++)		Bmp[i] = m;
}	
//***************************************************************************

/****************************************************************************
【功能說明】定時器初始化,讓PE7、6、5、4輸出PWM信號
****************************************************************************/
void Timer_Pwm(void)
{
	rPCONE = 0xaa6b;		
	//PE8-P0的引腳功能依次為:ENDIAN TOUT4、3、2、1、0 RXD0 TXD0 FOUT
	rPUPE |= 0xf0;		//TOUT4、3、2、1、0設(shè)置成不上拉,其他引腳上拉

	rTCFG0 = 0x23f3f3f;		//死區(qū)長度為2;    Prescaler0/1/2=3f,3f,3f
	//定時器輸入時鐘頻率計算公式 = MCLK/{prescaler+1}/{divider value}
	rTCFG1 = 0x0;		// Interrupt; Devider value = 1/2
	//定時器時鐘 = (MCLK/prescaler+1)/2

	rTCNTB0 = 20000;		//決定TOUT 0引腳PWM輸出信號的頻率
	rTCNTB1 = 32000;		//決定TOUT 1引腳PWM輸出信號的頻率
	rTCNTB2 = 43000;		//決定TOUT 2引腳PWM輸出信號的頻率
	rTCNTB3 = 53000;		//決定TOUT 3引腳PWM輸出信號的頻率
	rTCNTB4 = 64000;		//決定TOUT 4引腳PWM輸出信號的頻率

	rTCMPB0 = 12000;		//決定TOUT 0引腳PWM輸出高電平的信號寬度(rTCMPB0<rTCNTB0)
	rTCMPB1 = 18000;		//決定TOUT 1引腳PWM輸出高電平的信號寬度(rTCMPB1<rTCNTB1)
	rTCMPB2 = 25000;		//決定TOUT 2引腳PWM輸出高電平的信號寬度(rTCMPB2<rTCNTB2)
	rTCMPB3 = 28000;		//決定TOUT 3引腳PWM輸出高電平的信號寬度(rTCMPB3<rTCNTB3)
	rTCMPB4 = 36000;		//決定TOUT 4引腳PWM輸出高電平的信號寬度(rTCMPB4<rTCNTB4)

//	rTCON = 0xaaaa0a;		//自動重裝,輸出取反關(guān)閉,更新TCNTBn、TCMPBn,死區(qū)控制器關(guān)閉
//	rTCON = 0x999909;		//開始PWM輸出(不使用死區(qū)控制器,上升沿會非常陡峭,是標準矩形波)
//	rTCON = 0xeeee0e;		//自動重裝,輸出取反打開,更新TCNTBn、TCMPBn,死區(qū)控制器關(guān)閉
//	rTCON = 0xdddd0d;		//開始PWM輸出(不使用死區(qū)控制器,上升沿會非常陡峭,是標準矩形波)
//	rTCON = 0xaaaa1a;		//自動重裝,輸出取反關(guān)閉,更新TCNTBn、TCMPBn,死區(qū)控制器打開
//	rTCON = 0x999919;		//開始PWM輸出(使用死區(qū)控制器,上升沿會變得平滑,適用于功率器件控制)

	//Delay(7500);		//延時若干個100us
	rTCON = 0xaaaa0a;		//自動重裝,輸出取反關(guān)閉,更新TCNTBn、TCMPBn,死區(qū)控制器關(guān)閉
	rTCON = 0x999900;		//停止蜂鳴器的叫聲
//	rTCON = 0x0;		//停止定時器
	rPCONE = 0xaa6b;		//
	//PE8-P0的引腳功能依次為:ENDIAN TOUT4、3、2、1 OUTPUT RXD0 TXD0 FOUT
}
//***************************************************************************

/****************************************************************************
【功能說明】系統(tǒng)主函數(shù)
****************************************************************************/
void Main(void)
{
	U16 m;
	
	rSYSCFG=0x0e;	//使用8K字節(jié)的指令緩存

	Port_Init();		//IO端口功能、方向設(shè)定
	Isr_Init();		//中斷初始化

	Lcd_Init();		//DMF50081(320×240)液晶模塊初始化

	Led_Disp();		//LED來回閃爍顯示 
	Beep(500);		//蜂鳴器鳴叫若干個100us

	ChangePllValue(8,2,1);		//修改系統(tǒng)主頻為2倍頻

	Beep(1000);		//蜂鳴器鳴叫若干個100us

	Lcd_Fill(0x33);		//液晶顯示屏全屏填充某一個8位二進制數(shù)

	for(m = 2; m > 0; m--)
	{
		Led_Disp();		//LED來回閃爍顯示 
	}

	Timer_Pwm();		//定時器初始化,讓PE7、6、5、4、3輸出PWM信號

	while(1)
	{
		Key_Speaker();		//檢測四個按鍵,有任何一個按鍵按下就讓蜂鳴器鳴叫,否則不鳴叫
	}
}
//***************************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久影院| 豆国产96在线|亚洲| 国产精品一卡二卡在线观看| 成人小视频在线观看| 日本高清不卡在线观看| 日韩欧美国产1| 一区二区三区中文字幕精品精品| 蜜桃视频第一区免费观看| 97国产精品videossex| 久久久精品综合| 全国精品久久少妇| 欧美写真视频网站| 亚洲欧美在线观看| 国产精品一二三区在线| 欧美一区二区三区性视频| 亚洲高清免费视频| 91一区二区三区在线观看| 亚洲精品在线观看视频| 日产欧产美韩系列久久99| 91久久精品午夜一区二区| 亚洲素人一区二区| 大桥未久av一区二区三区中文| 日韩三级.com| 日韩精品电影一区亚洲| 欧美美女bb生活片| 亚洲国产日韩在线一区模特| 91免费视频网址| 自拍偷拍亚洲激情| 色综合久久综合网| 伊人性伊人情综合网| 色综合天天做天天爱| 中文字幕佐山爱一区二区免费| 成人免费视频网站在线观看| 国产精品视频yy9299一区| 成人国产亚洲欧美成人综合网| 欧美高清在线一区二区| 成人在线综合网| 综合色中文字幕| 在线观看www91| 亚洲成av人片一区二区梦乃| 欧美日韩亚洲综合在线 | 久久久久久电影| 韩国成人在线视频| 亚洲精品在线观| 成人av影视在线观看| 亚洲视频综合在线| 欧美三级欧美一级| 毛片不卡一区二区| 2022国产精品视频| 风间由美一区二区av101| 中文字幕在线一区二区三区| 色嗨嗨av一区二区三区| 亚洲主播在线观看| 日韩美女一区二区三区| 国产精品99久久久| 日韩理论电影院| 7777精品伊人久久久大香线蕉完整版 | 国产喂奶挤奶一区二区三区| 成人少妇影院yyyy| 夜夜精品视频一区二区| 日韩欧美激情四射| 成人福利视频在线| 亚洲综合丝袜美腿| 欧美一区二区三区成人| 国产成人av在线影院| 亚洲啪啪综合av一区二区三区| 欧美视频你懂的| 国产精品99精品久久免费| 一区二区在线观看视频| 欧美大胆一级视频| 色综合久久久久| 久久精品国产99国产| 亚洲欧美自拍偷拍色图| 日韩精品一区二区三区中文精品| eeuss国产一区二区三区| 无码av中文一区二区三区桃花岛| 国产亚洲美州欧州综合国| 欧美亚洲动漫精品| 国产精品一区二区三区四区| 亚洲一区二区三区四区不卡| 2023国产精华国产精品| 欧美在线高清视频| 高清不卡在线观看| 免费观看成人av| 亚洲精品一二三四区| 久久亚洲影视婷婷| 在线综合视频播放| 91丨九色丨蝌蚪丨老版| 国产一区二区视频在线| 五月婷婷久久综合| 亚洲视频在线一区| 久久网这里都是精品| 欧美高清你懂得| 97超碰欧美中文字幕| 国产91在线看| 精品一区二区三区av| 日韩电影在线免费观看| 亚洲尤物视频在线| 亚洲欧美一区二区视频| 久久色成人在线| 日韩欧美精品三级| 欧美一区二区在线视频| 欧美主播一区二区三区| 91在线精品一区二区三区| 国产一区二区三区黄视频| 日本不卡一二三区黄网| 亚洲国产精品一区二区www在线| 国产精品美女久久久久aⅴ| 久久久九九九九| 26uuu国产在线精品一区二区| 欧美一区二区三区在线电影| 欧美日韩在线播放三区| 欧美在线免费观看亚洲| 在线看日韩精品电影| 99综合影院在线| 色综合咪咪久久| av动漫一区二区| 91看片淫黄大片一级在线观看| 粉嫩13p一区二区三区| 成人动漫av在线| 99视频热这里只有精品免费| 99国产精品国产精品久久| 不卡一区二区三区四区| 91丝袜美腿高跟国产极品老师| 91麻豆产精品久久久久久| 欧美亚洲综合网| 91精品国产欧美一区二区| 欧美xxxxxxxx| 久久精品亚洲一区二区三区浴池| 国产日韩欧美一区二区三区综合| 国产亚洲一区二区三区四区| 国产精品欧美综合在线| 樱桃国产成人精品视频| 日本一区中文字幕| 国产美女视频一区| 91麻豆免费观看| 欧美日韩激情一区二区三区| 日韩欧美一级二级三级久久久| 精品国产伦理网| 国产精品视频看| 亚洲成人综合在线| 国产一区二区剧情av在线| 不卡的av在线播放| 777午夜精品视频在线播放| 精品三级av在线| 中文字幕一区二区三区视频 | 国产情人综合久久777777| 中文字幕精品一区 | 国产精品电影一区二区三区| 亚洲综合激情另类小说区| 麻豆久久一区二区| 99在线热播精品免费| 69av一区二区三区| 久久精品夜色噜噜亚洲a∨| 一区二区三区毛片| 国产一区二区不卡老阿姨| 99综合电影在线视频| 欧美一区二区三区四区久久| 亚洲国产精品99久久久久久久久| 亚洲国产日韩综合久久精品| 国产成人精品亚洲日本在线桃色| 在线国产电影不卡| 久久精品一区蜜桃臀影院| 午夜电影网一区| www.亚洲在线| 日韩精品一区二区三区四区| 亚洲精品欧美激情| 国产精品一区二区三区四区| 正在播放亚洲一区| 亚洲男人的天堂av| 国产成人综合在线| 欧美一级欧美三级在线观看| 成人欧美一区二区三区1314| 蜜臀av在线播放一区二区三区| 日本电影欧美片| 欧美国产国产综合| 国产永久精品大片wwwapp| 欧美精品vⅰdeose4hd| 亚洲乱码国产乱码精品精小说| 国产麻豆精品视频| 日韩一区二区在线看| 亚洲综合成人在线视频| 不卡大黄网站免费看| 久久久亚洲精品一区二区三区| 免费观看日韩av| 91.麻豆视频| 亚洲成人av一区| 欧美伊人久久大香线蕉综合69 | 成人av影视在线观看| 久久久久国色av免费看影院| 喷水一区二区三区| 欧美日韩精品一区二区三区蜜桃 | 欧美久久久久免费| 亚洲自拍偷拍麻豆| 日本久久精品电影| 最新中文字幕一区二区三区| 高清视频一区二区| 中文字幕精品三区| 成人午夜激情影院| 中文字幕va一区二区三区|