51单片机8x8点阵模块循环显示0~9
时间: 2024-02-12 08:07:04 浏览: 90
以下是基于51单片机、8x8点阵模块的循环显示0~9的代码:
```c
#include <reg51.h> // 引入头文件
unsigned char code table[]={
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 // 数码管显示0~9的编码
};
unsigned char code digit[]={
0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F // 选择位码
};
void delay(unsigned int z) // 延时函数
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
unsigned char i,j,k;
while(1)
{
for(i=0;i<10;i++) // 循环0~9
{
for(j=0;j<50;j++) // 每个数字显示50ms
{
for(k=0;k<8;k++) // 选择8位
{
P0 = table[i]; // 显示数字
P2 = digit[k]; // 选择位码
delay(1); // 延时1ms
}
}
}
}
}
```
同样需要注意的是,这里使用了一个延时函数`delay`,而且它的参数是一个无符号整型,表示延时的时间,单位是毫秒。这个函数的具体实现可以根据实际需要进行调整。同时,这里的循环嵌套也需要根据实际情况进行修改。
阅读全文