原创:行操作
#include<reg52.h>
sbit duan=P2^6;
sbit wei=P2^7;
sbit fm=P2^3;
char code leddata[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00} ;
void display(int num)
{
P0=leddata[num];
duan=1;duan=0;
P0=0x00; //设置其全亮 0000 0000
wei=1;wei=0;
}
main()
{
while(1)//死循环
{
P3=0xfe; //开始扫描第一行;
switch(P3)
{ case 0xee: display(0) ;break;
case 0xde : display(1) ;break;
case 0xbe :display(2) ;break;
case 0x7e: display(3) ;break;
}
P3=0xfd; //扫描第二行
switch(P3)
{ case 0xed: display(4) ;break;
case 0xdd: display(5) ;break;
case 0xbd:display(6) ;break;
case 0x7d: display(7) ;break;
}
P3=0xfb;
switch(P3)
{ case 0xeb: display(8) ;break;
case 0xdb : display(9) ;break;
case 0xbb: display(10) ;break;
case 0x7b: display(11) ;break;
}
P3=0xf7; //扫描第四行;
switch(P3)
{ case 0xe7: display(12) ;break;
case 0xd7 : display(13) ;break;
case 0xb7 : display(14) ;break;
case 0x77: display(15) ;break;
}
}
}