51单片机8x8点阵屏循环显示0~9
时间: 2024-02-12 22:07:00 浏览: 159
以下是基于51单片机、8x8点阵屏的循环显示0~9的代码:
```c
#include <reg51.h> // 引入头文件
// 定义IO口
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f // 数码管显示0~9的编码
};
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;
while(1)
{
for(i=0;i<10;i++) // 循环0~9
{
for(j=0;j<50;j++) // 每个数字显示50ms
{
LSA=0;LSB=0;LSC=0; // 全部清零
P0=table[i]; // 显示数字
delay(1); // 延时1ms
}
}
}
}
```
需要注意的是,这里使用了一个延时函数`delay`,而且它的参数是一个无符号整型,表示延时的时间,单位是毫秒。这个函数的具体实现可以根据实际需要进行调整。同时,这里的循环嵌套也需要根据实际情况进行修改。
阅读全文