/* 电池内阻测试仪源程序 *//* 内部RC振荡器: 8M *//* 作者:江苏南通 吴汉清 *//* Email: ntwhq@tom.com *//* 使用共阳数码管 */#include #include #define uchar unsigned char#define uint unsigned intuchar t,j,x;uint n,u1,u2;unsigned long temp;uchar DispTab[10]={0x81,0xcf,0x92,0x86,0xcc,0xa4,0xa0,0x8f,0x80,0x84};//字形码uchar BitTab[4]={0xef,0xf7,0xfb,0xfd};//位驱动码uchar Data[]={0,0,0,0}; //显示初始值//延时函数void DelayMs(uint i) //Ms级延时,参数i为延时时间{ uint m; for(;i!=0;i--) {for(m=1142;m!=0;m--) ;}}//显示函数void Display(uchar *p){ t=BitTab[j]; //取位值 PORTC=PORTC|0x1e; //PC1-PC4送1 PORTC=PORTC&t; //PC1-PC4输出取出的位值 t=p[j]; //取出待显示的数 t=DispTab[t]; //取字形码 PORTB=t; //字型码由PB输出显示 if(j==0) PORTB=PORTB&0x7f; j++; //j作为数码管的计数器,取值0-3,显示程序通过它确认显示哪个数码管 if(j==4) j=0;}