uchar dsp_data[2]; //dsp_data[0]为个位数值,dsp_data[1]为十位数值,
void display(uchar* data )//
{
dsp_data[0]=*data;
dsp_data[1]=*(data+1);
}
void display_proc(void)//中断调用,每隔5mS执行一次,每次只显示一位
{
static uchar dsp_bit=1; //0表示显示个位 1表示显示十位
d0=0;
P0=tab[dsp_data[dsp_bit]];
d0=1;
P0=0xff;
//循环显示每个位
if(0==dsp_bit) dsp_bit=1;
else dsp_bit--;
}
根据楼主的代码改写的关于显示的驱动.
下面是使用示范
//使用示范
void display_num(uchar* num)//
{
uchar data[2];
data[0]=num%10;
data[1]=num/10;
display( data );
}
|