/*************************************************************************/
/* */
/* FILE NAME VERSION */
/* */
/* LEDSEG7.C 1.0 */
/* */
/* DESCRIPTION */
/* */
/* LED DEMO CODE for MBA-44B0(S3C44B0X) */
/* */
/* */
/* DATA STRUCTURES */
/* */
/* FUNCTIONS : LED & seg7 ROUTINE */
/* */
/* DEPENDENCIES */
/* */
/* */
/* NAME: */
/* REMARKS: */
/* */
/* Copyright (C) 2003 Wuhan CVTECH CO.,LTD */
/*************************************************************************/
/* includes */
/* defines */
#define U8 unsigned char
/* globals */
U8 output1 = 0xff;
static int delayLoopCount=401;
/********************************************************************
// Function name : Test_Seg7
// Description : test seg7
// Return type : void
// Argument : void
*********************************************************************/
void Test_Seg7(void)
{
int i,aTemp,bBreak = 0;
for( ; ; )
{
/* 0x0 -> 0xf */
for(i=0;i<0x10;i++)
{
switch(i)
{
case 0x0: aTemp = 0xc0; break;
case 0x1: aTemp = 0xf9; break;
case 0x2: aTemp = 0xa4; break;
case 0x3: aTemp = 0xb0; break;
case 0x4: aTemp = 0x99; break;
case 0x5: aTemp = 0x92; break;
case 0x6: aTemp = 0x82; break;
case 0x7: aTemp = 0xf8; break;
case 0x8: aTemp = 0x80; break;
case 0x9: aTemp = 0x90; break;
case 0xa: aTemp = 0x88; break;
case 0xb: aTemp = 0x83; break;
case 0xc: aTemp = 0xc6; break;
case 0xd: aTemp = 0xa1; break;
case 0xe: aTemp = 0x86; break;
case 0xf: aTemp = 0x8e; break;
default: break;
}
*((U8*)0x8000000) = aTemp;
Delay(500);
}
if(bBreak == 1)
break;
/* 0xf -> 0x0 */
for(i=0xf;i>=0x0;i--)
{
switch(i)
{
case 0x0: aTemp = 0xc0; break;
case 0x1: aTemp = 0xf9; break;
case 0x2: aTemp = 0xa4; break;
case 0x3: aTemp = 0xb0; break;
case 0x4: aTemp = 0x99; break;
case 0x5: aTemp = 0x92; break;
case 0x6: aTemp = 0x82; break;
case 0x7: aTemp = 0xf8; break;
case 0x8: aTemp = 0x80; break;
case 0x9: aTemp = 0x90; break;
case 0xa: aTemp = 0x88; break;
case 0xb: aTemp = 0x83; break;
case 0xc: aTemp = 0xc6; break;
case 0xd: aTemp = 0xa1; break;
case 0xe: aTemp = 0x86; break;
case 0xf: aTemp = 0x8e; break;
default: break;
}
*((U8*)0x8000000) = aTemp;
Delay(500);
}
if(bBreak == 1)
break;
}
*((U8*)0x8000000) = 0xff;
}
/********************************************************************
// Function name : Delay
// Description : delay 'time' ms
// Return type : void
// Argument : int time : time by ms to be delayed
*********************************************************************/
void Delay(int time)
{
int i;
for(;time>0;time--)
for(i=0;i}
链接脚本文件:
SECTIONS
{
. = 0x0c200000;
.text : { *(.text) }
Image_RO_Limit = .;
Image_RW_Base = .;
Image_RO_Base = .;
Image_RW_Limit = .;
.data : { *(.data) }
.rodata : { *(.rodata) }
Image_ZI_Base = .;
.bss : { *(.bss) }
Image_ZI_Limit = .;
__bss_start__ = .;
__bss_end__ = .;
__EH_FRAME_BEGIN__ = .;
__EH_FRAME_END__ = .;
PROVIDE (__stack = .);
end = .;
_end = .;
.debug_info 0 : { *(.debug_info) }
.debug_line 0 : { *(.debug_line) }
.debug_abbrev 0 : { *(.debug_abbrev)}
.debug_frame 0 : { *(.debug_frame) }
}
阅读(1034) | 评论(0) | 转发(0) |