📄 led.c
字号:
/*********************************************************************
* *功能描述:LED跑马灯试验,8个LED来回点亮。
**********************************************************************/
#include <c8051F310.h> //C8051F31X系列头文件。
//*********************************************************************
//函数名:void delay(unsigned int n)
//功能描述:廷时程序。
//*********************************************************************
void delay(unsigned int n)
{
unsigned int i;
for(i=0; i<n; i++);
for(i=0; i<n; i++);
for(i=0; i<n; i++);
for(i=0; i<n; i++);
}
//**********************************************************************
//函数名:void Internal_Crystal(void)
//功能描述:设定内部时钟。
//**********************************************************************
void Internal_Crystal(void)
{
OSCICN = 0x83; // 内部振荡器允许,不分频最快频率
CLKSEL = 0x00; // 使用内部振荡器。
}
void main(void)
{
unsigned char i, dat;
PCA0MD &= ~0x40; //关闭看门狗。
Internal_Crystal(); //内部晶振设定。
P2MDOUT = 0xff; //P2口全为输出。
XBR1 = 0x40; //交叉使能。
dat = 0xFE;
while(1)
{
for(i=0; i<7; i++)
{
P2 = dat; //送LED显示。
delay(60000); //廷时
dat <<= 1; //左移一位。
dat++;
}
for(i=0; i<7; i++)
{
P2 = dat; //送LED显示。
delay(60000); //廷时
dat >>= 1; //右移一位。
dat += 0x80;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -