本想整個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();}}
|