📄 led_test.c
字号:
/****************************************************************************
【文 件 名 称】led_test.c
【功 能 描 述】三星S3C44B0X板测试程序
****************************************************************************/
//***************************************************************************
#include "inc\44b.h"
#include "inc\option.h"
//***************************************************************************
/****************************************************************************
【功能说明】通用延时函数,延时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);
}
}
//***************************************************************************
/****************************************************************************
【功能说明】I/O端口功能、方向设定
****************************************************************************/
void Port_Init(void)
{
//PORT C GROUP
rPDATC = 0x0000;
rPCONC = 0xfff5ff55;
}
//***************************************************************************
/****************************************************************************
【功能说明】三个LED 点亮/熄灭状态设置
****************************************************************************/
void Led_Display(int LedStatus)
{
if((LedStatus&0x01)==0x01) //PC1状态设置
rPDATC=rPDATC&0xfffD; //LED0熄灭
else
rPDATC=rPDATC|0x02; //LED0点亮
if((LedStatus&0x02)==0x02) //PC2状态设置
rPDATC=rPDATC&0xfffB;
else
rPDATC=rPDATC|0x04;
if((LedStatus&0x04)==0x04) //PC3状态设置
rPDATC=rPDATC&0xfff7;
else
rPDATC=rPDATC|0x08;
}
//***************************************************************************
/****************************************************************************
【功能说明】LED来回闪烁显示
****************************************************************************/
void Led_Disp(void)
{
Led_Display(0x04); //LED点亮/熄灭状态设置
Delay(3000); //延时若干个100us
Led_Display(0x02);
Delay(3000);
Led_Display(0x01);
Delay(3000);
}
//***************************************************************************
/****************************************************************************
【功能说明】系统主函数
****************************************************************************/
void Main(void)
{
Port_Init(); //IO端口功能、方向设定
while(1)
{
Led_Disp(); //LED来回闪烁显示
}
}
//***************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -