📄 Ȧ
字号:
//程序:ex5_3.c
//功能:在8×8LED点阵上循环显示数字0~9
#include "REG51.H"
void delay1ms(); //延时约1ms函数声明
void main()
{
unsigned char code led[]={0x18,0x24,0x24,0x24,0x24,0x24,0x24,0x18, //0
0x00,0x18,0x1c,0x18,0x18,0x18,0x18,0x18, //1
0x00,0x1e,0x30,0x30,0x1c,0x06,0x06,0x3e, //2
0x00,0x1e,0x30,0x30,0x1c,0x30,0x30,0x1e, //3
0x00,0x30,0x38,0x34,0x32,0x3e,0x30,0x30, //4
0x00,0x1e,0x02,0x1e,0x30,0x30,0x30,0x1e, //5
0x00,0x1c,0x06,0x1e,0x36,0x36,0x36,0x1c, //6
0x00,0x3f,0x30,0x18,0x18,0x0c,0x0c,0x0c, //7
0x00,0x1c,0x36,0x36,0x1c,0x36,0x36,0x1c, //8
0x00,0x1c,0x36,0x36,0x36,0x3c,0x30,0x1c}; //9
unsigned char w;
unsigned int i,j,k,m;
while(1) {
for(k=0;k<10;k++) //字符个数控制变量
{
for(m=0;m<400;m++) //每个字符扫描显示400次,控制每个字符显示时间
{
w=0x01; //行变量w指向第一行
j=k*8; //指向数组led的第k个字符第一个显示码下标
for(i=0;i<8;i++)
{
P1=w; //行数据送P1口
P0=led[j]; //列数据送P0口
delay1ms();
w<<=1; //行变量左移指向下一行
j++; //指向数组中下一个显示码
}
}
}
}
}
//函数名:delay1ms
//函数功能:采用软件实现延时约1ms
//形式参数:无
//返回值:无
void delay()
{
unsigned char i;
for(i=0;i<0x10;i++);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -