把共阴数码管改成共阳数码管后下面的程序怎么修改
#include <AT89X51.H> // 包含51单片机寄存器定义的头文件unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char codedispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00};unsigned char dispbuf[8]={10,10,10,10,10,0,0,0};unsigned char dispcount;unsigned char getdata;unsigned int temp;long int i;unsigned int R1; sbit ST=P3^0; //定义管脚sbit OE=P3^1; //定义管脚sbit EOC=P3^2; //定义管脚sbit CLK=P3^3; //定义管脚 void main(void){ST=0;//初始化时,使ST和OE信号全为低电平OE=0; ET0=1; //允许定时器T0中断 ET1=1; //允许定时器T1中断 EA=1; //允许中断 TMOD=0x12; //使用定时器T1的工作方式1及T0的工作方式2 TH0=216; //定时器T0的高8位赋初值 TL0=216; //定时器T0的低8位赋初值 TH1=(65536-5000)/256; //定时器T1的高8位赋初值 TL1=(65536-5000)%256; //定时器T1的低8位赋初值 TR1=1; //启动定时器T1 TR0=1; //启动定时器T0 ST=1; //产生启动转换的正脉冲信号 ST=0; while(1) //无限循环等待中断 { if(EOC==1) { OE=1; getdata=P0; OE=0; i=getdata*196; dispbuf[5]=i/10000; i=i%10000; dispbuf[6]=i/1000; i=i%1000; dispbuf[7]=i/100; ST=1; ST=0; } }} void t0(void) interrupt 1 using 0 //定时器0 中断服务{ CLK=~CLK; //定时取反一次,制造脉冲} void t1(void) interrupt 3 using 0 //定时器1 中断服务{ TH1=(65536-6000)/256; TL1=(65536-6000)%256; P2=0xff; P1=dispcode[dispbuf[dispcount]]; //数码管的字段码 P2=dispbitcode[dispcount]; //扫描数码管的每一位 if(dispcount==5) { P1=P1 |0x80; } dispcount++; if(dispcount==8) { dispcount=0; } }