AT89C518×8 LED点阵屏显示单个数字程序
时间: 2023-08-30 16:06:57 浏览: 44
下面是一个使用AT89C51单片机控制8x8 LED点阵屏显示单个数字的程序:
```c
#include <REG52.H>
#include <intrins.h>
// 定义引脚
sbit DIN = P1^0;
sbit CS = P1^1;
sbit CLK = P1^2;
// 定义显示的数字0-9的编码
unsigned char code num[10] = {
0x3F, 0x06, 0x5B, 0x4F, 0x66,
0x6D, 0x7D, 0x07, 0x7F, 0x6F
};
void delay(unsigned int t) {
while (t--);
}
void write(unsigned char dat) {
unsigned char i;
for (i = 0; i < 8; i++) {
CLK = 0;
DIN = dat & 0x80;
dat <<= 1;
CLK = 1;
}
}
void display(unsigned char dat) {
unsigned char i;
CS = 0;
for (i = 0; i < 8; i++) {
write(dat);
dat <<= 1;
}
CS = 1;
}
void main() {
unsigned char n = 5; // 显示数字5
display(num[n]);
while (1);
}
```
说明:
1. 首先定义引脚。
2. 定义显示的数字0-9的编码。
3. 定义延时函数。
4. 定义写入数据的函数write。
5. 定义显示数据的函数display。
6. 在主函数中显示数字5,可以根据需要修改n的值。