要求:Led灯从左往右依次快速亮起,第4、5个灯亮时间隔2秒钟,第5、6、7、8亮起是时间间隔依次缩短。再从左边亮起如此反复。
#include \"s5pc210.h\" #include \"uart.h\"
#define U8 unsigned char
/*****************************************************************************
// Function name : delay // Description // Return type
: 延时子程序 : void
// Argument : count,延时的数值
*****************************************************************************/
void delay( int count ) { }
int main() {
*((U8*)0x8800B000) = a<<7; delay (150);
*((U8*)0x8800B000) = a; delay (200);
for(i=0;i<8;i++)
{
for( ; ; ) { int a=0xff; int i;
printf(\"CVT S5PV210 Jtag Led Test...\\n\"); uart_init();
for( count = count; count>0; count--)
for( cnt = 0; cnt < 1000; cnt++); int cnt;
}
*((U8*)0x8800B000) = a<<6; delay (100);
*((U8*)0x8800B000) = a<<5; delay (100);
*((U8*)0x8800B000) = a<<4; delay (2000);
*((U8*)0x8800B000) = a<<3; delay (400);
*((U8*)0x8800B000) = a<<2; delay (300);
*((U8*)0x8800B000) = a<<1; delay (200);
} }
return 0;
2、 Led矩阵实现。
要求,在矩阵上亮起一个最大正方形和一个心的图案。二者交替出现。
#include \"s5pc210.h\" #include \"uart.h\"
#define U8 unsigned char
/*****************************************************************************
// Function name : delay // Description // Return type
: 延时子程序 : void
// Argument : count,延时的数值
*****************************************************************************/
void delay( int count ) { }
for( count = count; count>0; count--)
for( cnt = 0; cnt < 1000; cnt++); int cnt;
int main() { {
*((U8*)0x88005000)=0xff; *((U8*)0x88003000)=0x00;
delay(500); }
*((U8*) 0x88005000) = 0x0; *((U8*)0x88003000) = 0xff; for( ; ; ) {
for(i=0;i<50;i++) {
for(i=0;i<=300;i++){
*((U8*) 0x88005000) = 0x44; *((U8*)0x88003000) = 0xfe; delay(1);
*((U8*) 0x88005000) = 0xee; *((U8*)0x88003000) = 0xfd; delay(1);
*((U8*) 0x88005000) = 0xff; *((U8*)0x88003000) = 0xfb; delay(1);
*((U8*) 0x88005000) = 0xff; *((U8*)0x88003000) = 0xf7; delay(1);
*((U8*) 0x88005000) = 0x7e; *((U8*)0x88003000) = 0xef; delay(1);
*((U8*) 0x88005000) = 0x3c; *((U8*)0x88003000) = 0xdf; delay(1);
*((U8*) 0x88005000) = 0x18; *((U8*)0x88003000) = 0xbf; delay(1);
int i;
printf(\"CVT S5PV210 Jtag Led Test...\\n\"); uart_init();
delay(100); }
}
} return 0;
}
3、 数码管实验。
要求:6个数码管从左自右,依次亮出1、2、3、4、5、6,每个数码管亮起时另外5个数码管熄灭。当第6个数码管熄灭1秒钟后6个数码管全部一起显示”H”
#include \"s5pc210.h\" #include \"uart.h\"
#define U8 unsigned char
/*****************************************************************************
// Function name : delay // Description // Return type
: 延时子程序 : void
// Argument : count,延时的数值
*****************************************************************************/
void delay( int count ) { }
int main() {
for(i=0;i<6;i++) {
*((U8*)0x88007000)=a[i];
unsigned int a[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; unsigned int b[6]={0xf9,0xa4,0xb0,0x99,0x92,0x82}; for( ; ; ) {
for( count = count; count>0; count--)
for( cnt = 0; cnt < 1000; cnt++); int cnt;
int i;
*((U8*)0x88009000)=b[i]; delay(500);
}
*((U8*)0x88009000)=0xff; delay(500); delay(500);
*((U8*)0x88007000)=0x0;
*((U8*)0x88009000)=0x89; delay(500); }
return 0; }
4、 步进电机实验。
要求:电机先整步顺时针转一周后再半步逆时针转一周,如此反复下去。尽量加快步进电机的转速以便于看清楚。 #include \"s5pc210.h\"
#include \"uart.h\"
#define U8 unsigned char
/*****************************************************************************
// Function name : delay // Description // Return type
: 延时子程序 : void
// Argument : count,延时的数值
*****************************************************************************/
void delay( int count ) { }
int main() { int i; {
*((U8*) 0x88001000) = 0x05; delay(100); for(i=0;i<=5;i++)
for( count = count; count>0; count--)
for( cnt = 0; cnt < 1000; cnt++); int cnt;
}
*((U8*)0x88001000) = 0x09; delay(50);
*((U8*)0x88001000) = 0x0a; delay(20);
*((U8*)0x88001000) = 0x06; delay(10); }
//反转脉冲
for(i=0;i<=5;i++) {
*((U8*) 0x88001000) = 0x06; delay(10);
*((U8*)0x88001000) = 0x0a; delay(10);
*((U8*)0x88001000) = 0x09; delay(10);
*((U8*)0x88001000) = 0x05; delay(10); }
return 0;
5、 GPioled接口控制实验。
要求:先四个灯全亮,一秒钟后全部熄灭,一秒钟后左边两个灯亮起,再一秒钟后右边的两个灯亮起,同时左边的两个灯熄灭,一秒钟后自左往右依次亮起四盏灯。如此反复。
#include \"s5pc210.h\" #include \"uart.h\"
/*****************************************************************************
// Function name : delay
// Description : 延时子程序 // Return type : void
// Argument : count,延时的数值
*****************************************************************************/
void delay( int count ) {
int cnt;
for( count = count; count>0; count--) for( cnt = 0; cnt < 1000; cnt++); }
int main() {
uart_init();
printf(\"CVT S5PV210 Jtag GpioLed Test...\\n\");
volatile int i,j=0;
GPH3.GPH3CON = 0x11110000;
while(1){ GPH3.GPH3DAT = 0x00; delay(2000); GPH3.GPH3DAT = 0xFF; delay(2000); GPH3.GPH3DAT = 0x3F; delay(2000); GPH3.GPH3DAT = 0xCF; delay(2000); for(j = 0;j<4;j++){ GPH3.GPH3DAT = ~(0x1<<(j+4)); for(i = 0; i <= 1000000; i++); } }
return 0;
}
6、 串口通信按键实验
要求:当按下实验箱白色按键,能够在DNW界面上显示按键提示消息。例如:sleep键在DWN上显示“你按下的是Sleep键” , Down键在DWN上显示“你按下的是Down键”, up键在DWN上显示“你按下的是up键”等。(DNW是串口通讯软件) #include \"s5pc210.h\"
#include \"uart.h\"
/*****************************************************************************
// Function name : delay
// Description // Return type : 延时子程序 : void
// Argument : count,延时的数值
*****************************************************************************/
void delay( int count ) { }
void Gpio_init(){ }
int main() {
if(temp != 0x3){
switch (i) {
case 0:
if(temp == 0x1){
for(i=0;i<8;i++){
GPH2.GPH2DAT = 0xff; GPH2.GPH2DAT &= ~(0x1<temp = GPH3.GPH3DAT & 0x3; delay(10);
while(1){ Gpio_init();
printf(\"CVT S5PV210 Jtag KeyPad Test...\\n\"); int temp,i = 0; uart_init();
GPH3.GPH3CON = ~0xff;
GPH3.GPH3DAT = GPH3.GPH3DAT | 0x3; GPH2.GPH2CON = 0x11111111; GPH2.GPH2DAT = 0xff;
for( count = count; count>0; count--)
for( cnt = 0; cnt < 1000; cnt++); int cnt;
}
printf(\"VOL+ Press\\n\");
break;
if(temp == 0x1){ }
else if(temp == 0x2){ } break; break;
if(temp == 0x1){ } break;
if(temp == 0x2){ } break;
if(temp == 0x1){ }
else if(temp == 0x2){ } break;
if(temp == 0x1){ }
else if(temp == 0x2){ } break;
if(temp == 0x2){ } break;
printf(\"LEFT Press\\n\"); printf(\"ENTER Press\\n\"); printf(\"BACK Press\\n\"); printf(\"RIGHT Press\\n\"); printf(\"MENU Press\\n\"); printf(\"SLEEP Press\\n\"); printf(\"UP Press\\n\"); printf(\"DOWN Press\\n\"); printf(\"VOL- Press\\n\");
case 1:
case 2: case 3:
case 4:
case 5:
case 6:
case 7:
}
}
}
}
}
default:
break;
while(1);
)
因篇幅问题不能全部显示,请点此查看更多更全内容