本想整个8X8点阵左右流水灯,从上到下的代码,结果参数搞错啦,整成斜线,经仔细检查发现是代入的参数不对,代码如下。
#include<reg51.h>
#define ROW P2
#define COL P1
void delay(unsigned int time)
{unsigned int i,j;
for(i=0;i<time;i++)
for(j=0;j<120;j++);}
void display(){
unsigned char i,j;
unsigned char row_pattern[16]={
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
unsigned char col_pattern[16]={
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
for(i=0;i<16;i++){
ROW=row_pattern[i];
for(j=0;j<16;j++){
COL=~col_pattern[j];//改变[]里的j为i 就会出现8X8点阵灯从上到下斜着走来回
delay(100);
}}}
void main(){
while(1){
display();}}
|