代码:
#include "reg51.h"
unsigned char row_01[] = {0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x18, 0x00, // row show 0
0x00, 0x10, 0x18, 0x10, 0x10, 0x10, 0x38, 0x00};// row show 1
unsigned char code bit_code[] = {0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe};
void delay(unsigned int time){
while(time--);
}
void show_01(){
unsigned char i, j, n;
for (j = 0; j < 2; j++){ // 两个数字
for (n = 0; n < 50; n++){ // 让每个数字显示50次,以保证 "视觉暂留"效果
for (i = 0; i < 8; i++){ // 展示八行
P0 = bit_code[i];
P3 = row_01[i + j * 8]; // 这里跃迁的为八个,换成一个后,进行其他操作即可滚动啦
delay(100);
}
}
}
}
void main(){
while(1){
show_01();
}
}
仿真图: