#include <REG52.H>
#define uchar unsigned char
#define uint unsigned int
int xscode[6]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d};//显示存储区
int codetab[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴级数码管段选码{0-9}
int zxscode[]=
{0x1f,0x2f,0x37,0x3b,0x3d,0x3e};//共阴级数码管片选码
int i,j,flag;
uint s=0;
uint m=0;
uint h=0;
int secflag=0;//时间标志位
int sec=0;//时间中断标志位
int kk=0;//路程x
int jkk=0;//费用
int jflag=0;//费用标志位
int kflag=0;//路程标志位
int zdflag=0;//中断标志位
int kilo=0;//路程s
int dj=4;//路程单价标志位
int djflag=0;//路程单价标志位
sbit key1=P1^0;//启动/停止
sbit key2=P1^1;//日夜切换
sbit key3=P1^2;//清零
sbit lcjj=P1^3;//路程计价
sbit sj=P1^4; //显示时间/路程
sbit sjjj=P1^6;//时间计价
sbit key5=P3^4;//外部脉冲
void delay1(xms)// 延时程序
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void xianshi()//显示程序
{
for(flag=0;flag<6;flag++)
{
P0=xscode[flag];
P2=zxscode[flag];
delay1(2);
P0=0;
}
}
void jijia()//按路程计价程序
{
if(kk<=3)
{jkk=8;//起步价
kk=3; |