{ }
else
zong_jia = bai_3l_price + (shi * 60 + fen - 3) *
bai_wait_price;
} else { }
//3公里外的价格
if(fen <= 3)
zong_jia = wan_3l_price;
zong_jia = wan_3l_price + (shi * 60 + fen - 3) * else
bai_wait_price;
}else
if(flag_bai_hei == 0) { } else { }
if(fen <= 3)
zong_jia = wan_3l_price + wan_3w_price * (distance if(fen <= 3)
zong_jia = bai_3l_price + bai_3w_price * (distance
- 30) / 10 ;
else
zong_jia = bai_3l_price + bai_3w_price * (distance
- 30) / 10 + (shi * 60 + fen - 3) * bai_wait_price;
- 30) / 10 ;
else
zong_jia = wan_3l_price + wan_3w_price * (distance
- 30) / 10 + (shi * 60 + fen - 3) * wan_wait_price;
25
}
}
}
if(flag_bai_hei == 0)
write_sfm2_dian(2,9,bai_3w_price); write_sfm2_dian(2,9,wan_3w_price); else
write_sfm2(2,0,shi); write_sfm2(2,3,fen); write_sfm2(2,6,miao); write_sfm4(1,10,zong_jia); write_sfm4(1,0,distance); write_zifu(1,15,0x5c); //¥ write_zifu(2,12,0x5c); //¥
/*********************显示函数******************/ void jishu_chashu() {
if((flag_1s == 1) && (flag_time_en == 1)) {
flag_1s = 0; miao++; if(miao >= 60) {
miao = 0; fen ++; if(fen >= 60) {
fen = 0; shi++; if(shi >= 24) { }
shi = 0;
26
}
}
}
}
/*************定时器0初始化程序***************/ void time_init() { }
void main() { }
init_1602();
init_1602_dis_csf(); zidong_chushifa_iic(); read_iic_data(); time_init(); init_menu(); while(1) { }
key();
if(key_can < 20)
key_with();
menu_dis();
EA = 1; //开总中断
TMOD = 0X01; //定时器0、工作方式1 ET0 = 1; TR0 = 1;
//开定时器0中断 //允许定时器0定时
jishu_chashu();
27
/*************定时器0中断服务程序***************/ void time0_int() interrupt 1 { static uchar value; TH0 = 0x3c;
TL0 = 0xb0; // 50ms value ++;
if(value % 6 == 0) flag_300ms = 1; if(value >= 20)
{ flag_1s = 1; value = 0; }
}
28
附录2 元器件清单
表3元器件清单 名称 电阻 规格 200? 1K 10K 100? 20pF 10μF 12MHz STC89C52 数量 1个 1个 5个 2个 2个 2个 3个 7个 1个 1个 1块 1块 备注 极性电容 内带字符库 电容 发光二极管 按键 直流电机 晶振 芯片 1602液晶
29