#include"reg52.h"
#define uchar unsigned char
#define uint unsigned int
unsigned char code sy [] ={
0x00,0XFF,0XFF,0X00,0xFF,0xFF,0x80,0x00,0xBB,0xDF,0xA5,0xEF,
} ;
/*****n(us)延时子程序*****/
void DelayUs(uint N)
{
uint x ;
for(x=0;x<=N;x++);
}
void Display(uint i)
{
P2=sy[i*2]; //字幕数据低位送显示
P0=sy[i*2+1]; //字数据高位送显示 //这里行和列 都是IO口独立驱动的LED
DelayUs(210); //延时让LED亮起来 每列延时的时间
P2=0XFF;
P0=0XFF;
}
/*****主函数*****/
void main(void)
{
uint i=0,j=0 ;
P1=0XFF;
P2=0XFF;
P0=0XFF;
while(1)
{
for(i=0;i<4;i++)
Display(i);
}
}
为什么P2口输出的始终是i=0时的数据,不会输出其他数据呢? |