📄 ex5_4.c
字号:
//程序:ex5_4.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
//定义二维数组,参见3.5.2节
unsigned char w;
unsigned int i,j,k,m;
while(1) {
for(k=0;k<10;k++) //第一维下标取值范围0~9
{
for(m=0;m<400;m++)
{
w=0x01;
for(j=0;j<8;j++) //第二维下标取值范围0~7
{
P1=w;
P0=led[k][j]; //将指定数组元素赋值给P0口
delay1ms();
w<<=1;
}
}
}
}
}
//函数名:delay1ms
//函数功能:采用软件实现延时约1ms
//形式参数:无
//返回值:无
void delay()
{
unsigned char i;
for(i=0;i<0x10;i++);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -