资源描述:
《出租车计价器源程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/************************************************课程设计出租车计价器C51源程序,实现出租车计*价器基本功能。**版权声明:*未经本人允许不得应用于商业用途,可用*于交流学习。**Sunday,July012012*xfortune@163.com**********************************************/#include#include#include#defineucharunsignedchar
2、#defineuintunsignedint#defineNOP();{nop();nop();nop();nop();};#defineOP_WRITE0xa0//器件地址以及写入操作#defineOP_READ0xa1//器件地址以及读取操作#definekey_set0//=P3^3;#definekey_down1//=P3^4;#definekey_up2//=P3^5;#definekey_ok3//=P3^6;/**USR_DAT,PRESET_DATsaveddaytime:distance,price,night:dista
3、nce,priceTIME:hour,min,sec*/uchardataUSR_DAT[4]={3,2,3,6};//ucharPRESET_DAT[4]={3,2,3,3};uchardataITEMS[3]={0,0,0};//存放-里程,单价,费用uchardataTIME[3]={0,0,12};//存放时间-秒,分,时ucharcycle_time;//100->考虑到5km/h,运转周期是1.44s-->0.02s计数72次uintstop_time,stop_time_all,mileometer,temp_s,speed;u
4、charcycle_time_info,lock=1,lock_items=1;//信号量;ucharkey_pressed_time,key_num;//set按键按下次数ucharhour,min,sec,count;ucharcodeSTR1[]="Time:";//ucharcodeSPACE[]="";//ucharcodeSTR2[]="S:P:A:";//里程,单价,应收取费用ucharcodeSTR3[]="Stoptime:min";ucharcodeSTR_SET[]="Setting";ucharcodeSTR_SET_
5、HOUR[]="Settinghour";ucharcodeSTR_SET_MIN[]="Settingmin";ucharcodeSTR_SET_PRICE[]="Settingprice";ucharcodeSTR_SET_START[]="Settingstart";ucharcodeDAY[]="Day:";ucharcodeNIGHT[]="Night:";ucharcodeSTR_RST[]="Reset?No<>Y";sbitlcd_rs=P2^0;sbitlcd_rw=P2^1;sbitlcd_e=P2^2;sbitLED=P
6、1^1;sbitSDA=P1^7;sbitSCL=P1^6;voiddelay(ucharz);voidlcd_write_cmd(ucharcmd);voidlcd_write_dat(uchardat);voidlcd_init();voidlcd_display(ucharaddr,uchardat);voidlcd_display_2(ucharaddr,uchardat);voidlcd_display_3(ucharaddr,uchardat);voidlcd_write_str(ucharaddr,uchar*str);void
7、time0_init();voidtime1_init();voiddisplay_time();voiddisplay_reset();voiddisplay_items();voiddisplay_set_time();voiddisplay_stop_time();voidex_int_init();voidset_items();ucharkey_scan();voidkey_set_dat();/*24c02相关*/voidstart();voidstop();ucharshin();bitshout(ucharwrite_data
8、);voidwrite_byte(ucharaddr,ucharwrite_data);ucharread_current();ucharread_addr(uch