/* 电池内阻测试仪源程序 */
/* 内部RC振荡器: 8M */
/* 作者:江苏南通 吴汉清 */
/* Email: ntwhq@tom.com */
/* 使用共阳数码管 */
#include <iom8V.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
uchar 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;
}