- 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 );
- }
|